Blog Home

This Arduino Nano RP2040 Connect-powered flute blows your PC’s mouse away

Arduino TeamApril 28th, 2024

The computer mouse has existed in its current form since the late 1970s. But as musician and software engineer Joren Six points out, it can become boring after a while. His novel reinvention of the mouse eschews moving a physical interface in favor of sound, with different frequencies causing the cursor to move in a predictable manner.

For this project, Six went with an Arduino Nano RP2040 Connect because it not only supports USB HID functionality, but is also fast enough to determine frequencies based on the input from the board’s onboard PDM microphone. The program running on the Nano RP2040 Connect works by initializing the microphone and a YIN-based library, which finds the fundamental frequency from an array of samples. From here, the Nano RP2040 continuously reads new samples from the microphone and passes them to the algorithm before getting back the result and a confidence value.

The Nano RP2040 Connect takes each result frequency and maps it to either a horizontal or vertical motion the cursor can execute, and a frequency around 900Hz causes the mouse to send a click event to the host computer. Realizing that not everyone has access to the same hardware, Six also wrote a Chrome extension that replicates this functionality via the browser’s Microphone API.

To see more about this project, you can read Six’s write-up here.

Categories:Arduino