An unwanted EZB disconnection is when ARC disconnects from the EZB without notice. In many cases, ARC may lock-up and stop responding.
ARC release candidates run through stress-tests on several virtual machines before released to the public. The largest stress test for reliability uses ARC to control 4 robots 24/7 connected to Exosphere. What many people do not know is that Synthiam's Exosphere robots are performing reliability/efficiency/stability tests for ARC. These robots are performing multiple cameras with tracking, Wi-Fi and USB connections, NMS, and more. The Exosphere test robots are always online so people from all over the world use them at all times of the day. Generally, ARC core can be dismissed as causing disconnection/freezing issues.
This is the first item to check because it is generally the most common in DIY robots. Robots that use motors and servo-motors will often draw high current. Sometimes, these robots draw more current than what is available by the battery or power supply.
- How many amps is the robot drawing? Check for the current draw of average use and peak use.
- How many amps is the power supply rated for? Verify the power supply is providing enough current based on the measurement in the previous step.
- Are motors and servo-motors directly connected to the EZB power pins? Some EZB controllers, such as the EZ-Robot IoTiny or EZ-B v4 have power pins for convenient connections. However, due to the small traces of these EZB controllers, they might not provide the current necessary and brown-out. A brown-out is when the EZB does not get enough power and shuts down or locks up.
2. Wi-Fi Connection
Some EZB controllers are connected via Wi-Fi, such as the ESP32, EZ-Robot IoTiny, and EZB v4. While Wi-Fi is convenient by not requiring wires, it is the second most common cause of disconnections. The Wi-Fi connection should be operating over a channel that is not saturated and provides the most stability and throughput.
*Note: When possible, we recommend using a USB EZB connection rather than Wi-Fi for robots in production environments.
- Check for the Wi-Fi channel saturation? Use THIS TOOL to check and use a less saturated channel. If possible, consider hard-wiring the EZB to the PC.
3. Communication Timeouts
Sensors and peripherals connected to the EZB may require bi-directional communication. In many cases, this is most prevalent with i2c devices that require START and STOP acknowledgments while reading/writing data. Some I2c devices may simply time-out when a connection is unstable due to a loose connector, electrical interference, or communication noise. The time-out could dramatically slow the EZB communication in-which ARC will appear to have locked up. Or, ARC may entirely freeze while waiting for a response from an EZB that is unresponsive due to a communication timeout with a peripheral/sensor.
- Are there any i2c devices connected to the EZB? (i.e. RGB Eyes, Compass, Accelerometer) If so, ensure the wiring and connectors are secure. I2C devices with poor wiring/connections can lock up many microcontrollers.
4. ARC Project
Lastly, examine the project for issues that may cause disconnections. In some circumstances, having many scripts looping and reading/writing data can cause a lockup or disconnection. This happens when the data channel is flooded with requests and most common over Wi-Fi-enabled EZBs.