I have built an application using an Seeeduino XIAO that operates in the following manner:
- The Seeeduino is to light up a pair of LEDs at specific times of the day. In order to do this it uses an RTC module to keep track of day.
- The Seeeduino is powered by a Li-Ion battery is charged over the day by a solar panel connected to a TP4056 charging module.
The connection diagram is presented in the picture:
The first prototype seemed to work fine. However, when I scaled this prototype to 30 units, some strange behaviours started to appear, namely:
- 3 of the Seeeduinos turned up to have bricked at some point. The ON LED lights up, but they aren’t recognized by the PC when I connect them.
- Some of them are not working reliably. Though they appear to be on, as indicated by the LED, the LED they are meant to power at the scheduled times doesn’t light up. Upon connecting to the PC’s USB port the LED light up and the through the Serial Monitor I can confirm that the RTC module still kept the correct time.
While doing some research, I’ve come to think that the connection of the output of the TP4056 to the Seeeduino supply pins is incorrect. A colleague suggested that I should connect the TP4056 output to the 3.3V on the Seeeduino (instead of the 5V) and use a resistor and a Zener diode as a voltage regulator.
Does anyone with experience in such matters know if the behaviours I mentioned are caused by the way the supply is connected, or if the cause might be something else?