Long, covid-avoiding lockdown evenings provided me with an ample opportunity to follow up on an old idea I had when I was working with audio processing. I was expecting to discover an issue that would make it a dead-end at some point, but at each iteration I was surprised about how well it worked, so I was left with no other option but to continue 🙂
Software – beat detection & movement
- The madmom library for real-time beat detection
- Phase and frequency fitting on beat signal
- Continuous wave generator that can adjust phase & frequency to beat signal
- Simple inverse-kinematics-based arm movement
- 2 custom-coded animation routines triggered by gestures
More details at https://github.com/vdorot/musical-robot
Hardware – electronics
- Compute: Odroid N2+
- A cheap wireless Lavalier USB microphone meant for phones
- Servo driver board with PCA9685 chip
- Hextronic HXT900 analog servos (3 pieces)
- Time-of-flight proximity sensors: VL53L1X (2 pieces)
- Pimoroni Blinkt! – Strip of APA102 (DotStar) adressable RGB LEDs
- Step-down buck converter for servos and LEDs (12 to 5V)
- A rat’s nest of wires
Hardware – case & arm
- Case made of 4mm thick beech plywood
- Pieces cut by a big Co2 laser cutter at a local FabLab
- Box vectors generated with boxes.py and customized in Inkscape
- Finished in shellac (which means it definitely isn’t vegan)
- Arm parts made of untreated 2mm “aircraft grade” plywood
More articles with all the juicy details
- Hardware, electronics (not written yet, drop a comment if you’re interested)
- Software (not written yet, drop a comment if you’re interested)
This entry is part 3 of 1 in the series Johny, the Musical Robot
- Johny, the Musical Robot