C:\zmantar\portfolio\aicos.md
Case study · 02

Educational robotics · Human–Robot Interaction

AICOSSmall robot.
Big curiosity.

An educational robot and a learning platform built as one system, so children can meet robotics, AI, and programming through something that looks back at them.

AICOS pairs an embedded robot — Raspberry Pi and Arduino, camera, microphone, speakers, LED face, and a touchscreen — with a distributed, event-driven platform running a conversational assistant, a recommendation engine, and real-time services. A no-code block editor sits between the two, so a child can program movement, expression, and dialogue without writing a line of code.

3rdTSYP 11 · PES ChallengeIEEE Tunisia Section Congress · 2023
  • 2023 — 2024Build period
  • 2 boardsPi + Arduino
  • 8 servicesEvent-driven platform
Raspberry PiArduinoOpenCVKafka / MQTTEdge AIHRI
ROBOT_01 · PROTOTYPEAICOS
The AICOS robot: a laser-cut wooden body with an LED matrix face showing expressive eyes and a mouth, a camera in the head, and a glowing RGB heart on its chest.
Laser-cut frame, pixel face, servo neck — every part meant to be opened, understood, and changed.

Robot architecture

How the robot is built

HEAD / CHEST / TORSO / BASE
DECK 01

Head — perception & expression

A pixel face carries every emotion the robot needs: eyes and mouth are drawn on an LED matrix behind a smoked diffuser, so expressions stay readable across a noisy classroom. Camera apertures sit above and below the panel, and the whole head turns on a servo neck, so attention is something a child can actually see.

  • LED matrix face
  • Camera module
  • Microphone
  • Speakers
  • Servo pan neck
DECK 02

Chest — presence & touch

An 8×8 RGB matrix beats on the chest as a heartbeat — idle, listening, thinking, and speaking each get their own pattern, so the robot never looks frozen while it works. The touchscreen beside it carries the block editor and anything easier tapped than spoken.

  • 8×8 RGB matrix
  • Touchscreen
  • Status animations
DECK 03

Torso — the split brain

Two processors divide the work by what each is good at. A Raspberry Pi runs Linux and everything that thinks: speech, vision, behavior scripts, and the link to the platform. An Arduino owns everything that must never stutter — motor timing, LED refresh, sensor polling — and the two talk over a serial link.

  • Raspberry Pi · Linux
  • Arduino · real-time MCU
  • UART link
  • I²C bus
  • GPIO
DECK 04

Base — motion & power

A laser-cut MDF chassis, slot-and-tab assembled, keeps the robot repairable by the people who built it: every panel comes off with a screwdriver. Motor drivers sit under the deck with the battery pack, whose voltage is polled continuously so a low charge dims the face instead of cutting a session mid-sentence.

  • DC motors + drivers
  • Laser-cut MDF frame
  • Battery monitoring
  • Motion control

Speak

  1. Microphone
  2. Speech-to-Text
  3. Assistant
  4. Text-to-Speech
  5. Speakers

A child talks; the robot answers out loud. Transcription and synthesis run on the robot wherever they can, so an ordinary question never has to leave the room.

See

  1. Camera
  2. OpenCV
  3. Perception
  4. Face panel

Vision drives attention rather than surveillance: the robot notices someone is there, turns toward them, and reacts on the LED face. Frames are processed locally and not stored.

Program

  1. Block editor
  2. Behavior script
  3. MQTT
  4. Arduino
  5. Motors & LEDs

Blocks snapped together in the editor compile into a behavior script, published over MQTT, and executed by the microcontroller — a child sees their program move the robot within seconds.

Learning platform

Eight services, one event bus

mzmantar/AICOS2.0

The platform is where the robot stops being a toy and becomes a curriculum. Services are split by responsibility and speak whichever protocol fits the job — gRPC where latency matters, GraphQL where the client shapes the query, REST at the edges, and Kafka whenever one service’s result is another service’s trigger.

ServiceRoleProtocolPort
API GatewayNode.js · ApolloGraphQL / REST4000
AuthJWT sessionsgRPC50051
ChatbotConversational assistantREST4001
CourseLearning contentGraphQL4002
QuizAssessment + eventsgRPC / Kafka50052
RecommenderTensorFlow.jsKafka consumer4003
NotificationPush / in-appKafka consumer4004
TrackerEngagement metricsREST4005

The public repository covers the platform side only — the robot firmware and the embedded stack are not part of it.

/01

Learn by making

No-code programming

A Scratch-inspired block editor turns movement, animation, expression, and dialogue into pieces children can snap together. Robotics becomes something they author, not something they watch.

/02

Privacy by design

Local-first processing

Speech and vision run on the robot itself. Keeping perception at the edge means a classroom can use the robot without a child’s voice or face becoming someone else’s dataset.

/03

Interaction that reads

Human–Robot Interaction

Face, heartbeat, head turn, and voice are designed as one signal set, so the robot’s state is legible at a glance — attention, thinking, and answering never have to be explained.

Recognition

On stage at TSYP 11

IEEE TUNISIA SECTION · 2023
The AICOS team on stage at the TSYP 11 congress, receiving the PES Challenge certificate of recognition alongside the jury and IEEE organizers.
3rd place · PES ChallengeAICOS was presented at the 11th IEEE Tunisian Students and Young Professionals Congress, where the project took third place in the Power & Energy Society challenge.

Embedded

PythonC / C++Raspberry PiArduinoGPIOI²CUART

Intelligence

OpenCVComputer VisionSpeech-to-TextText-to-SpeechEdge AI

Platform

Node.jsRESTGraphQLgRPCApache KafkaMQTTMongoDBDocker
AICOS · 2023 — 2024Esc to close