I’m facing a strange issue with my Arduino UNO board and I can’t figure out the root cause.
I have wireless RF (433mhz) transmitter connected to the Arduino board which is sending out values obtained by analogRead() function from A0 pin. Arduino is also blinking with it’s onboard led, so that it is visible that the program is running.
Everything is working completely fine and I can see the correct values on the receiver side. The problem is that the Arduino with transmitter stops working after some time (usually after couple of days). It basically stops sending values and the onboard diode just stops blinking (it does not emitting the light at all). The only fix is to push the reset button on the board or pull out/insert the power cable.
My guess would be a ‘memory leak’, maybe in the driver.send() function. If it allocates any memory and does not free it, it will eventually fill all of memory and the sketch will crash. There are examples of how to display remaining free memory. If you send the value to Serial Monitor you could see if the number was going down.
Also try adding 47uF to 100uF capacitor directly across the SD Vcc/GND pins, the SD draws a lot of current is spikes. Also check there are pullup resistors on the signal pins.
Once the SD locks up you have to power cycle to restore it.
This is what I used to solve problems in one of my projects