A programmable birdsong synthesizer built with an RP2350 microcontroller (RP2040) and MCP4822 DAC can generate, record, and playback bird frequency sweeps by using a slide potentiometer to control frequency, with playback speed adjusted to simulate natural bird calls that are too fast to produce manually; the device allows users to record frequency sweeps to keys and compose sequences by pressing the pound key, enabling the creation of realistic bird songs that can be recognized by Merlin bird identification software.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
Programmable birdsong synthesizer on RP2350
Added:This is a video demonstration of a programmable bird song synthesizer.
Uh I'm going to start up Merlin here and talk through how this works. So, what we're looking at on this breadboard is a a Pi Pico 2, so that's an RP2040 microcontroller.
That's communicating over SPI to a digital-to-analog converter. This is the MCP4822.
And this digital-to-analog converter is connected to the audio socket here into which I've plugged some speakers.
This is a 4x3 keyboard through which I can control the whole thing. And then up at the top is a slide potentiometer um that I'll show how that's used in just a moment.
Um this device can be used to do a bunch of different things. I'm going to demo each of the features.
The first thing this device can do is behave just as a tone generator, where the tone that's being generated is set by this slide potentiometer. So, let me just demo that. If I push zero, this becomes a tone generator, and as I slide this, the frequency of the tone will change. Let me And you'll be able to see this tone on the spectrogram in Merlin.
And pushing zero again silences the tone generator.
If I want to record a particular frequency sweep, I can push the asterisk key, and then as for as long as I am holding down any one of the keys one through seven, it will record the device will record the frequency sweep that I program in by way of the slide potentiometer.
Then when I release that button, the recording stops, and pressing and releasing it again will play back the frequency sweep that I've just recorded.
So, let me demo that. I'll push the asterisk key, which puts me into record mode, and then I'll hold down seven to record a frequency sweep. When I release the seven, that frequency sweep will have been recorded.
So, now that frequency sweep is recorded, and when I push seven, it will play back.
And you'll notice that it plays back about eight times faster than I recorded it. The reason for that is songbirds modulate their frequencies really quickly, and it would be very hard to move my finger fast enough in order to match their spectrograms. So, I record much slower than I play back.
>> [clears throat] >> So, that's just sort of a sound that doesn't sound like much. It starts to get interesting when we record frequency sweeps that sort of sound songbird-like. So, let me try to do that.
This is starting to sound a little like a bird.
And you'll notice that I reprogrammed the seven. If I wanted to record another sound, I could do that by just going into record mode and holding down a different key. So, let me do that now with eight.
This is starting to sound like a bird.
And before I started recording, I went through that process to to program a few frequency sweeps into some of these keys. So, for key one, I've recorded this.
Key two, key three is just a little silence. Key four, five, six.
And in order to compose a bird song, there's another feature of this device that allows me to do that. If I push the pound key, I can then push a sequence of keys, and the device will remember the sequence that I pressed. And when I push the pound key again, it will play back that sequence in immediate succession. So, let me just demonstrate that.
And now I'll push the pound key to play it back.
Let's try it again and see if we can trick Merlin.
And now I'll play that back.
And there you can see northern or uh or Merlin thinks that we have just played back a northern cardinal. And sometimes I have found if I go into record mode I'm not sure if this will work or will work or not in real time, but I have found that if I record that rapidly oscillating low-frequency uh sound and play it back faster, every now and then Merlin will think that it's a rock pigeon or even a wild turkey.
But not during this recording.
And pushing zero puts me back into tone generator.
Pushing any of the keys will play the sound that is recorded to that key.
And I can replace the sound associated with that key by just going back into record mode and re-recording.
>> Mhm.
Related Videos

Setting up a curved screen with Immersive Calibration Pro 4 and multiple cameras (P3D v4)
FlyerOneZero
23K views•2019-07-21

Robot Learning with Sparsity and Scarcity
allenai
379 views•2025-10-14

Jorge Mendez-Mendez: Unlocking Lifelong Robot Learning With Modularity (2023-10-05)
umassmlfl
237 views•2024-01-06

Northwestern’s MS in Robotics: Student Robotics Projects, 2023
NorthwesternEngineering
1K views•2024-05-31

"Perfect" Turns: Turning by the Gyro - FIRST LEGO League (FLL) SPIKE Prime + EV3 RePlay Programming
ZacharyTrautwein
94K views•2020-10-02

Gorkem Secer: TSLIP-based Deadbeat Running Control of Bipedal Robot ATRIAS
DynamicWalking-wv6qm
298 views•2018-06-22

Self-Driving Cars Need Lessons On Human Drivers | Maddie About Science
skunkbear
26K views•2018-08-21

Milrem Robotics’ THeMIS UGVs used in a live-fire manned-unmanned teaming exercise
MilremRobotics
99K views•2021-05-20
Trending

we're almost finished the house (ep.125)
JennaPhipps
347K views•2026-07-22

We Finally Know Where Saturn’s Rings Came From
astrumspace
79K views•2026-07-22

BIG BET: Cathie Wood goes ALL IN on Elon Musk
FoxBusiness
89K views•2026-07-22

MIC DROP: Smithsonian Director Called Out For Woke Propaganda
TheAmalaEkpunobi
37K views•2026-07-23