Communication 📡

Big ideas

Robots need a way to “speak” and “listen” to other devices or systems. This includes Bluetooth and WiFi, as well as protocols like UART, I2C, and SPI. Fast, reliable communication helps all parts work together smoothly.

If communication seems confusing at first, take a deep breath! All of these tools are designed to be simple once you get the hang of them. Move slowly, use Google/YouTube/GPT, and don’t stress. Most of the tricky details are handled by software libraries you just need to import and use.

Cheat sheet

Here’s a quick guide to get your “thingies” talking to each other. Remember, these are all protocols.

A protocol is a set of rules so everyone knows how to send messages, read them, and respond.

MotorGo uses these protocols:

ProtocolDescriptionWired/Wireless
Wi-Fihigh speed, long distance communicationwireless
Bluetoothlow-power, short-range communcationwireless
UARTsimple, one-to-one communcationwired
SPIfast leader-follower communication where speed matterswired
I2Csimple multi-device communication with fewer wireswired
ProtocolDescriptionWired/Wireless
CAN Busreliable, noise-resistant (used in cars and factories)wired
LoRaultra-long-distance, low power communication for IoTwireless
Ethernethigh speed, reliable, long-distance communicationwired
Modbuswidely used for data exchange in industrial systemswired
EtherCATreal-time control for robotics, automation, and CNCswired

Why MotorGo uses simpler protocols

MotorGo focuses on accessible and beginner-friendly robotics. By using simple, widely supported protocols like SPI and I2C, we make it easy for you to start projects quickly. As your projects grow, you can explore more complex protocols like Ethernet, Modbus, or EtherCAT for industrial applications.

How MotorGo uses communication

MotorGo products use a range of communication protocols to make your projects fit together seamlessly. This table details how each protocol is used in its default setup.

Product Table

MotorGo BoardWi-FiBluetoothUARTSPII2C
MotorGo PlinkPID GUIno defaultprogram over USBencodersQwiic sensor bus
MotorGo Plink (as PiHat)disabled (Pi handles Wi-Fi)no defaultno defaultleader-follower with Pi, encodersQwiic sensor bus
MotorGo AxisPID GUIno defaultprogram over USBprogram over USB, encodersQwiic sensor bus
MotorGo Axis (as PiHat)PID GUIno defaultno defaultleader-follower with Pi, encodersQwiic sensor bus
EncoderGoN/AN/Anot used5 wire SPI for encoder datanot used