8. Firmware¶
Two firmware programs exist for the board, both in the robot repository as PlatformIO projects:
| Folder | For | |
|---|---|---|
| Main firmware | PAROL6 control board main software |
Running the robot with the commander software or the Python API |
| Test firmware | PAROL6 control board test code |
Checking the board and the wiring from a serial terminal (The test firmware) |
A board from the shop carries the test firmware. Upload the main firmware before you use the robot.
Tools¶
- VS Code with the PlatformIO extension from its marketplace.
- A clone of the robot repository.
- An ST-Link programmer and the PAROL6 programming adapter, or an ST-Link whose cable carries exactly SWCLK, SWDIO, GND and 3V3 to the pins of the 2×5 header in the table below.
- On Windows, the ST-Link USB driver (STSW-LINK009) if PlatformIO cannot find the programmer.
Danger
Use the programming adapter, or the four named pins only. An ST-Link wired to the header with jumper wires without the adapter has destroyed boards: other pins of the header are not for it.
The 2×5 programming header, as labelled in the side view of the connections figure, left to right, the header to the left of the USB port:
| Row | |||||
|---|---|---|---|---|---|
| Top | RESET | BOOT0 | SWDIO | none | 3V3 |
| Bottom | GND | GND | CLK (SWCLK) | none | 3V3 |
An ST-Link needs four of them: SWDIO, CLK, GND and 3V3. Leave RESET and BOOT0 unconnected.
Uploading¶
- Disconnect the 24 V supply from the robot.
- Connect the adapter to the 2×5 header next to the USB port, and the ST-Link to the PC. The adapter supplies 3.3 V, which powers the microcontroller (not the motors) and turns the board on.
- In VS Code, Open Folder on the firmware's folder. PlatformIO downloads the toolchain the first time.
- Build and Upload (the arrow in PlatformIO's toolbar). The upload takes a few seconds.
- Disconnect the adapter. With it connected, the board cannot be switched off with the button and turns on by itself when the supply is connected.
- Reconnect the 24 V supply and press the power button.
Check
PlatformIO ends the upload with SUCCESS, and after step 6 the drivers click and the PC software
connects. If not: Troubleshooting.
Version¶
#define VERSION 1 in constants.h. The firmware is released with the robot (tag V1) and has not changed since: release V1.1 ships the same firmware;
the protocol it speaks is on The serial protocol.
Comments
Found a mistake on this page? Edit it on GitHub · Report it · Get help · This page as Markdown · llms.txt · The whole manual as PDF