Hello everyone,
I am new to both Arduino and WiFi programming. With great effort I was able to update the sensor data on Thingspeak from MKR1010. But after a while, typically an hour the orange led (CHRG LED) on board starts blinking and it stops sending the data to Thingspeak. It won't resume updating data unless I hit reset button on board.
I am trying to receive data continuously without interruption. Does anyone have any idea how to achieve it?
According to the datasheet for the battery charge controller chip on the MKR 1010, the blinking LED indicates:
Charge suspend (Input over-voltage, TS fault, timer fault, input or system over-voltage)
In case you're curious, TS stands for "temperature sensor", which you don't have so that's not relevant. I'm fairly certain the cause of the blink is the timer fault. The battery charger chip has a safety timer that suspends the charge if the battery is not detected as charged after a set amount of time. If the capacity of the battery you have connected to the MKR WiFi 1010 is greater than the charge current * safety timer timeout duration then the battery will never get a full charge and the safety timer fault will be expected (you could consider it an indicator that the charge process has finished.
Now, you're probably wondering what any of that has to do with the break in network communications. Unfortunately, I don't have an answer for you. One thing to keep in mind is that it may simply be a coincidence that the network communication breaks around the time the safety time times out. I would strongly suspect this unless you have found that they happen at exactly the same time.
Thank you for your input on this. I as far as I have seen the behavior of the CHRG Led and network communication, they happen at the same time. And when I hit reset button on board the CHRG led stops blinking right away and the data starts updating on the ThingSpeak.
Another thing here I would like to mention is, I never used battery as a source for MKR1010. I was powering it directly from the micro USB port on board.
I want to keep updating the data on the thingspeak for a week without having to reset it manually.
I figured out how to reset the board through program.
I tried to put the MKR1010 in the bootloader mode, it was running fine until yesterday.
But now I have to put it in the bootloader mode every time I want to upload a sketch. And now it can only run the basic examples like blink, but won't run the ones with WiFi functionality. And the CHRG led keeps blinking even though it is not connected to battery.
I have the same problem with MKR WiFi 1010. I use the board like Shena7 to make every 5 Minute a HTTP call, to transfer the sensor date to a online database.
At one time the board runs 4 hours, at the other time the board run 7 hours. After that the CHRG led is blinking, and the transfer via HTTP call stops. After press the reset button, the board runs perfectly (for the next 4-8 hours).
My board is connected with 5V on VIN. A Lipo is NOT connected. I have seen the commend to the safety LiPo timer, but I have no Idea how to fix the problem.
To solve this problem what I introduced a hard reset after say, every 10 minutes. You can either use a soft reset or hard reset. This will not erase the code on the micro-controller but I will simply start to execute the code from the beginning, that way if the micro-controller is stuck sometimes it will refresh and start working again.
Same problem happened to me. The board was powered through Micro USB without battery at all. After a while (maybe less than 30 minutes), the CHR led is blinking.
I have exactly the same problem like as @Sneha7 (I mean transmitting data to Thingspeak platform ) it is a coincidence!
But my problem is more serious and I do not know how to resolve it
Basically, I was constantly transmitting temperature and humidity data for 4 days without interruptions, and suddenly I noticed that the CHRG LED was blinking constantly and quickly like all of you whith the big difference that the PORT COM of the board was not recognised anymore by the computer such that the board stopped transmitting data. The Arduino MKR WIFI 1010 was always powered by USB cable, not by battery.
i confess that the board was directly exposed to sunlight with temperatures of about 40 degrees during the operation time.
So I was wondering if the board was locked or damaged as a result of these practices. Accordong to @pert, maybe the problem is related to temperature sensor fault, that was bourned by high temperatures, or maybe by system over-voltage. The thing is that I do not know exactly.
I would like to know the answer for this big problem.
I am convincing myself of the board is damaged and it cannot be fixed
bganazhapa:
whith the big difference that the PORT COM of the board was not recognised anymore by the computer such that the board stopped transmitting data.
Hi @bganazhapa. The tricky thing about the boards with native USB functionality like your MKR WIFI 1010 is that the USB code that creates the CDC serial port is running on the same microcontroller as your sketch. This means your sketch code can break the USB code, or stop it from running.
Fortunately, there is an easy way to recover from this situation:
Press and release the reset button on your board quickly twice. You should now see the LED on the board pulsing, which means the bootloader is running. The double press causes the bootloader to run indefinitely (until the board is reset, powered off, or an upload is done), which means you don't need to get the timing of the reset just right.
Select the port of your board from the Tools > Port menu. The port number may be different when the bootloader is running so don't assume you already have the correct port selected.
Start an upload in the Arduino IDE.
The upload should now finish successfully. After this, you should be able to go back to doing normal uploads without needing to press the reset button. If you still need to do the reset trick to do uploads after this, the problem may be caused by your code. You can verify this by uploading a simple sketch like File > Examples > 01.Basics > BareMinimum.
Thanks for your answer pert, it is a bit annoying these native usb problems.
I tried to put the microcontroller into bootloader mode by quickly pressing the reset button twice, but unfortunately the board does not react. I cannot see the CHRG LED on the board pulsing, much less the PORT in Tools/Port menu of the Arduino IDE.