You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert

149
149
150
-
It may happen that you used your Nano ESP32 for other projects than Alvik, or you need to replace it. In order to make your Nano ESP32 work with Alvik, there are few steps needed:
150
+
In order for Alvikto work properly three things have to be set correctly:
151
151
152
-
1. Install the micropython bootloader on it following [this guide](https://docs.arduino.cc/micropython/basics/board-installation/).
152
+
1. The Nano ESP32 needs the [MicroPython firmware](https://labs.arduino.cc/en/labs/micropython) on it.
153
+
2. The [latest libraries](https://github.com/arduino/arduino-alvik-mpy/releases) have to be placed in the Nano ESP32.
154
+
3. The [latest firmware](https://github.com/arduino-libraries/Arduino_AlvikCarrier/releases) has to be uploaded to the STM32 microcontroller.
153
155
154
-
2. Download the Alvik micropyton libraries
156
+
Alvik comes with a preinstalled version of libraries and firmware, but in case you want to upgrade it or if something happens and you mess things up, here is the guide to reinstall both libraries and firmware.
155
157
156
-
1. Alvik micropython libraries from the [Alvik repository](https://github.com/arduino/arduino-alvik-mpy/tree/main)
157
-
2. ucPack libraries from the [ucPack repository](https://github.com/arduino/ucPack-mpy/tree/main)
158
+
### MicroPython Firmware on the Nano ESP32
158
159
159
-
3. Unzip both of the downloaded libraries in a single "Alvik" folder, open the Arduino Lab for MicroPython, go to the "files" tab and set the path to the unzipped folder on the Arduino Lab for Micropython
160
+
Download and install the [Arduino Lab for MicroPython](https://labs.arduino.cc/en/labs/micropython), if you are able to connect the Arduino Nano ESP32 it means that you're board is ready. You have to see the **CONNECTED** yellow label at the bottom.
160
161
161
-

4. Make sure your Alvik is OFF, connect it to your computer and then, turn it ON
168
+
### How to Upload Libraries
166
169
167
-

170
+
You will find the latest instructions directly in the [repository](https://github.com/arduino/arduino-alvik-mpy/releases). Here are the main steps:
168
171
172
+
1. Prepare file
169
173
174
+
Download the repository and extract all the files in a specific folder that will become the main Alvik folder.
170
175
171
-
5. Connect your Alvik to the Arduino Labs for micropython and open the "lib"
172
-

176
+
2. Remove old files
173
177
174
-
6. Select the "Arduino-alvik" and move it to the "lib" folder in your Alvik.
175
-

178
+
Open **Arduino Lab for MicroPython** and **connect** Alvik. Then:
176
179
177
-
7. Go back to the main folder and select the "ucPack-mpy-main" folder and move it next to the arduino_alvik inside the "lib" folder in your Nano ESP32.
178
-

180
+
- Click on the `files` icon
179
181
180
-
8. Now go back to the main root of the files system on the Nano ESP32. Then in your local folder navigate to the examples folder once there, select the following files and move them to the main folder of the ESP32.
182
+
- Click on a `files name`in the bottom left explorer windows.
181
183
182
-
1. demo.py
183
-
2. hand_follower.py
184
-
3. line_follower.py
185
-
4. main.py
186
-
5. touch_move.py
184
+
- Click on the `bin` icon to delete it
187
185
188
-

186
+
- Repeat for all the files, from all folders
189
187
190
-
With this last step, your Nano ESP32 has been set up with the Alvik out of the box experience and is ready to be used.
188
+

191
189
192
-
### Updating Alvik's Body (STM32)
190
+
3. Install mpremote
193
191
194
-
1. Download the [pre-compiled firmware](https://github.com/arduino-libraries/Arduino_AlvikCarrier/releases/latest) from the [Alvik Carrier GitHub reposiitory](https://github.com/arduino-libraries/Arduino_AlvikCarrier)
192
+
[mpremote](https://docs.micropython.org/en/latest/reference/mpremote.html) is a Python module needed to upload files on the Nano ESP32. The minimum suggested mpremote release is 1.22.0. Be sure to have Python installed before proceeding!
195
193
196
-
This step will download a "firmware_x_x_x.bin" file, save it in your Alvik folder
194
+
```
195
+
(venv)$ pip install mpremote
196
+
```
197
197
198
-
2. Connect your Alvik to the Computer and to the Arduino Labs for Micropython. Then, go to the files tab and navigate to the folder where you stored the "firmware_x_x_x.bin"
199
-

198
+
or
200
199
201
-
3. Let's move now the "firmware_x_x_x.bin" to the main root.
202
-

200
+
```
201
+
(venv)$ python3 -m pip install mpremote
202
+
```
203
203
204
+
Depending on how you configure Python on your machine.
204
205
206
+
4. Install library
205
207
206
-
4. Turn ON your alvik, go to the Editor tab and tun the following commands by typing them and clicking on the "Play" button
207
-
```shell
208
-
from arduino_alvik import update_firmware
208
+
Run the following line to upload all files and download the dependencies needed to run the Arduino Alvik MicroPython library.
209
209
210
-
update_firmware('./firmware_1_0_0.bin')
211
-
```
210
+
Linux
212
211
213
-

212
+
```
213
+
$ ./install.sh -p <device port>
214
+
```
214
215
215
-
After executing these commands, there will be updates of the process on the prompt, once the process finishes, the firmware of your alvik will be updated.
216
+
Windows
217
+
218
+
```
219
+
> install.bat -p <device port>
220
+
```
221
+
222
+
The `install.*` script will copy all the needed files into your Alvik.
223
+
224
+
The `<device port>` is the name of the USB port that your computer assigned to the Nano ESP32. There are several ways to find it, depending on your OS, for example:
225
+
226
+
- You can use the Arduino IDE to discover the port, [follow this guide to know more.](https://support.arduino.cc/hc/en-us/articles/4406856349970-Select-board-and-port-in-Arduino-IDE)
227
+
- You can check it by using the Arduino Lab for MicroPython by clicking `Connect` after connecting Alvik with the USB cable.
228
+
- You can check the list of the USB devices attached to your PC.
229
+
230
+
### How to Upload Firmware
231
+
232
+
1. Download the latest [pre-compiled firmware](https://github.com/arduino-libraries/Arduino_AlvikCarrier/releases/latest) and place it inside Alvik's project folder
233
+
234
+
2. Go into `utilities` folder and run the `flash_firmware` script:
There are several examples to test all the features of your Alvik placed inside the `examples` folder.
254
+
255
+
Open **Arduino Lab for MicroPython** and **connect** Alvik. Then:
256
+
257
+
1. Click on the `files` icon
258
+
2. Click on the `path string` in the bottom right explorer windows.
259
+
3. Click on the `file name` of the example you choose
260
+
4. Click on the `play button`
261
+
262
+

216
263
217
264
## Maintenance
218
265
@@ -484,16 +531,152 @@ Alvik have two controllers
484
531
485
532
### Line Follower
486
533
534
+
## Updating Alvik
535
+
536
+
### Updating Alvik's Brain (Nano ESP32)
537
+
538
+
It may happen that you used your Nano ESP32 for other projects than Alvik, or you need to replace it. In order to make your Nano ESP32 work with Alvik, there are few steps needed:
539
+
540
+
1. Install the micropython bootloader on it following [this guide](https://docs.arduino.cc/micropython/basics/board-installation/).
541
+
542
+
2. Download the Alvik micropyton libraries
543
+
544
+
1. Alvik micropython libraries from the [Alvik repository](https://github.com/arduino/arduino-alvik-mpy/tree/main)
545
+
2. ucPack libraries from the [ucPack repository](https://github.com/arduino/ucPack-mpy/tree/main)
546
+
547
+
3. Unzip both of the downloaded libraries in a single "Alvik" folder, open the Arduino Lab for MicroPython, go to the "files" tab and set the path to the unzipped folder on the Arduino Lab for Micropython
548
+
549
+

550
+
551
+
4. Make sure your Alvik is OFF, connect it to your computer and then, turn it ON
552
+
553
+

554
+
555
+
5. Connect your Alvik to the Arduino Labs for micropython and open the "lib"
556
+

557
+
558
+
6. Select the "Arduino-alvik" and move it inside the "lib" folder in your Alvik.
559
+

560
+
561
+
7. Go back to the main folder and select the "ucPack-mpy-main" folder and move it next to the arduino_alvik inside the "lib" folder in your Nano ESP32.
562
+

563
+
564
+
8. Now go back to the main root of the files system on the Nano ESP32. Then in your local folder navigate to the examples folder once there, select the following files and move them to the main folder of the ESP32.
565
+
566
+
1. demo.py
567
+
2. hand_follower.py
568
+
3. line_follower.py
569
+
4. main.py
570
+
5. touch_move.py
571
+
572
+

573
+
574
+
With this last step, your Nano ESP32 has been set up with the Alvik out of the box experience and is ready to be used.
575
+
576
+
### Updating Alvik's Body (STM32)
577
+
578
+
1. Download the [pre-compiled firmware](https://github.com/arduino-libraries/Arduino_AlvikCarrier/releases/latest) from the [Alvik Carrier GitHub reposiitory](https://github.com/arduino-libraries/Arduino_AlvikCarrier)
579
+
580
+
This step will download a "firmware_x_x_x.bin" file, save it in your Alvik folder
581
+
582
+
2. Connect your Alvik to the Computer and to the Arduino Labs for Micropython. Then, go to the files tab and navigate to the folder where you stored the "firmware_x_x_x.bin"
583
+

487
584
488
-
## Alvik First Use
585
+
3. Let's move now the "firmware_x_x_x.bin" to the main root.
586
+

489
587
490
-
### Update Alvik's body
588
+
4. Turn ON your alvik, go to the Editor tab and tun the following commands by typing them and clicking on the "Play" button
589
+
590
+
```shell
591
+
from arduino_alvik import update_firmware
592
+
593
+
update_firmware('./firmware_1_0_0.bin')
594
+
```
595
+
596
+

597
+
598
+
After executing these commands, there will be updates of the process on the prompt, once the process finishes, the firmware of your alvik will be updated.
491
599
492
-
### Update Alvik's brain
493
-
- Update ESP32 Micropython Firmware
494
-
- Update Alvik's Library
495
600
### Hello Alvik! Your first program!
496
601
602
+
Alvik is intended to be programmed with MicroPyton. We recommend you to install the [Arduino Lab for MicroPython](https://labs.arduino.cc/en/labs/micropython) editor.
603
+
604
+
Now that all the previous steps have been set, let's see how to create custom programs for Alvik to move forward until detecting an object in front of it, Alvik will detect it, dodge it and continue on its way.
605
+
606
+
607
+
**1. **Create an Alvik folder in your computer and set it as the path of the Arduino Lab for MicroPython IDE
608
+
609
+

610
+
611
+
**2. **Create a new file "obstacle_avoider.py" in your local folder
**4. **Connect Alvik to your PC using the cable included in the box, under the tray.
661
+
662
+

663
+
664
+
***Make sure that Alvik is OFF before connecting it to your computer.***
665
+
666
+
**5. **Once Alvik is connected to the PC, connect it to the Arduino Lab for MicroPython and open the _main.py_ file in the Alvik folder. Once the file is opened let's replace the `import demo` statement by `import obstacle_avoider`.
667
+
668
+

669
+
670
+
*** If you want to go back to the out of the box experience where you could select between reg, green and blue programs, you only need to modify the _main.py_ again replacing the `import obstacle_avoider` statement by `import demo`***
671
+
672
+
**6. **The last step is to move the _obstacle_avoider.py_ file from the local repository to Alvik's memory.
673
+
674
+

675
+
676
+
You are now all set, disconnect Alvik from the computer, put some obstacles around Alvik, turn it ON and see how Alvik detects them and turns to avoid them.
0 commit comments