icarus.
a small flying robot with a face, a voice, and a personality.
icarus is a small flying robot with a personality. a round display gives him a face, he hears you and talks back, and eventually he gets wings. he's named after the boy who flew too close to the sun; in the myth that's a cautionary tale, here it's a feature.
what he does
- expression a round color display with animated eyes: focused, scanning, sleepy, proud, alarmed. always on, including mid-flight.
- voice conversational AI, split in two: wake word and reflexes run local on the MCU, heavier reasoning runs on a desktop companion app over wifi.
- vision a MIPI CSI camera into an STM32N6 with an NPU: face detection, object recognition, eventually visual SLAM.
- motion servos for posture and gesture first; brushless motors and a flight stack for the flying form.
- touch capacitive touch on the face. poke him, he reacts; pet him, he calms down.
the plan
building a flying robot from scratch usually fails because too many things have to work at once. so icarus comes in three versions, each isolating one new risk:
- v1 the puppet
a stationary desk build that proves the whole software stack: face animation, the voice pipeline, the personality engine, sensors, and wifi to the companion app. runs on a nucleo dev board with breakout shields. no flight, no custom PCB, just the brain of icarus.
- v2 the walker
a walking chassis built around the custom STM32N6 carrier board. it proves the production hardware on something that can't fall out of the sky. all the v1 software carries over; the only new things are the PCB and the legs.
- v3 the flyer
same board, same firmware, now in an autonomous UAV quadcopter airframe with a flight controller stack. by this point only the airframe and motors are new; everything else has already been proven on the ground.
where i am right now
v1 hardware is on the way: a nucleo H563 dev board, servos, and the supporting parts, with the dev environment already set up. firmware work starts when the parts arrive. the first goal is small on purpose, an LED and a single servo on PWM, because that's the foundation everything else sits on.
everything past that is in the design phase. the system block diagrams are locked, and the component choices (display, audio amp, mic, IMU) are made. the order from here is firmware, then assembly, then iteration.
build log
build log entries coming soon: dated posts on specific decisions, problems, and milestones, including the parts that didn't work the first time.