A simple but capable AM transmitter for the Raspberry Pi pico!
Note: Use the https://github.com/earlephilhower/arduino-pico core and install
the RP2040_PWM
library in your Arduino IDE.
The Pico is, to my knowledge, not able to output enough power to disrupt anything significantly as long as you're not near an airport (if you are, then it ABSOLUTELY IS), but with a long enough antenna, will get you in trouble and annoy others. Please use this only for experimental and educational purposes and do NOT use this in a way which might cause any disruption!
My antenna for this is barely large enough for half of my room to have reception. Please don't go much further than that!
Please use a LPF when connecting to larger antennas!
The Pi generates a 1557 kHz PWM signal, which will be the carrier wave. The
frequency is not changed, only the pulse width. The pico does pulse width
changes according to the signal
, and outputs the AM signal on pin 15.
A sine wave signal is available on the GP12
pin! This GP12
pin can be
connected to the ADC pin in order to send a sine signal out.
Update: The Für Elise melody is available on the GP13
pin now - enjoy
responsibly!
sudo apt install make -y
make install_arduino_cli
make install_platform
make install_deps
make default
Once these steps are executed, the resulting firmware can be found at the
build/rp2040.rp2040.rpipico/picoAM.ino.uf2
path.
- Flash the .ino file using the Arduino IDE
- Tune in to 1557 kHz AM on the radio
Do you want to transmit an actual voice signal instead of the (possibly annoying) sine wave?
Just connect the MAX4466 Electret Microphone Amplifier with Adjustable Gain Module
to the Pico, and there you go!