Motors causing significant random delays in Xbee S1


I’m using XBee S1’s to communicate data between two robotic vehicles. I’ve been working hard on the XBee configurations in order to have consistent delays between the communication. My set up works great when I run test code without turning the wheel motors on, with a consistent time between Rx’s and a small deviation from the average. However, when I run the code with the motors on, I get a significant amount of random delays, sometimes as much as 10x the average delay.

I’m using a board with an Atmel ATmega microcontroller (DFRobot Romeo v2.2) that has the motor drivers built in.

Any suggestions on how to fix this?



Hi Rebecca,
Whilst I havn’t seen your schematic or actual setup, when I get interference with motors I find adding a choke between the controller and the motor(s) can be useful in reducing motor interference.
Also with the significant random delays it sounds like interference may be worth investigating.

Have a look at this site for info on chokes:

good luck.


Most probably ATmega must be sitting in between XBee and motor. In that case, first look if issue is on MCU side while dealing with motor.

With XBee all I can think of is to make sure that motor doesn’t add to much of data transmission that exceeds XBee’s capability.

Thanks for the reply. After doing some digging, I’m confident that the source of the problem is on the MCU side and is a power/noise issue caused by the motors. I’ve soldered capacitors to the motors in an attempt to quiet them down, which has decreased the amount of random delays during a sampling period.There are still random long delays however the amount has been reduced to a (hopefully) acceptable number.