4 ms·
Raspberry Pi Pico as AM Radio Transmitter
- hulitu 7mo ago> Raspberry Pi Pico as AM Radio Transmitter The fact that you are receiving it with an AM radio, doesn't mean that you are transmitting AM.
- tejtm 7mo ago"A rose by any other name would smell as sweet" -- Bill
- mikeyouse 7mo agoOn off keying at 1,000khz is AM transmitting though?
- crims0n 7mo agoAM is short for Amplitude Modulation, and by definition needs a carrier wave. This is more like controlled interference, still impressive though.
- mikeyouse 7mo agoBut on-off keying is amplitude modulation… just with a 100% modulation index.. https://en.wikipedia.org/wiki/On–off_keying https://en.wikipedia.org/wiki/On–off_keying
- Animats 7mo agoEmitting a square wave as RF blithers all over the RF spectrum. At least put a bandpass filter on the thing so it stays in-band.
- benj111 7mo agoBy the same token, if the AM radio is receiving something other than AM, it isn't an AM radio. Or we could just use words that are useful for communicating things.
- bitwize 7mo agoThis is the first use people cooked up for the MITS Altair computer, which at the time could only output to its blinkenlights without expansion. Before a tiny company called Micro-Soft released BASIC for the thing, some madlad at the Homebrew Computer Club found a way to spin the CPU in loops tight enough that the interference could be picked up as tones on an AM radio, allowing for music to be created. Good to see the old traditions are still alive.
- westurner 7mo agoGSMem (2015) 1-5.5m/30m with 3G from the RAM bus TEMLEST-LoRa (2025) 87.5m with LoRa over display cables LoPHY (2024) 700m with LoRA MAGNETO (2021) CPU-generated magnetic fields "Rowhammer for qubits" describes hypothetically using electron tunneling and magnetically biased bit flips in standard RAM to simulate quantum operators. I've heard stories of ham radio clubs teaching how to make a coaxial antenna out of coaxial cable (cable TV copper cable) "Can you hotwire this computer to transmit a tone through the radio?" — Transformers (2007)
- mschuster91 7mo ago> GSMem (2015) 1-5.5m/30m with 3G from the RAM bus What the fuck, that's crazy. For those similarly bewildered, look here [1]. [1] https://www.usenix.org/conference/usenixsecurity15/technical-sessions/presentation/guri https://www.usenix.org/conference/usenixsecurity15/technical...
- anfractuosity 7mo agoBased on a repo I found that twiddled the memory bus, I transmitted audio from a wav file via Pulse Density Modulation - https://github.com/anfractuosity/musicplayer https://github.com/anfractuosity/musicplayer
- anthk 7mo ago>I've heard stories of ham radio clubs teaching how to make a coaxial antenna out of coaxial cable (cable TV copper cable) That's Teleco 101, basically the first lessons from a Teleco trade/vocational degree. And OFC known at any electrician degree.
- juancn 7mo agoI don't get why PWM wouldn't work? Would the harmonics make the tuner ignore the signal? Because the speaker is still slow, so if it got to it, there should be audio, but maybe the circuit filters out the PWM signal outright?
- nom 7mo agohttps://vanhunteradams.com/Pico/AM_Radio/AM.html https://vanhunteradams.com/Pico/AM_Radio/AM.html
- pesfandiar 7mo agoHighly recommend his Pico-based microcontroller course: https://www.youtube.com/playlist?list=PLDqMkB5cbBA4GisLzRSqw5x5G38M4zlkr https://www.youtube.com/playlist?list=PLDqMkB5cbBA4GisLzRSqw... The PWM-based modulation is interesting, but as an amateur, I couldn't fully understand it or trust that the radio receiver reliably picks up the duty cycle as amplitude.
- anfractuosity 7mo agoIf you PWM a signal, I presume you could add a filter to convert to amplitude changes?
- lormayna 7mo agoPlease use an appropriate filter for the band that you are transmitting, otherwise you will pollute all the near frequencies with spurious.
- mk_stjames 7mo agoI want to point out that what keeps this 'OK' is that the little wire is so 'electrically short' compared to the actual wavelength at 1000khz (a real quarter wave antenna at that freq is like 75 meters)... and thus this limits the power of this 'transmitter' to probably nanowatts. If the PIO pin could drive a fair amount of current at 3.3v into a long enough wire at that frequency you'd start to get into milliwatts, and AM radio is NOT a band that even amateur license operators can broadcast over a a certain power on. FCC part 15 dictates no more than a 3 meter antenna for personal devices at AM frequencies which is what does the power limiting essentially. The harmonics fall off quick enough on such a setup that it wouldn't really be a problem - but the only way to really KNOW that is to have a real solid understanding of how this 'radio' you've just made is working, meaning how that square carrier wave is really being driven off the PIO pin, and thus you need the requisite EE knowledge and/or ham radio test equipment and experience. I've seen more and more of these 'ChatGPT coded up a radio transmitter' posts and it kinda rubs me the wrong way. I'd like to see more calculations and disclaimers for people showing some responsibility with radio, and if it drives people to studying and taking an amateur radio license test that would be for the better...
- pesfandiar 7mo agoMea culpa. Without the proper knowledge or measurement equipment, I observed that the audio would fade out after a 30 cm distance. Combined with running it for mere seconds to test and record a demo, I assumed to be in the clear with the spirit of the regulations. Appreciate the reminder to be responsible with RF.
- cadr 7mo agoI don’t know what the regulations are in your country (looks like you are maybe in Canada?), but in many countries it is straightforward to get an amateur radio license, and then you can have all sorts of fun (under the rules).
- tl2do 7mo agoTransmitting on AM broadcast frequencies is generally prohibited unless it meets an extremely low-power exemption , even if you have amateur license(I have a Japanese amateur radio license). A practical way to reduce risk is to put a large resistor before the antenna so the radiated power stays within that exemption. You could start with 100 MΩ; if the receiver cannot pick it up, try 10 MΩ, and so on.
- fainpul 7mo agoFM radio with an ATTiny: https://spritesmods.com/?art=avrfmtx https://spritesmods.com/?art=avrfmtx
- gsliepen 7mo agoSomething similar: https://www.youtube.com/watch?v=7t7_naYJnHo https://www.youtube.com/watch?v=7t7_naYJnHo Source code can be found here: https://github.com/spookysys/attiny-synth https://github.com/spookysys/attiny-synth
- peterbmarks 7mo agoYou think that's fun, rpitx will blow your mind: https://github.com/F5OEO/rpitx https://github.com/F5OEO/rpitx
- ajot 7mo agoThe 101things radio stuff is super cool too! https://101-things.readthedocs.io/en/latest/ https://101-things.readthedocs.io/en/latest/
- tl2do 7mo agoGiven GPIO frequency limits, reproducing a beautiful sine wave for a 1000 kHz carrier is a real challenge. He should borrow an oscilloscope and measure the output waveform.
- guenthert 7mo agoAn oscilloscope is the wrong tool for that. You can tell the difference between kind-of-square and kind-of-sine wave using one, but hardly more. At least DSO often have a FFT option and on the new ones with 12bit ADC that might actually be more than just a gimmick. You'd want to use a spectrum analyzer to verify that other frequencies are present only at very low levels. TinySA might be the cheapest option or an used Digilent Analog Discovery.
- anthk 7mo agoIf you use GNU+Linux/BSD or anything with an X server, by tweaking the modelines you can broadcast a song over AM by using harmonics from your screen. Search for Tempest for Eliza.
- genxy 7mo agoThe RP2350 can write at 175MB/s using the HSTX, https://github.com/steve-m/hsdaoh-rp2350 https://github.com/steve-m/hsdaoh-rp2350 more than enough for SDR. https://www.digikey.com/en/maker/tutorials/2025/what-is-the-rp2350-high-speed-transmit-interface-hstx https://www.digikey.com/en/maker/tutorials/2025/what-is-the-...
- STARGA 7mo ago[dead]
- jcalvinowens 7mo agoI don't mean to pick on the author... but there are some common LLM-isms in here which are really starting to annoy me: return (int64_t)(now_us - deadline_us) >= 0; ...is a very silly way of saying: return now_us >= deadline_us; The function is named incorrectly, "deadline passed" would be: return now_us > deadline_us; ...although the calling function is correctly called "wait until", making it more confusing if you had to care about the difference. The weirdly pedantic use of stdint.h types with unnecessary casting is another LLM-ism I see more and more. Passing int8_t to a function by value is really weird... and the second half of this conditional: if (midi_note < 0 || midi_note > 127) { ...can never be true, INT8_MAX is 127. None of this is a huge problem on it's own. But the cognitive cost of a million odd little things like this adds up really quickly across a large codebase when you're trying to debug something.