← All projects
Robotics / embedded software

SBot

An expressive robot project built on the Otto DIY platform, combining servos, NeoPixel lighting, sound, and an optional voice recognition module.

Project

Personal robotics integration

Tools

C++ · Arduino · PlatformIO · Otto DIY

Current scope

Firmware project · hardware dependent

Hardware control
  1. Voice or USB Command input
  2. Arduino Behavior routines
  3. Motion and sound Servos, LEDs, buzzer

Voice and autoplay configurations use the same hardware libraries.

The problem

A small robot needs coordinated behavior across motion, light, and sound. It also needs a way to demonstrate those behaviors without depending on voice hardware every time.

How it works

The repository provides voice and autoplay build configurations for Uno and Mega boards. The main firmware accepts serial commands and, in voice mode, command IDs from a DFRobot module. Behavior routines coordinate arm positions, walking gestures, color transitions, and melodies.

Design decisions

  • Two build modes: voice control supports interaction; autoplay supports a repeatable demonstration.
  • Serial commands: behavior can be triggered and inspected over USB.
  • Reusable hardware libraries: Otto DIY, Adafruit NeoPixel, and DFRobot provide platform capabilities.
  • Explicit behavior routines: startup, celebration, and calm sequences make the control flow easy to follow.

Status and next steps

The firmware source and build configuration are public. A current hardware demonstration is still needed. The next code change is to replace blocking delays with timed updates so stop commands stay responsive during long animations.

Next case study

User Records REST API ↗
All work ↑