Besides working on the schematic for the prototype, I have also been working on writing the software for the ESP32. The repository is linked on the project page, but I'll include it here as well.
Working with the ESP-IDF so far has been fantastic. The documentation is great and I have had no trouble working with the NVS, Sleep, and GPIO library. I have saved the best for last and will eventually start working with the Mesh library to set up the wireless networking.
Another note to add to the log is how I have decided to move forward with flashing the boards. I decided that I wanted to leave the router information out of what's compiled and flashed. In addition the device ID could be given at run time as well. Lastly, I would like to give the time to the device at runtime so the ESP32 can program the RTC over I2C. My plan is to flash the board using Espressif's build system, then when the device boots for the first time it will wait for a UART package to be received with all the needed data. I'll probably write a python script that starts the flash and then reads the runtime data from a config file before packaging and sending over UART.
In order to save money on parts and also decrease board size, I thought it would be cool to create a daughter board with the USB to UART bridge (CP2102). This way I can route EN and IO0 to the daughter board to use the auto program feature. Initially I'll connect the daughter board via a multi-pin header, but for a final prototype I would like to create a mount for the main board to sit on a bed of nails for easy programming.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.