diff --git a/.codespellrc b/.codespellrc
new file mode 100644
index 00000000..09f2ea01
--- /dev/null
+++ b/.codespellrc
@@ -0,0 +1,11 @@
+# Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/spell-check/.codespellrc
+# See: https://github.com/codespell-project/codespell#using-a-config-file
+[codespell]
+# In the event of a false positive, add the problematic word, in all lowercase, to a comma-separated list here:
+ignore-words-list = licence,grey,iterm,parm,ser,som,technic
+skip = *.pdf,./.git,./.licenses,__pycache__,node_modules,./go.mod,./go.sum,./package-lock.json,./poetry.lock,./yarn.lock
+builtin = clear,informal,en-GB_to_en-US
+check-filenames =
+check-hidden =
+
+# EOF
diff --git a/.github/workflows/spell-check.yml b/.github/workflows/spell-check.yml
new file mode 100644
index 00000000..ec7f351d
--- /dev/null
+++ b/.github/workflows/spell-check.yml
@@ -0,0 +1,24 @@
+name: Spell Check
+
+# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows
+on:
+ push:
+ pull_request:
+ schedule:
+ # Run every Tuesday at 8 AM UTC to catch new misspelling detections resulting from dictionary updates.
+ - cron: "0 8 * * TUE"
+ workflow_dispatch:
+ repository_dispatch:
+
+jobs:
+ spellcheck:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4
+
+ - name: Spell check
+ uses: codespell-project/actions-codespell@v2
+
+# EOF
diff --git a/README.md b/README.md
index 2009e431..51c1ea25 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,7 @@
[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-908a85?logo=gitpod)](https://gitpod.io/#https://github.com/B-AROL-O/ARNEIS)
[![GitHub Super-Linter](https://github.com/B-AROL-O/ARNEIS/workflows/Lint%20Code%20Base/badge.svg)](https://github.com/marketplace/actions/super-linter)
+[![Spell Check](https://github.com/B-AROL-O/ARNEIS/actions/workflows/spell-check.yml/badge.svg)](https://github.com/B-AROL-O/ARNEIS/actions/workflows/spell-check.yml)
[![ARNEIS logo](docs/images/arneis-logo.png)](https://arneis.readthedocs.io/)
diff --git a/code/poweredupapp-flash-move/README.md b/code/poweredupapp-flash-move/README.md
index 44da4ef2..e577ea17 100644
--- a/code/poweredupapp-flash-move/README.md
+++ b/code/poweredupapp-flash-move/README.md
@@ -7,7 +7,7 @@ This folder contains a simple project for the [LEGO® Powered Up](https://pla
## Prerequisites
* [ ] A mobile device (phone or tablet) running Android
-* [ ] One LEGO® Technics Bluetooth Hub (Item no. [bb0961c01](https://www.bricklink.com/v2/catalog/catalogitem.page?P=bb0961c01&idColor=86))
+* [ ] One LEGO® Technic® Bluetooth Hub (Item no. [bb0961c01](https://www.bricklink.com/v2/catalog/catalogitem.page?P=bb0961c01&idColor=86))
* [ ] One LEGO® Powered Up L Motor (Item no. [bb0959c01](https://www.bricklink.com/v2/catalog/catalogitem.page?P=bb0959c01&idColor=85))
* [ ] 6x AA fully charged batteries
diff --git a/docs/architecture/arneis-swarch.md b/docs/architecture/arneis-swarch.md
index 9389b0f7..1701d822 100644
--- a/docs/architecture/arneis-swarch.md
+++ b/docs/architecture/arneis-swarch.md
@@ -43,6 +43,6 @@ The following services are expected to be deployed on the ARNEIS cluster:
* ARNEIS backend service ([Node.js](https://nodejs.org/) + [Koa](https://koajs.com/) - possibly based on some publicly available boilerplate)
* ARNEIS customer frontend (static site developed in [Next.js](https://nextjs.org/))
* Service running on the RPi4 for controlling the [OAK-D-Lite](https://docs.luxonis.com/projects/hardware/en/latest/pages/DM9095.html) (Python3?)
-* Service running on the RPi4 for controlling the [LEGO® Technics Bluetooth Hub](https://www.bricklink.com/v2/catalog/catalogitem.page?P=bb0961c01&idColor=86#T=C&C=86) (Python3?)
+* Service running on the RPi4 for controlling the [LEGO® Technic® Bluetooth Hub](https://www.bricklink.com/v2/catalog/catalogitem.page?P=bb0961c01&idColor=86#T=C&C=86) (Python3?)
diff --git a/docs/arneis-social-media.md b/docs/arneis-social-media.md
index 0b8aeff8..7783e6b9 100644
--- a/docs/arneis-social-media.md
+++ b/docs/arneis-social-media.md
@@ -64,7 +64,7 @@ Date | Coverage | Summary
2022-03-21 | [dev-cw11](https://gmacario.github.io/posts/2022-03-21-arneis-dev-cw11) | B-AROL-O Team at the OpenCV Weekly Webinar
Working on a synthetic dataset for training the ARNEIS NN
Built a second ARNEIS MOC
2022-03-14 | [dev-cw10](https://gmacario.github.io/posts/2022-03-14-arneis-dev-cw10) | New release of the LEGO® design for ARNEIS
Progress in controlling the LEGO® Powered Up devices
Multi-agent support to the Kubernetes cluster
2022-03-07 | [dev-cw09](https://gmacario.github.io/posts/2022-03-07-arneis-dev-cw09) | We got a logo for the ARNEIS Project
Released code to pretty-print LEGO BOM
ARNEIS will be showcased at San Mauro Brick Show 2022
-2022-02-28 | [dev-cw08](https://gmacario.github.io/posts/2022-02-28-arneis-dev-cw08) | Talks with Piemonte Bricks LUG
The MOC is taking shape
First attempts at programming LEGO® Technics Bluetooth Hubs
+2022-02-28 | [dev-cw08](https://gmacario.github.io/posts/2022-02-28-arneis-dev-cw08) | Talks with Piemonte Bricks LUG
The MOC is taking shape
First attempts at programming LEGO® Technic® Bluetooth Hubs
2022-02-21 | [dev-cw07](https://gmacario.github.io/posts/2022-02-21-arneis-dev-cw07) | First assembly of the ARNEIS Conveyor with LEGO®
Our OpenCV Weekly Webinar postponed
First release of the ARNEIS Software Architecture
2022-02-14 | [dev-cw06](https://gmacario.github.io/posts/2022-02-14-arneis-dev-cw06) | Our LEGO 42100 Set should eventually arrive
First shot at ARNEIS System Architecture
And the Kubernetes cluster is alive
2022-02-07 | [dev-cw05](https://gmacario.github.io/posts/2022-02-07-arneis-dev-cw05) | OAK-D-Lite LEGO® mechanical adapter
Motorized Bottle Conveyor (2022-02-06)
Steps for training our custom Neural Network
diff --git a/docs/bibliography.md b/docs/bibliography.md
index cf6b25d6..269e8e6d 100644
--- a/docs/bibliography.md
+++ b/docs/bibliography.md
@@ -34,7 +34,7 @@
* [LEGO® Powered Up Connector](https://www.biasedlogic.com/index.php/lego-powered-up-connector/) - Marek's microsite, 2022-09-26
* [LEGO® Powered Up simple code block guide](https://racingbrick.com/powered-up-code-block-guide/) - RackingBrick, 2020-04-29
* [LEGO® Powered Up extended code block guide](https://racingbrick.com/powered-up-code-block-guide-full/) - RackingBrick, 2020-04-29
-* [LEGO® Set 42100 (Liebherr R 9800 Excavator)](https://arneis.readthedocs.io/en/latest/lego-set-42100) includes 2x [LEGO® Technics Bluetooth Hub](https://www.bricklink.com/v2/catalog/catalogitem.page?P=bb0961c01#T=C) (LEGO® Part bb0961c01).
+* [LEGO® Set 42100 (Liebherr R 9800 Excavator)](https://arneis.readthedocs.io/en/latest/lego-set-42100) includes 2x [LEGO® Technic® Bluetooth Hub](https://www.bricklink.com/v2/catalog/catalogitem.page?P=bb0961c01#T=C) (LEGO® Part bb0961c01).
* [Powered Up - A tear down...](https://www.eurobricks.com/forum/index.php?/forums/topic/162288-powered-up-a-tear-down/) - Eurobricks Forum, 2018-06-07
* [Programming the Lego NXT using Mathematica with Math4NXT](http://web5.uottawa.ca/www5/dcousineau/home/Others/Math4NXT/index.html) by Denis Cousineau
* [Smart Robotics with LEGO MINDSTORMS Robot Inventor](https://www.packtpub.com/product/smart-robotics-with-lego-mindstorms-robot-inventor/9781800568402) by Aaron Maurer. Packt Publishing, May 2021
@@ -44,7 +44,7 @@
* **BrickNil**: A Python async library for PoweredUp/Boost
- GitHub repository:
- Discussion on Eurobricks.com:
-* [Controlling the Lego Technics Hub (Hub 2) via Bluetooth (btle) using a Raspberry Pi 4B](https://dietrichchristopeit.github.io/lego-pi-docs/#controlling-the-lego-technics-hub-hub-2-via-bluetooth-btle-using-a-rasperry-pi-4b)
+* [Controlling the Lego Technic Hub (Hub 2) via Bluetooth (btle) using a Raspberry Pi 4B](https://dietrichchristopeit.github.io/lego-pi-docs/#controlling-the-lego-technics-hub-hub-2-via-bluetooth-btle-using-a-rasperry-pi-4b)
* Article: [Hack Lego Boost with Raspberry Pi](https://magpi.raspberrypi.com/articles/hack-lego-boost-with-raspberry-pi) - The MagPi Magazine, 2019-04-01
* Tutorial: [How to export/import a project in the Powered Up app on Android](https://racingbrick.com/2020/01/how-to-export-import-a-project-in-the-powered-up-app-on-android/) - RacingBrick, 2020-01-22
* Article: [How to Set Up Bluetooth on the Raspberry Pi for a LEGO@reg; Spike](https://medium.com/jj-innovative-results/how-to-set-up-bluetooth-on-the-raspberry-pi-for-a-lego-spike-61b137f98673) - Jason Jurotich on Medium.com, 2020-05-23
diff --git a/docs/howto/howto-configure-google-analytics.md b/docs/howto/howto-configure-google-analytics.md
index 4ff5258f..36849336 100644
--- a/docs/howto/howto-configure-google-analytics.md
+++ b/docs/howto/howto-configure-google-analytics.md
@@ -2,7 +2,7 @@
## Introduction
-This document explains how to configure [Google Analytics 4](https://analytics.google.com/analytics/web/?) and integrate it into your existing web site, for instance the one created followint the [HOWTO Create a Landing Page on Netlify](howto-create-landing-page-netlify.md).
+This document explains how to configure [Google Analytics 4](https://analytics.google.com/analytics/web/?) and integrate it into your existing web site, for instance the one created following the [HOWTO Create a Landing Page on Netlify](howto-create-landing-page-netlify.md).
## Reference documents
@@ -29,7 +29,7 @@ Presenters:
-In this follow up session, we'll explore workspaces in GA4 and you'll learn how to build custom tables and visualisations of your data
+In this follow up session, we'll explore workspaces in GA4 and you'll learn how to build custom tables and visualizations of your data
Presenters:
diff --git a/docs/howto/howto-control-rpi-poweredup.md b/docs/howto/howto-control-rpi-poweredup.md
index 1de53c1f..1c6baae3 100644
--- a/docs/howto/howto-control-rpi-poweredup.md
+++ b/docs/howto/howto-control-rpi-poweredup.md
@@ -71,7 +71,7 @@ The app will also check the version of the firmware on the Hub, and propose the
Repeat the steps for the second hub in the set.
-After all the checks are succesful, the app is ready and can be used to control the excavator and have hours of entertainment with the LEGO set.
+After all the checks are successful, the app is ready and can be used to control the excavator and have hours of entertainment with the LEGO set.
## Using Pybricks
@@ -95,7 +95,7 @@ If you use the City Hub, you must unplug all motors and sensors. Follow these st
### Load some Python program
-From the [Pybricks Code](https://code.pybricks.com/) web interface, create or open a MicroPython source file and upload it to the LEGO Technics BT Hub. You may find some examples under the `/code` folder of the [ARNEIS repository on GitHub](https://github.com/B-AROL-O/ARNEIS).
+From the [Pybricks Code](https://code.pybricks.com/) web interface, create or open a MicroPython source file and upload it to the LEGO Technic BT Hub. You may find some examples under the `/code` folder of the [ARNEIS repository on GitHub](https://github.com/B-AROL-O/ARNEIS).
## Controlling from a Raspberry Pi
@@ -203,7 +203,7 @@ Some quick links:
- [#369 Definitive Guide to Attaching Sensors to the Raspberry Pi (Tutorial)](https://www.youtube.com/watch?v=gnE4v-PcYKQ) - YouTube video by Andreas Speiss, 2021-01-24
-On the other hand, this option has the disadvantage that the feedback loop sensor/actuator will be slower since a longer path (Sensor --> Raspberry Pi --> BLE --> Technics Hub --> Actuator) should be followed.
+On the other hand, this option has the disadvantage that the feedback loop sensor/actuator will be slower since a longer path (Sensor --> Raspberry Pi --> BLE --> Technic Hub --> Actuator) should be followed.
### Input sensors connected to the LEGO® Powered Up Hub
@@ -213,7 +213,7 @@ At the moment only few types of input sensors with Powered Up interface are avai
- [LEGO WeDo Tilt Sensor](https://www.brickowl.com/catalog/lego-wedo-tilt-sensor-63522) - Code 63522
- Infrared Sensor - Code TODO
-Those sensors are directly usable with LEGO® Technics BT Hub using different languages, including [Pybricks](https://pybricks.com/):
+Those sensors are directly usable with LEGO® Technic® BT Hub using different languages, including [Pybricks](https://pybricks.com/):
-
-
@@ -221,7 +221,7 @@ Those sensors are directly usable with LEGO® Technics BT Hub using different
As an added bonus, the [ColorDistanceSensor](https://docs.pybricks.com/en/stable/pupdevices/colordistancesensor.html#pybricks.pupdevices.ColorDistanceSensor) can send infrared signals to control Power Functions infrared receivers. You can use this technique to control medium, large, extra large, and train motors. You can find more details at .
-Provided that the available sensors are good enough for the use case, this option is probably the one which guarantees the quickest feedback loop (Sensor --> Technics Hub --> Actuator)
+Provided that the available sensors are good enough for the use case, this option is probably the one which guarantees the quickest feedback loop (Sensor --> Technic Hub --> Actuator)
### Input sensors connected to the SBrick Plus
diff --git a/docs/howto/howto-install-depthai-on-rpi.md b/docs/howto/howto-install-depthai-on-rpi.md
index 1c25288e..05d3fdfc 100644
--- a/docs/howto/howto-install-depthai-on-rpi.md
+++ b/docs/howto/howto-install-depthai-on-rpi.md
@@ -80,7 +80,7 @@ sudo dmesg -w
Connect the OAK-D-Lite to one USB 3.0 port of the Raspberry Pi using a USB 3.0 cable (USB-A to USB-C).
-As soon as the OAK-D-Lite gets recognize the following messages should be displyed on the kernel log:
+As soon as the OAK-D-Lite gets recognize the following messages should be displayed on the kernel log:
```text
[ 5253.298901] usb 1-1.2: new high-speed USB device number 4 using xhci_hcd
diff --git a/docs/howto/howto-install-k3s-for-arneis.md b/docs/howto/howto-install-k3s-for-arneis.md
index cd3c142a..751130a3 100644
--- a/docs/howto/howto-install-k3s-for-arneis.md
+++ b/docs/howto/howto-install-k3s-for-arneis.md
@@ -924,7 +924,7 @@ root@arneis-vm01:~# systemctl status k3s.service
Mar 09 10:50:27 arneis-vm01 k3s[1288]: E0309 10:50:27.285999 1288 remote_runtime.go:334] "ContainerStatus from runtime service failed" err="rpc error: code = NotFound desc = an error occ>
Mar 09 10:50:27 arneis-vm01 k3s[1288]: I0309 10:50:27.286030 1288 kuberuntime_gc.go:361] "Error getting ContainerStatus for containerID" containerID="8038952f3c91bcd4ae626d9886bd95dd14ce>
Mar 09 10:56:50 arneis-vm01 k3s[1288]: I0309 10:56:50.155034 1288 topology_manager.go:200] "Topology Admit Handler"
-Mar 09 10:56:50 arneis-vm01 k3s[1288]: I0309 10:56:50.200279 1288 reconciler.go:225] "operationExecutor.VerifyControllerAttachedVolume started for volume \"kube-api-access-kq6v2\" (Uniqu>
+Mar 09 10:56:50 arneis-vm01 k3s[1288]: I0309 10:56:50.200279 1288 reconciler.go:225] "operationExecutor.VerifyControllerAttachedVolume started for volume \"kube-api-access-kq6v2\" (Unique>
Mar 09 11:00:30 arneis-vm01 k3s[1288]: time="2022-03-09T11:00:30Z" level=info msg="certificate CN=k3s,O=k3s signed by CN=k3s-server-ca@1646822958: notBefore=2022-03-09 10:49:18 +0000 UTC no>
Mar 09 11:00:30 arneis-vm01 k3s[1288]: time="2022-03-09T11:00:30Z" level=info msg="Updating TLS secret for k3s-serving (count: 10): map[listener.cattle.io/cn-10.0.0.4:10.0.0.4 listener.catt>
Mar 09 11:00:30 arneis-vm01 k3s[1288]: time="2022-03-09T11:00:30Z" level=info msg="Active TLS secret k3s-serving (ver=855) (count 10): map[listener.cattle.io/cn-10.0.0.4:10.0.0.4 listener.c>
diff --git a/docs/howto/howto-install-micropython-nano33ble.md b/docs/howto/howto-install-micropython-nano33ble.md
index ffdba208..0510d91b 100644
--- a/docs/howto/howto-install-micropython-nano33ble.md
+++ b/docs/howto/howto-install-micropython-nano33ble.md
@@ -60,7 +60,7 @@ Arduino IDE: Sketch > Upload
Wait until the sketch has been successfully uploaded to the Arduino Nano 33 BLE.
The LED on the board should blink every second.
-Try modifiying the sketch changing the value in the `delay(...)` statements, then upload the new sketch and make sure the blink frequency changes accordingly.
+Try modifying the sketch changing the value in the `delay(...)` statements, then upload the new sketch and make sure the blink frequency changes accordingly.
### Installing the Core
diff --git a/docs/howto/howto-install-raspios64.md b/docs/howto/howto-install-raspios64.md
index a62d8c73..14a48160 100644
--- a/docs/howto/howto-install-raspios64.md
+++ b/docs/howto/howto-install-raspios64.md
@@ -150,7 +150,7 @@ Turn on the power supply and wait for Raspberry Pi OS to boot.
>
> Welcome to the Raspberry Pi Desktop!
>
-> Before you start usin it, there are a few things to set up.
+> Before you start using it, there are a few things to set up.
>
> Press 'Next' to get started.
>
@@ -189,7 +189,7 @@ Fill in the form as shown above, then click "Next"
>
> * [x] Hide characters
>
-> Press 'Next' to activate your new passowrd.
+> Press 'Next' to activate your new password.
>
> [Back](https://github.com/) | [Next](https://github.com/)
diff --git a/docs/howto/howto-prepare-rpi4b-for-arneis.md b/docs/howto/howto-prepare-rpi4b-for-arneis.md
index ef342f97..e55dae9b 100644
--- a/docs/howto/howto-prepare-rpi4b-for-arneis.md
+++ b/docs/howto/howto-prepare-rpi4b-for-arneis.md
@@ -74,7 +74,7 @@ Turn on the power supply and wait for Raspberry Pi OS to boot.
>
> Welcome to the Raspberry Pi Desktop!
>
-> Before you start usin it, there are a few things to set up.
+> Before you start using it, there are a few things to set up.
>
> Press 'Next' to get started.
>
@@ -113,7 +113,7 @@ Fill in the form as shown above, then click "Next"
>
> * [x] Hide characters
>
-> Press 'Next' to activate your new passowrd.
+> Press 'Next' to activate your new password.
>
> [Back](https://github.com/) | [Next](https://github.com/)
diff --git a/docs/howto/howto-train-deploy-NN.md b/docs/howto/howto-train-deploy-NN.md
index 3e2db658..028fe5bf 100644
--- a/docs/howto/howto-train-deploy-NN.md
+++ b/docs/howto/howto-train-deploy-NN.md
@@ -52,7 +52,7 @@ Python
This is not required to make it works (I believe) but as I wanted to know where every file was downloaded, I kept everything together so it's more easy to manage or delete if needed.
-The notebook downloads library, folders with photos, programs, ... For several Gb, so be adviced that you may need a flat internet! **Don't do it on mobile network**.
+The notebook downloads library, folders with photos, programs, ... For several Gb, so be advised that you may need a flat internet! **Don't do it on mobile network**.
You may encounter some trouble running this code
```python
@@ -73,7 +73,7 @@ The correct result of that cell should look like this with a green check under:
object_detection/protos/input_reader.proto: warning: Import object_detection/protos/image_resizer.proto but not used.
```
-The following cell generate the **label_map.pbtxt** as well as **test, train records**. The first file will be required to run the model with our code. It cointains the names of the "**ITEMS**" on which the NN will be trained for.
+The following cell generate the **label_map.pbtxt** as well as **test, train records**. The first file will be required to run the model with our code. It contains the names of the "**ITEMS**" on which the NN will be trained for.
You may encounter some problems running
```python
@@ -115,7 +115,7 @@ with open(pipeline_fname, 'w') as f:
f.write(s)
```
-The error says something like *'fine_tune_checkpoint: ".*?"'* is not a variable, so instead of processing that with regex, it search for a variable with that name.
+The error says something like *'fine_tune_checkpoint: ".*?"'* is not a variable, so instead of processing that with regular expression, it search for a variable with that name.
Which I don't know how to fix yet, aside from changing VM or PC...
I didn't use the part of code with Tensorboard. I didn't care to try it.
diff --git a/docs/howto/howto-use-rclone-with-cubbit-ds3.md b/docs/howto/howto-use-rclone-with-cubbit-ds3.md
index 703158ca..b6b363a0 100644
--- a/docs/howto/howto-use-rclone-with-cubbit-ds3.md
+++ b/docs/howto/howto-use-rclone-with-cubbit-ds3.md
@@ -322,10 +322,8 @@ Result:
gmaca@alpha MINGW64 ~/Dropbox/Cubbit_MIRROR
$ rclone sync -P . cubbit:mirror-from-dropbox
...
-2023/11/09 22:21:17 ERROR : Win10-images/Win10_21H1_Italian_x64.iso: Failed to copy:
-multi-thread copy: failed to open source: The file cannot be accessed by the system.
-2023/11/09 22:21:18 ERROR : ARCHIVE/2023-07-15-google-takeout/Tutti i messaggi compre
-si Spam e Cestino-005.mbox: Failed to copy: multi-thread copy: failed to open source:
+2023/11/09 22:21:17 ERROR : Win10-images/Win10_21H1_Italian_x64.iso: Failed to copy: multi-thread copy: failed to open source: The file cannot be accessed by the system.
+2023/11/09 22:21:18 ERROR : ARCHIVE/2023-07-15-google-takeout/Tutti i messaggi compresi Spam e Cestino-005.mbox: Failed to copy: multi-thread copy: failed to open source:
The file cannot be accessed by the system.
Transferred: 3.285 GiB / 211.470 GiB, 2%, 241.274 KiB/s, ETA 1w3d11h
Errors: 4 (retrying may help)
diff --git a/mocs/project/README.md b/mocs/project/README.md
index bb0a49fc..155db821 100644
--- a/mocs/project/README.md
+++ b/mocs/project/README.md
@@ -9,7 +9,7 @@ Here is the LEGO® MOC (alias for _My Own Creation_) used for the ARNEIS proj
> Resource | Description | Used For
> ----|----|-----
> [Bricklink Studio](https://www.bricklink.com/v3/studio/download.page) | Full featured CAD application| Project design, BOM creation, rendering, instruction manual editing, export to `ldr`
-> [Bricklink PartDesigner](https://www.bricklink.com/v3/studio/partdesigner.page) | Single LEGO® Part Editor | Creation of parts still not avalaible in _Bricklink Studio_. Correction of parts not working whern exported to `ldr`
+> [Bricklink PartDesigner](https://www.bricklink.com/v3/studio/partdesigner.page) | Single LEGO® Part Editor | Creation of parts still not available in _Bricklink Studio_. Correction of parts not working whern exported to `ldr`
> [LeoCAD](https://www.leocad.org) | Open Source CAD application | Check correctness of `ldr` files
> [LDraw](https://www.ldraw.org) | Centralized resources for LEGO® CADs | Reference for getting last _parts_ used in _Bricklink PartDesigner_
diff --git a/mocs/studies/README.md b/mocs/studies/README.md
index 202ffbe2..1001595e 100644
--- a/mocs/studies/README.md
+++ b/mocs/studies/README.md
@@ -9,7 +9,7 @@ In this folder are stored various studies as LEGO® MOC (alias for _My Own Cr
> Resource | Description | Used For
> ----|----|-----
> [Bricklink Studio](https://www.bricklink.com/v3/studio/download.page) | Full featured CAD application| Project design, BOM creation, rendering, instruction manual editing, export to `ldr`
-> [Bricklink PartDesigner](https://www.bricklink.com/v3/studio/partdesigner.page) | Single LEGO® Part Editor | Creation of parts still not avalaible in _Bricklink Studio_. Correction of parts not working whern exported to `ldr`
+> [Bricklink PartDesigner](https://www.bricklink.com/v3/studio/partdesigner.page) | Single LEGO® Part Editor | Creation of parts still not available in _Bricklink Studio_. Correction of parts not working whern exported to `ldr`
> [LeoCAD](https://www.leocad.org) | Open Source CAD application | Check correctness of `ldr` files
> [LDraw](https://www.ldraw.org) | Centralized resources for LEGO® CADs | Reference for getting last _parts_ used in _Bricklink PartDesigner_
diff --git a/mocs/studies/camera-support/README.md b/mocs/studies/camera-support/README.md
index c2456fab..d6425f9c 100644
--- a/mocs/studies/camera-support/README.md
+++ b/mocs/studies/camera-support/README.md
@@ -1,6 +1,6 @@
# OAK-D-Lite LEGO® mechanical adapter
-Main goal of this project is to construct a mechanical support for the [OAK-D-Lite](https://docs.luxonis.com/projects/hardware/en/latest/pages/DM9095.html#dm9095) camera, by using only LEGO® Technics parts.
+Main goal of this project is to construct a mechanical support for the [OAK-D-Lite](https://docs.luxonis.com/projects/hardware/en/latest/pages/DM9095.html#dm9095) camera, by using only LEGO® Technic® parts.
## Main features