23 ms·
Transmits AM radio on computers without radio transmitting hardware
- offtop5 6y agoCouldn't you also encode data in audio itself ? I heard of a project to do this where you send out an inaudible sound and receive it elsewhere
- dboreham 6y agoAnd by modulating keyboard LED brightness, and moving the DVD drawer, DC-DC converter coil whine, and ... any "transducer" controllable by the CPU.
- nomel 6y agoThe coolest example I'm aware of with hiding low frequency content like this was with an ASIC fingerprint mechanism. The tool would modify your design in a very subtle way so that the power it burned would be very slightly modulated. You could detect this with a sensitive thermometer (over many hours I believe it was). Its main use can was to read IDs out of the chips to trace which vendors were leaking/making bootleg copies of your chips.
- woeirua 6y agoYes but you’d have to find a piece of hardware capable of producing sound outside the audible range.
- deleted 6y ago[deleted]
- thehappypm 6y agoYes, definitely! All digital signals basically do this, whether it's an "audio" medium or not. Look up BPSK -- it's the simplest way to send digital signals over an analog medium.
- jonah-archive 6y agoReminds me of Tempest For Eliza, which does this using a CRT (now a little less practical): http://www.erikyyy.de/tempest/ http://www.erikyyy.de/tempest/
- userbinator 6y ago...and Fabrice Bellard's "follow-up" of generating a DVB signal: https://bellard.org/dvbt/ https://bellard.org/dvbt/
- jwilk 6y agoIt doesn't have to be a CRT. An LCD with analog connection works too.
- JoeAltmaier 6y agoThis is actually among the very oldest home-brew software ideas in existance. The original S100 bus machines (e.g. Altair 8800) had apps written to do just this - generate AM radio signals.
- tdeck 6y agoHere's a video of a PDP-8/e playing tunes over an AM radio: https://youtu.be/akvSE5Z474c https://youtu.be/akvSE5Z474c The software dates to around 1975.
- siraben 6y agoWow! The signal is quite clear. How did they produce the AM signals in the PDP-8?
- Johnythree 6y agoSame as in any computer. Simple timing loops to generate repetitive signals.
- yftsui 6y agoRelevant recent discussion: https://news.ycombinator.com/item?id=25440738 https://news.ycombinator.com/item?id=25440738 Waiting for an Air-FM paper now.
- app4soft 6y agoAnd I'm waiting for "Receive WiFi-5G-4G-3G-GPRS-AM-FM-TBA on computers without hardware receivers". Just won't buy RTL's USB-Pin.
- mycall 6y agoMost of these ideas can be done with LimeSDR or USRP B210.
- app4soft 6y ago> LimeSDR or USRP B210. Wow! Does LimeSDR requires some additional hardware to be plugged into my laptop? Or it would be able to 'reuse' some of built-in hardware on, says, 13 year-old laptop?[0] [0] https://nitter.net/app4soft/status/1334266756643364864#m https://nitter.net/app4soft/status/1334266756643364864#m
- mycall 6y agoIf you have a Raspberry Pi, you can do something similar https://circuitdigest.com/microcontroller-projects/raspberry-pi-fm-transmitter https://circuitdigest.com/microcontroller-projects/raspberry...
- soheil 6y agoCan verify does not work on an M1 MacBook Air with BMW AM radio, tried the _mm_stream_si128 version couldn't hear any of the tunes on any frequency between 1550 and 1630 hz. I remember playing with Tempest probably 20 years ago. It worked on a CRT monitor, the bigger the monitor the better, I had a 21"! Even with that I had to get my computer's speakers literally right next to the monitor for it to barely work, but it was absolutely fabulous when it did!
- exDM69 6y agoYour result is hardly surprising as Apple M1 is a different CPU architecture using the ARM instruction set. It is unlikely that the CPU circuitry related to this particular function would be similar to Intel x86. This might not even work with an AMD x86 CPU. Out of curiosity, can you dump the relevant disassembly of the square_am_signal function (using `$ objdump -d mybinary`)? Note that this instruction (_mm_stream_si128) is a SSE instruction that will write 128 bits to memory, more or less bypassing the cache (as long as you write whole cache lines). This instruction is highly specific to the memory architecture in Intel x86 CPUs. When compiling for ARM, I expect that this will just be compiled to a regular store instruction.
- soheil 6y agoI actually compiled it with Rosetta turned on with x86_64 arch. Let me know if you still wanna see the objdump.
- exDM69 6y agoIf you compile it to x86_64, that _mm intrinsic will turn into a single instruction. No need to show the disassembly. Thanks for the info.
- fulldecent2 6y agoThanks for your interest. If you have any advice on other instructions or M1 optimizations, I'd love to hear. My first thought is to synchronize effort of the 8 CPU and maybe even the 8 GPU. That's +12dB right there. We have a multithreaded implementation in the project already.
- siraben 6y agoI just tried this out yesterday. On my MacBook Pro 11,1 running NixOS the signal is clearest at 1620 KHz. The receiver is an older Bose SoundTouch and after 50 cm it degrades to noise.
- etaioinshrdlu 6y agoWill the web app version still work given recent high-precision timing limitations due to Spectre/Meltdown mitigations?
- ChuckMcM 6y agoI enjoy how everyone discovers this "feature." It really is a lot of fun to play with. True story, back in the cave person days, when television only came over the air waves and if you wanted to "own" a computer you shelled out anywhere from $500 to $5000 for something with an 8 bit processor that ran between 1 and 4 MHz and had, usually, much less than 65,536 bytes of RAM, peripherals for these things were few and far between. A couple of serial ports and a couple of parallel ports was considered a "lot" of I/O. You might have stored your programs on an 8" or 5" floppy disk, but if it was before 1978 you most likely stored programs on cassette tape. Anyway ... One of the things you could always count on was that these things radiated all sorts of spurious energy and being relatively low frequency beasts to begin with, finding a harmonic that you could pick up with an AM radio held "near" (where near could be 1' to 10' (.3 - 3m)) that interference and with the judicious use of delay loops cause that interference to modulate to "tones" and thus create recognizable "music." As a kid in high school with just such a computer I can tell you that "playing music" (no matter how poorly) on a nearby AM radio was orders of magnitude more impressive than pointing out by the pattern of lit and unlit LEDs that your amazing machine had just calculated a logarithm. (even though the latter was significantly more difficult from a programming perspective!) Once I got a printer, being able to print out NSFW pictures was a neat trick but for crowd appeal and cheap accessories, music over an AM radio was still the top demo of the time :-)
- entire-name 6y agoI was browsing YouTube the other day, and got recommended something similar: https://www.youtube.com/watch?v=A0VYsiMtrNE https://www.youtube.com/watch?v=A0VYsiMtrNE Very interesting indeed! The title of the video translates to "Electromagnetic festival music".
- wgx 6y agoAwesome! The start could easily pass as a cover version of 'Atlas' by Battles: https://www.youtube.com/watch?v=IpGp-22t0lU https://www.youtube.com/watch?v=IpGp-22t0lU
- 6y ago
- siraben 6y agoAnyone know if it would work on lower end microcontrollers like the Z80? I managed to use the TI-84+'s I/O port connected to a speaker to play simple tunes[0] using a Forth program I wrote[1], but maybe I can exploit the hardware to modulate AM frequencies? [0] https://photos.app.goo.gl/EumYVgyfMN1ncwkQ7 https://photos.app.goo.gl/EumYVgyfMN1ncwkQ7 [1] https://github.com/siraben/ti84-forth/blob/master/programs/music.fs https://github.com/siraben/ti84-forth/blob/master/programs/m...
- isoprophlex 6y agoI copied an assembly program off the net back in ~ 2000 that did AM audio on my TI83! So I'm positive it can be done..!
- siraben 6y agoDo you happen to have a link to it/recall the name? Sounds interesting!
- isoprophlex 6y agoincredibly enough, it's still on the web! https://www.ticalc.org/pub/83/asm/sound/ https://www.ticalc.org/pub/83/asm/sound/ I think you want 'songplay.zip', as it includes an X-files tune. This is probably the one I remember... From the readme: Here is a small song player on the TI-83 (the first I think). This works with an earphone plugged in the link-port (a piezzo buzzer, etc), or with an AM radio...
- siraben 6y agoThank you! Hopefully it can be adapted to run on the 84+.
- mypalmike 6y agoReminds me of the Timex Sinclair 1000 I picked up in the 80s. It has no audio functionality. But I found a program in a magazine which would mess with the video signal or something to generate very rough tones. I seem to recall the program was named "I love the sound of breaking glass."
- a_gopher 6y agoaka Sinclair ZX81. There was such a program in Your Computer that would toggle between fast and slow mode to generate tones. It was a actually a trivial 8 or 16 step tracker, so you could even make beats... And here's the program listing! https://archive.org/details/your-computer-magazine-1982-03/page/n33/mode/2up https://archive.org/details/your-computer-magazine-1982-03/p...
- Koiwai 6y agoHow do you define "radio transmitting hardware"? some hardware that can transmit radio signal or some hardware specifically designed for transmitting radio signal?
- ddingus 6y agoIt's all radio transmitting hardware. If not intended, then shielding and other mitigations are warranted. If intended, making it clean and respectful of the spectrum are warranted. Otherwise, it's a hack! Simple AM radio is a fun tech to explore for a little. For many of us, it was the first real connection to the world and the people in it. Late night AM with a long wire antenna, maybe directional loop, and or tuned coils, filters, is a great experience, particularly on older radios. Starting sometime around the 80's, AM radios got kind of lousy. It varies a little by manufacturer too. Ford, oddly enough, produced great ones into the 00's. Anyway, at night, you get the various stations, and depending on propagation, they could be very far away stations, and also the sounds of the world all mixed together. I can remember late nights listening to all sorts of programs, people telling stories, music, talk programs on a wide variety of topics, and often frank in style and form. And that electric fence, tick, tick, tick. A car starting. Storm brewing. Electric appliances. All sorts of things just added in. As a purist interested in the program, these are all kind of crappy. Hard to ignore. People like FM because it rejects most all of that stuff. But, as a curious person? It is like another sense. Electro phenomena mapped into sound. Very fun, and an interesting way to perceive what's around you. IMHO, this is a big part of why making computer sound on an AM radio is cool. Everything I just wrote applies to the short wave bands too, though those are messy today. Best done away from a metro area. If you want to experience this at all, score an early radio, even a vacuum tube one ( my favorite ), get a long wire and venture out somewhere and just listen. Camping is a great time for it, and I still do every year. For an hour or two, it takes me way back to early times. A portable, transistor one made a while ago is best and still cheap. Older GE Super Radios are real good. The ones made prior to 2010 or so are best, and not expensive.
- Koiwai 6y agoI got downvoted for what? pointing out some inconvenient truth?
- NetBeck 6y agoOn a similar note, I remember the FCC ordering a Bitcoin miner to turn off mining hardware that was emitting 700MHz and disrupting T-Mobile’s network.[1] [1] https://arstechnica.com/information-technology/2018/02/bitcoin-miner-in-nyc-home-interfered-with-t-mobile-network-fcc-says/ https://arstechnica.com/information-technology/2018/02/bitco...
- brutusborn 6y agoI wonder if it would be feasible to build a faraday cage around the miners. A few sheets of metallic cloth and a wooden frame wouldn't be too expensive. https://www.ebay.com.au/i/184562911018?chn=ps&norover=1&mkevt=1&mkrid=705-139619-5960-0&mkcid=2&itemid=184562911018&targetid=920064925573&device=m&mktype=pla&googleloc=9070553&poi=&campaignid=10101785231&mkgroupid=102311926940&rlsatarget=pla-920064925573&abcId=9300368&merchantid=7364522&gclid=CjwKCAiAoOz-BRBdEiwAyuvA653zbutoU2N-8z9tnGow3nHDk3oEv_pXul4us8X9Mxtzd47xVB8LbhoC9SMQAvD_BwE https://www.ebay.com.au/i/184562911018?chn=ps&norover=1&mkev...
- Johnythree 6y agoFaraday cages are a bit of a myth. Unless the metal sheet is continuous with no gaps, and there are no wires passing through the sheet, they will be ineffective. It means that all joints must be screwed or soldered, all doors to have tight joints, and low-pass filters fitted to all power leads, comms leads, etc. And often you need two completely independent layers (connected at only one point) to achieve sufficient attenuation.
- EarthIsHome 6y ago> Faraday cages are a bit of a myth. Unless the metal sheet is continuous with no gaps, and there are no wires passing through the sheet, they will be ineffective. Your microwave oven's cage would like to have a word with you. You can have an effective faraday cage using a metal fence/mesh depending on the frequency you're trying to attenuate and the thickness of the metal. [0] [0]: https://www.quora.com/What-size-of-mesh-should-I-use-to-build-a-Faraday-cage?share=1 https://www.quora.com/What-size-of-mesh-should-I-use-to-buil...
- kens 6y agoThis technique goes back to the early days of computers. Here's a video of the IBM 1401 punch card computer (1959) at the Computer History Museum playing music on an AM radio: https://www.youtube.com/watch?v=EPk8MVEmiTI https://www.youtube.com/watch?v=EPk8MVEmiTI The same computer could also play music using the line printer: https://www.youtube.com/watch?v=Lu4SxJqU9I4 https://www.youtube.com/watch?v=Lu4SxJqU9I4 I discuss how the line printer music worked here: http://www.righto.com/2019/09/risky-line-printer-music-on-vintage-ibm.html http://www.righto.com/2019/09/risky-line-printer-music-on-vi...
- deleted 6y ago[deleted]
- daniel_iversen 6y agoVery cool. And while not quite as cool it reminds me of when people tried the same using the computers fan: https://www.wired.com/2016/06/clever-attack-uses-sound-computers-fan-steal-data/ https://www.wired.com/2016/06/clever-attack-uses-sound-compu...
- ProfDreamer 6y agoReminds me of "Tempest for Eliza" which uses the computer's monitor to generate AM signals: http://www.erikyyy.de/tempest/ http://www.erikyyy.de/tempest/
- erjiang 6y agoIf anyone has a Raspberry Pi and is interested, check out rpitx[0]. It bit-bangs a GPIO pin to transmit arbitrary radio, turning your Pi into a messy SDR transmitter. By connecting a wire to the GPIO pin you can transmit for tens of meters. I attached a low-pass filter to the GPIO pin and was able to control my ceiling fan with my Raspberry Pi. [0] https://github.com/F5OEO/rpitx https://github.com/F5OEO/rpitx Edit: This generates square waves which have harmonics. You will transmit signals on unintended frequencies if you don't use a filter.
- raducu 6y agoRPITX is very poor at AM (3 power levels), but it is still awesome. Digging obscure forums I found it could do LSB and USB, which was an interesting find even for the creator. If you like cheap hack sdrs, you might also want to check https://osmocom.org/projects/osmo-fl2k/wiki https://osmocom.org/projects/osmo-fl2k/wiki -- it is a repourposed HDMI sdr.
- andi999 6y ago"So the FCC won't let me be...."
- mark-r 6y agoThe FCC doesn't really care unless someone complains about interference. Given that the range of this is so low, the signal is unlikely to even reach your neighbors much less interfere with anything.
- skim_milk 6y agoDepends on who's the complainer! If it's an enterprise-level business, the FCC is going to storm in. If it's an individual, it's probably going to have to be whoever the mayor of your town points their finger at when they get a call to their hotline. My technician father was on the end of this once - he helped install a wireless water pressure sensor for the water utility and was called 200 miles back to the customer check out why someone was complaining about TV interference. With some radio test equipment, he determined it was... the complainer's electric blanket interfering with their TV!
- andreareina 6y agoNot just unintentional transmitters, but unintentional receivers too. Any old loudspeaker used to pick up the doot-doot-doot of incoming calls[1] to GSM cellphones. [1] and maybe SMS too, but I don't remember
- forinti 6y agoIn the 90s I had a portable TV that picked up cellphone conversations. You could hear one side of the conversation clearly and the other end was very faint.
- alpanka 6y agoIf I understand this correctly, he uses a SIMD instruction since that switches the most number of transistors at the same time and causes a tiny ripple in chip power line. The receiver sees an aliased version of one of the harmonics. But why is the radiation not shielded by the computer? We have tons of regulation for this kind of stuff AND a metal body that should stop most of the signal.
- colechristensen 6y agoEverything is an antenna, no shielding is perfect. Engineering circuits to reduce EM is actually very difficult, and gets more difficult as you desire less radiation. The regulations are generally about “harmful” interference and being detectable over a short distance isn’t that.
- jrockway 6y agoRadio receivers are very sensitive and you're very close to your computer, both factors that make shielding difficult. And, the shielding isn't perfect -- there are holes for fans, some cases are made out of glass instead of metal, etc. There are regulations, but they don't mandate perfect attenuation. They only specify that your emissions shouldn't interfere with licensed users. Since the licensed users are pretty far away from your computer and the power is very low, it's generally not a problem. (As for sensitivity, remember that GPS signals have a power of something like 10^-16 watts at the surface of the earth, and you can receive those just fine. Radios are very sensitive instruments!)
- LinuxBender 6y agoFWIW, modern PC cases are mostly plastic and clear plexiglass to show off all the RGB LED's.
- andi999 6y agoJust a EU perspective here. There are EMC directives and norms, they generally work like this: the amount allowed for emission needs to be accepted without disturbance (there are two different categories like industrial and non-industrial). Let me give you an example. non-industrial is not allowed to emmit more than 3V/m, but non industrial product are also not allowed to be disturbed by 3V/m. So far so good. This only applies to 'disturbances' or 'non use signals'. Let me explain: Now, radio transmission is different (like a mobile phone). The use signal (which is not a disturbance) is allowed to be much higher, like 40V/m. (So there was a case where a coffee machine broke when putting the mobile on it). This is all in perfect compliance. (of course the manufacturer of the coffee machine hardened the device, but this was market forces). So for the other direction, I am not too sure but it can perfectly fine that the allowed EMC disturbs the reception of a radio signal device. Also EMC is only tested in 'typical' situations. About the legality by using Software to intentionally transmit signal (def not legal without HAM license or proper FCC testates) I have no idea who would be the liable party i n this case.
- api 6y agoBack in the 90s when computers were well under 1ghz, I found that I could crank up the sound card with no music playing and listen to the bus. Sometimes this could actually be useful in debugging. You could hear the difference between an infinite loop and the CPU actually doing useful work.
- mark-r 6y agoThe first time I saw this trick, it was on a DEC PDP-8 in the late 1970's. There were a number of songs available.
- pabbasian 6y agocheck air-fi, using same kinda technic to send data over wifi: https://news.ycombinator.com/item?id=25440078 https://news.ycombinator.com/item?id=25440078
- noduhduhduh 6y agolol a 70 year old hack finally being discovered by macbook users. Congrats! Wim van Eck would be proud of you.
- hotfire911 6y agoI’ve been using an app called Clock Wave to synchronize my watch that does something similar. I’m in Hawaii with no atomic radio tower signal. https://apps.apple.com/us/app/clock-wave/id1073576068 https://apps.apple.com/us/app/clock-wave/id1073576068