Arduino NANO 33 IoT Wi-Fi Intermittently braking up

I have a working solution running on my Arduino NANO 33 IOT.
A professional Wi-Fi network, Cisco Aironet 1830 Series. DHCP lease time 8 days.

According to the Wi-Fi Monitoring system the Arduino information on one of my Access points shown the following info that I do not understanding to the full extent. Is the signal good or bad?

Performance
Signal Strength: -74 dBm Signal Quality: 20 dB Connection Speed: 58 Mbps Channel Width: 20 MHz

These values slightly varies +-1 dB and +- 2 Mbps

Capabilities
802.11n (2.4GHz) Spatial Stream: 1

Using WIFININA libraries.

My problem.
My Arduino NANO 33 IoT is delivering highly intermittent data.

The Arduino NANO 33 IoT has no problem connection to the network and start sending data at Start/Reset. Sometimes the connection is breaking up and after a specific time or Wi-Fi connection retries I reset the Arduino NANO 33 IoT programmatically to restore network connection and it works promptly every time I’m around monitoring it.
It feels like it is a network hardware problem on the device.
After working with several code solutions found online and after receiving support in this Forum I got a more stable connection but still I found myself in problems again.
After not working with the solution for a week or so, but still having the Arduino running, the data comes in extremely intermittent periods to my Azure function. i.e. The problem does not reside in the receiving end of my solution. It is a solutions used for many services for the last 6 years.
Sometimes the data feed runs for hours sometimes it is working for minutes. The down period between the data is also from minutes to days. I have got LED’s indicating if a reset according to the code is activated (I’ve seen it working) I have been at my Arduino when it stopped sending data and no reset is triggered. Hour later the device is sending data again?

I get that my coding might have flaws, but the most disturbing feature is that the Arduino does not just stop working. It starts sending again by its own whenever it feels like it.

Is this a temperature problem in the device?
I have tried several Wi-Fi networks and places the Solution in range of 3 different Access points with the same result. Now I am starting to get doubts that the Arduino NANO 33 IoT is a viable product.
I have a viable code with multiple error handling features, The same code, obviously altered, for a ESP6288 is working perfectly on a ESP6288. I do not like that device and would love to get this Arduino NANO 33 IoT to be stable and reliable for long time use.

Have anybody reported similar problems? I wonder if there are known problems with this and if there are any updates to the Wi-Fi module available in the IDE that might address this. Now running version 1.3.0.

Finally testing to PING the Arduino ends up with high variety of the ping response time, it varies a lot from 4ms to 1058ms but mostly between 30ms and 120ms. This might be normal for a device like this but still .. The normal response time for any of my computers or devices on the same network is between 2ms to 10ms

Please advice on how to debug these problems that makes the Arduino NANO 33 IOT useful over time.

pelago:
Have anybody reported similar problems?

There was a cluster of reports about the WiFi being unreliable last year:

What was really interesting is that it turned out that all the people reporting it were using a "Fritz!Box" gateway. It seemed like it must have been more than a coincidence. I don't know that they ever figured out what was causing that.

pelago:
if there are any updates to the Wi-Fi module available in the IDE that might address this. Now running version 1.3.0.

Yes, there have been several releases of the NINA firmware since 1.3.0. The trouble is that the firmware is distributed with the Arduino IDE, but there wasn't a production release of Arduino IDE since those new firmware versions came out.

But the hourly build of the Arduino IDE always has the latest firmware. So you can just install the hourly build and use that to update your firmware to the latest and greatest. The hourly is here:

If you use Arduino Create, it has a firmware update feature too. There is also a command line tool for updating the firmware:

I am having similar problems with a Nano 33 iot. It manages to connect to both my access point (DOCSIS cable modem) or a D-link Wifi extender. None of my other devices have problems maintaining a stable connection with the access point or extender.

The connection can be stable for up to hours, but in the end it always breaks. I can work around this by testing and re-connecting in the loop of my sketch. I upgraded to the latest Wifinina firmware (v1.4.5 I think) via the hourly builds of the Arduino IDE, but nothing changed. Not happy with this. I know it's a relatively cheap board, but wasting time troubleshooting this is frustrating.

Not many people seem to report this problem and the lack of replies/info by the Arduino team in this or other threads mentioning this problem suggests that the few individual units displaying this behavior are probably just faulty? Anybody having similar trouble with multiple Nano 33 IoT units in the same network?

@yannickg Welcome to the forum.

I tested different boards and get disconnects on all of them. My router is a Fritzbox and it might play a major role in the behavior. Having these issues, I wrote my sketches in a way that it takes care of the disconnects.

Now I have multiple boards running 24/7 for many months automatically reconnecting multiple times a day.

I would expect any application using wireless communication to be able to recover from disconnects. What is your application? Could you provide an argument why your application needs to work without the need for reconnecting? Honest question.

Well, it would not be unreasonable to expect the reconnects to be handled by the library or firmware? Especially when there seems to be no mention at all of the need to do this and how to handle it yourself in any documentation or code example?

I agree, that sounds reasonable. I am not sure whether this can be done fully transparent. If the upper layers push data into the lower layers and they cannot handle them because the connection is lost, at some point buffers overflow and data will get lost. So, some things might need to be handed by the application layer.

Again, I agree. I would prefer some more complicated examples that show how to handle the connection in a robust manner. This might scare some beginners but would be worth having.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.