A little curiosity. A whole lot of making.Robotics, CNC & connected ideas
robodatech.
← Learning library
Controllers

Choose the brain of your robot.

Compare current microcontrollers and hybrid boards by timing, interfaces, connectivity, and the work your robot needs to do.

From information to actionMCUPROGRAM + MEMORYInputsOutputsRead sensors → compute → update outputs → repeat
Concept illustration. Check the component datasheet before wiring.
Try it yourself

Change an input.
See what follows.

A simplified learning model. Values describe the model, not a connected robot.

Start with the job, then choose the board.

A controller repeatedly samples inputs, updates its state, and commands outputs. A microcontroller is well suited to predictable timing, encoder capture, PWM, and fast fault handling. A Linux computer adds cameras, planning, networking, and a larger software environment. A useful robot often uses both: the computer requests motion, while the microcontroller enforces local limits and stops on stale commands.

Current platforms to understand

PlatformWhat it bringsRobotics applicationIntegration decision
Arduino UNO QQRB2210 Linux processor + STM32U585 MCUVision-assisted inspection with a separate MCU control loopUse the documented bridge; verify shield pin voltage and software compatibility.
Raspberry Pi Pico 2 / 2 WRP2350, programmable I/O; 2 W adds wirelessEncoder acquisition, pulse generation, compact sensor controllers3.3 V GPIO. Pick 2 W when wireless is required.
ESP32-C6RISC-V with Wi-Fi 6, Bluetooth LE and 802.15.4Connected sensor nodes and telemetry gatewaysBLE is not Classic Bluetooth SPP; old HC-05 phone workflows do not transfer unchanged.
ESP32-P4Compute and multimedia interfacesRobot display, camera frontend, local visual processingNo integrated radio; wireless needs a companion device.
ESP32-S31Newer connected RISC-V platformMulti-protocol sensor gateways and connected robot interfacesCheck board availability and the ESP-IDF support matrix before committing.
Classic Arduino NanoATmega328P learning platformExisting 5 V rover lessons and simple experimentsKeep the existing Nano pin plan; newer boards are not wiring-compatible by default.

Make a controller budget

Time budget

For a 100 Hz loop you have 10 ms per cycle. Measure worst-case sensor reads, computation, and output updates. Avoid blocking network requests inside this loop.

Interface budget

Count ADC channels, encoder inputs, UARTs, I²C addresses, SPI chip selects, PWM timers, and a debug port. Pin count alone does not guarantee simultaneous peripheral support.

Power budget

Check supply input, logic voltage, current peaks, and brownout behavior. Use a regulated logic supply and a rated motor driver; a GPIO pin cannot power a motor.

A useful first project

  1. Read one encoder at a fixed interval and report counts per second.
  2. Add a PWM output through a motor driver, with the wheels lifted.
  3. Introduce a command timeout that disables the driver.
  4. Only then add Wi-Fi, a display, or a Linux companion.

The timing experiment above shows sample frequency as the reciprocal of loop period. It does not estimate processor instruction throughput.

Go to the source

Manufacturer and project documentation. Reviewed 20 September 2026; check your exact board revision and software release.

Keep building

Good ideas start here.

Free robotics lessons, CNC build notes and product updates. Confirm your email to join. Unsubscribe anytime.