-
Download Python3, install PySerial and EspTool:
py -m pip install pyserial py -m pip install esptool
-
Download Arduino IDE, install ESP8266 board:
- File > Preferences > "Additional board manager URLs" > append "http://arduino.esp8266.com/stable/package_esp8266com_index.json"
-
Open this sketchbook in Arduino IDE and export the
serverandvotersketches as compiled binaries. -
Edit
upload_server.pyиupload_voter.pyto specify the COM port and Wi-Fi settings.(Optional) You may also want to edit
common.py, for instance, to modify timeouts. -
Run
upload_server.pyandupload_voter.py.To upload firmware to the voter, press its middle button on startup. That is required to put it in configuration mode.
-
To ensure that the firmware and the settings were written correctly, run
check_settings.py.
All schemes were made in Easy EDA.
The exported voter PCB file is scheme/pcb/Gerber.zip.
You can open it in most Gerber viewers, for example in altium.com/viewer.
On the PCB you can find a power switch and a UART shield for firmware upload and configuration.
