# Introduction This is vanilla firmware option for the [sumorobot platform](https://wiki.k-space.ee/en/projects/robots/sumo) we use at K-SPACE. The goal of this firmware option is to NOT get WiFi, Bluetooth or remote programming in the picture and simply let the user program sumorobot using favourite text editor or IDE and to upload the firmware via USB cable. # Preparation On Ubuntu make sure your user can access serial port. If necessary run following, log out and and log into your desktop session again: ``` gpasswd -a $USER dialout ``` The firmware is flashed via USB cable. No need to press buttons on the robot. The servo motors might interfere in some corner cases so USB connectivity is not particularly reliable, just try to run `esptool.py` again. # Bulk deployment To build self-contained firmware image for ESP32 use, eg when you need to flash multiple robots easily: ``` docker run --rm -v $PWD/modules:/src/ports/esp32/modules -v $PWD/build:/build harbor.k-space.ee/k-space/micropython-esp32 ``` To flash the built binary: ``` esptool.py -p /dev/ttyUSB0 --chip esp32 -b 460800 write_flash -z 0x1000 firmware.bin ``` To open up serial console: ``` picocom -b115200 /dev/ttyUSB0 ```