So it has been too long since our last update on the hardware. The last thing I mentioned related to the hardware was that rev2 of the SunLeaf was already underway in KiCAD, well its nearly done and here's what I did with it:
- Implemented OTA (over the air) programming signal connections between the ESP8266 and STM32
- Changed the ESP8266 module from the ESP-02 to the ESP-09, more pins needed for OTA.
- Implemented battery monitoring with a simple voltage divider, allowing battery voltage to be monitored.
- Moved the ESP module and supporting components from the bottom to the top of the PCB
- ESP module no longer has UART between STM32 as jumpers, they are directly wired with a throughhole connector for ESP code flashing inlined with the signals
- Sensing conenctors changed to all 4 pin based ones.
- Chaned the position of the power and ground on Grove connectors to be correct, they were swapped in version 1.
- Overall PCB size has been slightly increased to move ESP to the top and accommodate changing the 3 pin JST connectors to 4 pin ones for the analog and expansion connectors.
- Battery controller circuit has been revised to more efficiently dissipate heat.
- LDO switched to a smaller package to save board realestate.
- TVS diodes on sensor inputs rotated 180 degrees to keep them far away from the board edge.
Now the PCB isn't 100% finalized but its about all but done having implemented the above, I might be forgetting some things but that's the jist of it, I'll have more updates on that next post. So without further do, SunLeaf Alpha 0.2 :
The schematic has also been drawn to be more readable in this revision.
So that's where we are at with SunLeaf rev 2, next I think I'm going to add mounting holes and some logos and thats about it, so its done for the most part. There is also tad bit more testing with the solar charging section we want to do before fabricating the board, that will be touched upon in the next post on hardware.
So OTA programming, I mentioned in the title, so yeah we are going to implement over the air programming of STM32F446RET6 our main processor over UART with the ESP-09 ESP8266 module. The STM32 has a bootloader that supports loading of firmware over any of its UART ports, this functionaility is toggled via the processor reset pin and toggling the two BOOT pins on the processor, this allows the ESP to restart the STM32 into bootloader mode and load the firmware over UART. All this has been set up in this design revision, we consider it a major feature upgrade over the rev 1.
We got a few more updates on firmware, functionality, and application from my great teammate Shane so stay tuned for that. As for this post that's all folks!