In preparation for the custom PCB version (parts on order), I have been working on some further improvements to the original breadboard prototype.
On the hardware side of things, it is simple. First, I attached a jumper wire to Pin #0 to act as a touch input. Second, I added a 24LC512 EEPROM chip connected through I2C. Since the ESP32 cannot keep data in RAM during deep sleep, this EEPROM acts as non-volatile storage for system status information, measured data, and the WiFi SSID and password.
I have also been working on firmware. The good news is many of the desired abilities laid out in the last development log now work. It now enters softAP mode upon touch input, hosting a webpage which allows the user to enter their WiFi SSID and password. SOL then saves that information into EEPROM. The system wakes up every N seconds to record data and save to EEPROM, and every M cycles it uploads that data through WiFi. The bad news is that many of the WiFi-side elements are merely hacked together at this point. The softAP mode receives passwords from the user in plaintext, clearly not a good idea. When it uploads the data, it does through IFTTT to a Google Sheet, requiring a hard-coded API key. Therefore it is still not yet ready, but is coming along nicely.
Next tasks to attack:
- Moving firmware to github to share here
- Improve WiFi provisioning process for security
- Determine how to handle server-side data storage (very open ended task, since I don't know what I don't know yet...)
- Determine how to handle client-side data plotting
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.