Canny is a robot made from a can and it is a music lover! Using simple real-time interpreter on robot’s Teensy 3.1 microcontroller board, eye color, eyebrow angle and music noted from robot can be changed at any time. For Canny’s reprogramming, you only need a pair of headphones!


To encode the 1s and 0s of data transmitted via the headphones, audio frequency shift keying (known as AFSK) is sent from a webpage. Simply put, AFSK uses two frequencies and shifts between them to encode the data. It's important that the frequencies chosen work with standard headphones, so I picked 12,345Hz and 9,876Hz as the high and low values, respectively: easy to differentiate and still well below the common 20,000Hz audio cutoff (they're also fun numbers since they count sequentially up and down in order).

While it’s quite feasible for a microcontroller (such as Arduino) to directly process the incoming audio from a microphone and decode the data, the processing overhead, precise timing required, and need for error detection can be major hurdles. So instead, I decided to decode the data in hardware (via a simple PLL circuit) that in turn outputs serial UART data that most microcontrollers can manage directly and access with just two lines of code


Also see:

Safe And Autonomous Drone —It's Fleye

Thimble: Monthly Delivered Educational Kit

Ho-Ho-Ho! This Is An Arduino-Powered Christmas Calendar

Join DIYZER Beta List