Skip to main content
Version: ACS CC

MyRoboAssistant

Listen. Respond. Connect.

info

Student: Savchuk Kostiantyn \ GitHub Repository: proiect-st-savciucc


Description

MyRoboAssistant is a mid-sized (≈ 140 cm × 80 cm) mobile robot focused on natural voice interaction and emotional feedback.
It suggests useful tips, shows animated emotions on a TFT screen and can be extended through a companion mobile app.

Motivation

The project blends my passion for robotics with the memory-safety and concurrency guarantees of Rust.
A Raspberry Pi Pico 2 W handles timing-critical control, while an ESP32 DevKit leverages cloud AI for advanced conversation.

Architecture

Hardware architecture

Components & data paths

Log

Week 5 – 11 May:

Project kickoff with initial requirement gathering.

Week 12 – 18 May:

Development sprint focusing on hardware functionality.

Week 19 – 25 May:

Implemented the software and ran tests.


Hardware

BlockModule(s)Role & Highlights
Processing (dual-MCU)Raspberry Pi Pico 2 W — real-time controller (Rust / embassy-rs)
ESP32 DevKit v1 — Wi-Fi, BLE, speech-to-text, ChatGPT API, text-to-speech
Safety-critical I/O on Pico; cloud & audio tasks on ESP32
PowerLi-Po 2 S 7.4 V 4000 mAh
XL4015 5 A buck
Portable supply; 5 V system rail (peak 5 A)
Audio INMAX9814 electret mic pre-amp (AGC)Low-noise voice capture
Audio OUTMAX98357A I²S DAC + mini-speakers3 W mono bridge driven by ESP32
User FeedbackWaveshare 2.8″ TFT SPI (ST7789) + on-board buzzerEmojis / menus / beeps
Locomotion• 2 × 6 V DC gear-motors + L298N driverTank-style differential drive
Gestures• 2 × SG90 micro-servos (arms)
• 1 × MG996R high-torque servo (head)
Expressive arm & head motion
SensingIOE-SR05 ultrasonic (UART)Obstacle / proximity detection

Hardware Blocks

Raspberry Pi Pico 2 W

Role: Central microcontroller, manages I/O and overall device logic
Connections:

  • TFT display (SPI)
  • Ultrasonic sensors (GPIO trigger/echo)
  • I2S microphone (I2S data/clk)
  • Speaker via I2S DAC
  • DC motors + L298N driver (GPIO + PWM)
  • SG90 servo (PWM)

TFT Display (ST7735 480×320)

Interface: SPI
Connections:

  • SDA (MOSI) → Pico SPI MOSI pin
  • SCL (SCK) → Pico SPI SCK pin
  • DC, RST, CS → separate GPIOs
    Role: Shows emotions, status, and menu

DC Motors + Wheels

Interface: Powered via L298N driver
Connections:

  • IN1–IN4 → Pico GPIO for direction
  • EN1–EN2 → Pico PWM for speed
    Role: Locomotion

L298N Dual Motor Driver

Interface: GPIO + PWM
Connections:

  • VCC, GND → battery/charger
  • IN1–IN4, EN1–EN2 → Pico
  • OUT1–OUT4 → motors
    Role: Drives the DC motors

SG90 Micro Servo

Interface: PWM
Connections:

  • Control → Pico PWM pin
  • Power → 5 V + GND
    Role: Arm gesture

Ultrasonic Sensors (HC-SR04)

Interface: GPIO
Connections:

  • Trigger → Pico GPIO
  • Echo → Pico GPIO
    Role: Proximity detection

I2S Microphone

Interface: I2S
Connections:

  • WS, CK, SD → Pico I2S pins
    Role: Voice input

I2S DAC (MAX98357A) + Speaker

Interface: I2S
Connections:

  • BCLK, LRCLK, DIN → Pico I2S pins
  • Speaker → output of MAX98357A
    Role: High-quality audio output

Schematics

The full schematic was drawn in KiCad v9 and covers every connection between modules, power rails and connectors.

KiCad schematic overview

Photos

MyRoboAssistant prototype

Bill of Materials

Device (link to datasheet)UsagePrice (link to store)
Raspberry Pi Pico 2 WCentral real-time controller (Rust/embassy)40 RON
ESP32 DevKit v1Wi-Fi/BLE & cloud-AI tasks70 RON
Li-Po 7.4 V 4000 mAhPower supply139 RON
XL4015 5 A buck converter5 V system rail (DC-DC down-conversion)17 RON
MAX9814 mic pre-ampElectret microphone pre-amplifier13 RON
MAX98357A I²S DACHigh-quality audio output21 RON
Mini 8 Ω speaker pair (Ø 28 mm)Audio playback20 RON
Waveshare 2.8″ TFT SPIDisplay UI (emotions & menus)155 RON
L298N dual motor driverDC motor driving10 RON
DC motor + wheel set (×2)Tank-style locomotion45 RON
SG90 micro-servoArm gestures24 RON
MG996R metal-gear servoHead gestures34 RON
IOE-SR05 ultrasonic (UART)Obstacle/proximity detection28 RON
Consumables (buttons, potentiometers, wires, etc.) (misc.)Miscellaneous assembly & wiring50 RON

Prices are list prices (May 2025) from OptimusDigital / eMAG.


Software

Library / CrateDescriptionUsage
embassy / embassy-netAsync runtime & networkingCore framework for async tasks & Wi-Fi/BLE
embedded-halHardware Abstraction LayerStandardized traits for MCU peripherals
heaplessFixed-capacity data structuresQueues, Vec, String without heap usage
serde / serde_jsonSerializationConfig data & message encoding/decoding
embedded-graphics2D graphics libraryRendering UI primitives on the TFT
rust-voiceSpeech recognitionKeyword spotting & voice command parsing

Main Firmware Tasks

  • comm – Wi-Fi / BLE connection & messaging
  • emotion_display – emoji animation on TFT
  • motion_control – motor & servo control
  • speech – audio capture & keyword spotting

Software flow


  1. Raspberry Pi Pico 2 W – official docs