
System Bus Radio - sssilver
https://github.com/fulldecent/system-bus-radio
======
kens
Generating music via radio interference goes way, way back. The IBM 1401
(1960's era) could do
this:[https://www.youtube.com/watch?v=EPk8MVEmiTI](https://www.youtube.com/watch?v=EPk8MVEmiTI)
It could also play music on the line printer by banging out the right sequence
of characters.
[http://mail.computerhistory.org/pipermail/1401_software/2009...](http://mail.computerhistory.org/pipermail/1401_software/2009-February/000289.html)

Strangely, the 1401 radio music was later set to orchestra and released as a
CD by an Icelandic composer:
[http://www.npr.org/templates/story/story.php?storyId=7408766](http://www.npr.org/templates/story/story.php?storyId=7408766)

~~~
semi-extrinsic
Old HP scanners used to have a music-making easter egg:
[http://youtu.be/8JwU5mcIwDw](http://youtu.be/8JwU5mcIwDw)

------
jventura
For those that do not have a Mac or AM radio, I made a small video for you:
[https://youtu.be/oXAeGZaka7o](https://youtu.be/oXAeGZaka7o)

It's a Macbook Pro late 2013 and a pretty stock FM/AM radio.

~~~
JetSpiegel
[https://www.youtube.com/watch?v=Nroc2BtO6NU](https://www.youtube.com/watch?v=Nroc2BtO6NU)

There's already a PR with Linux support, it works! There's another PR to play
the Super Mario theme, that also works.

~~~
jventura
Couldn't make the PR with the Super Mario theme play on my Macbook. It played
only the first two notes than it got stuck there.

------
corysama
Somewhere out there is the story of the guy who brought his Alto computer and
electric guitar to the infamous Computer Club. He set the guitar on the
computer and the speaker started playing Mary Had A Little Lamb. He had
written a program to set and unset registers at specific frequencies.

~~~
stevetrewick
According to Steven Levy's 'Hackers'[0] it was Steve Dompier's Altair, it was
a radio not a speaker, and the tune was the Beatles' Fool on the Hill.

[0] Which it turns out is online at
[http://www.gutenberg.org/cache/epub/729/pg729.html](http://www.gutenberg.org/cache/epub/729/pg729.html)

~~~
GFK_of_xmaspast
Question to Radio Yerevan: "Is it correct that Grigori Grigorievich Grigoriev
won a luxury car at the All-Union Championship in Moscow?"

Radio Yerevan answered: "In principle, yes. But first of all it was not
Grigori Grigorievich Grigoriev, but Vassili Vassilievich Vassiliev; second, it
was not at the All-Union Championship in Moscow, but at a Collective Farm
Sports Festival in Smolensk; third, it was not a car, but a bicycle; and
fourth he didn't win it, but rather it was stolen from him."

~~~
nine_k
(The canonical version says something like "The information is generally
correct, but subject to four adjustments".)

------
jpalomaki
What about receiving these communications using computer without special
hardware? Could this interfere with audio, wifi or some other component in
away that could be detected by software?

Quite certainly decent bit rates would be out of question, but would it be
possible to pass any information between two computers using this?

~~~
mafuyu
It would certainly be very difficult. If you could get the bus noise near the
2.4GHz freq range (unlikely), you could use the wifi of the other computer to
potentially receive.

Another thing people have experimented with is using the speaker/microphone at
above human hearing range. This method usually falls flat because crappy
laptop speakers have a hard time going above 20kHz.

One thing I could potentially see working is a laptop with a hard drive
generating vibrations with the motor. Then, a smartphone or laptop with an
accelerometer could pick up the signal using the coupling through a table.

~~~
simcop2387
Wifi being so high bandwidth it'd be very difficult. Bluetooth Low Energy
supports very small bandwidths and would be significantly easier to generate
in the end.

You generally don't get good enough control over the motors or voice coil in a
hard drive to be able to make vibrations like that. I'd probably look at
controlling the fans instead to get a similar effect and use the microphone to
listen for the noise from them.

~~~
mafuyu
I was thinking along the lines of hard drive spin down/spin up due to power
state configurations. The fans would probably be easier, though, provided you
could pick up on it.

------
hansjorg
Very interesting. Reminds me of a similar project from Fabrice Bellard, using
a VGA card to broadcast a DVB-T digital television signal:

[http://bellard.org/dvbt/](http://bellard.org/dvbt/)

~~~
Swannie
Thanks, this was at the edge of my memory, but I was struggling to recall :-)

I think Fabrice's demo is much more interesting, as it's significantly denser
information.

------
xlayn
I wonder if deployed around the world there is a network of radios sync by GPS
to receive time encoded encrypted communications signals of every electrical
powered devices configured to transmit according to the same principle and all
the things about security are just a curtain behind the capability of
capturing everything that has already been deployed.

Given that this is CPU and subsystems related doesn't have anything to do with
software running... it could be capture and executed by a routine in the CPU
out of every possible observance by dedicated circuitry, this would fall under
all the requisites mentioned by the poster

    
    
        Be emitted by the computer processor and other subsystems
        Escape the computer shielding
        Pass through the air or other obstructions
        Be accepted by the antenna
        Be selected by the receiver
    

Neurosis off...

Edit: Neurosis on

You know what escapes computer shielding? cables... like the ones with cpus
that are used for connecting to external devices...

Neurosis off.

~~~
lost_name
Is what you're looking to be paranoid about?

[https://en.wikipedia.org/wiki/Tempest_(codename)](https://en.wikipedia.org/wiki/Tempest_\(codename\))

~~~
j_s
Also
[https://en.wikipedia.org/wiki/Van_Eck_phreaking](https://en.wikipedia.org/wiki/Van_Eck_phreaking)

~~~
Arubis
And thus, it's obligatory that someone recommend Neal Stephenson's
_Cryptonomicon_, in which this features quite heavily.

~~~
ibmthrowaway218
And, within 24 hours or so someone will submit the Van Eck Phreaking Wikipedia
page link as a standalone submission on HN.

~~~
fabulist
As long as we're making tangential recommendations and expecting to be
reintroduced to things within 24 hours, I'd like to throw John Dies at the End
into the ring.

~~~
raddad
RF leaks are an old tune, NSA was using it back in the 60's I believe. There
was an article in Wired about this topic in 2008[0] Gene Hackman and Will
Smith in a movie Enemy Of The State (2009)[1] hinted at this technology.

[0] [http://www.wired.com/2008/04/nsa-releases-
se/](http://www.wired.com/2008/04/nsa-releases-se/)

[1]
[http://www.imdb.com/title/tt0120660/?ref_=nm_flmg_act_10](http://www.imdb.com/title/tt0120660/?ref_=nm_flmg_act_10)

(edit for formatting)

------
moyix
Another bit of prior work was Tempest For Eliza [1], which generated patterns
on old CRT screens to play music (arbitrary MP3 files!) on nearby AM radios.

Edit: And here's another one that transmits data over radio by toggling GPIO
pins and the UART on a cheap laser printer:
[http://www.funtenna.org/](http://www.funtenna.org/)

[1] [http://www.erikyyy.de/tempest/](http://www.erikyyy.de/tempest/)

------
iconjack
One more example, from the 70s: TARGET, a text-mode shootem-up on the SOL-20
had sound effects—just put your transistor radio (every kid had one) near the
computer while playing. Took a bit of futzing with the tuner, but there used
to be more time in the day.

~~~
kpil
Yes. What happened to time? I tried loading a C64 game from tape - and I could
not believe that it took that long when I was a kid.

------
dwyerm
This is probably the wrong reaction to this article, but it is mostly making
me nostalgic for the distinctive musical RF interference that comes from a C64
while it is in a FOR delay loop.

~~~
amyjess
That's not the only part of the C64 you could make music out of.

My co-worker told me of a program he downloaded from a BBS back in the day
called "Drive Music" that turned his C64's floppy drive heads into a musical
instrument.

~~~
threeio
[https://www.youtube.com/watch?v=5gnMgmlKi_o](https://www.youtube.com/watch?v=5gnMgmlKi_o)

~~~
beamatronic
I had this! It was amazing but IIRC it came with a disclaimer that you may
need to re-align your drive heads afterwards.

------
FreeFull
There also used to be a program that would transmit audio over radio waves
using a CRT monitor.

~~~
FreeFull
Here it is: [http://www.erikyyy.de/tempest/](http://www.erikyyy.de/tempest/)

------
peterwwillis
Andrews Airforce Base's Emission Security Information Guide
[https://web.archive.org/web/20011117002220/http://www.andrew...](https://web.archive.org/web/20011117002220/http://www.andrews.af.mil/89cg/89cs/scbsi/emsecguide.doc)

------
ramgorur
I am in kind of dark here, where is the antenna? the wires on the system bus?
or the copper coil in the speaker? could someone please explain it a little
bit more?

~~~
jhallenworld
It's just leakage. Any high power component which can be controlled by the
program is likely to do it. Remember that the radio receiver's gain is
essentially infinite- the limit is the noise floor. If there is any leakage
above the noise floor, you are going to pick it up.

There are lots of related tricks: tune a communications receiver to 455 KHz,
and you will pick up the station that a nearby radio is receiving (because
it's picking up IF leakage). Also the inverse works: the IF amp is where all
the gain is, so if you transmit on 455 KHz, you can jam nearby AM radios no
matter what they are tuned to. My dad did this when he was a kid in the 40s
with a single tube transmitter.

------
y04nn
It's what have been done in 1977 on the MITS Altair 8800 by Steve Dompier at
the Homebrew Computer Club. The beginning of the personal computer history.

~~~
kw71
We did this on the zx81 too. I think there was a game that used an AM radio
for sound. It was certainly written up in the contemporary computer magazines.

I guess this will be rediscovered every time someone happens to figure out
timing loops while they have a radio nearby.

------
OrangeTux
> Instructions in this program cause electromagnetic radiation to emit from
> the computer.

I understand that part. but don't understand the technical details. Could
someone elaborate a bit how this works?

------
calebm
Just tested on a MacBook Pro (Retina, 15-inch, Late 2013) and it didn't work.
(Although I see in the README it says to run it on an Apple MacBook Air
13-inch, Early 2015). Anyone else get it to work?

~~~
klagermkii
Works here on a Retina 15-inch mid-2012 MacBook Pro. You've got to have the
antenna real close to the machine (talking 10 cm here), turn the dial pretty
much to the end of the AM band and then you can hear the tune through loads of
AM static.

------
stephengillie
This is the same idea as using an AM radio as an audio tachometer in old cars.
You can hear the ignition system hum rise and fall in pitch on the radio as
the engine rotation rate changes.

------
jmount
Neat. In the 1970s there was a program that triggered the S100 bus of the time
and played Flight of the Bumble Bee on a nearby radio.

~~~
dbcurtis
Ha Ha! Yes. I was thinking the same thing. My old college roomie had an old
8080 system (Cromemco??? I can't remember.. it was the pre-Apple II days...)
and used to run that program and similar radio noise makers. I think there was
some space game that used bus noise for weapon effects.

~~~
jmount
Mine was IMSAI 8080. But I had forgotten- I think one of the Star Trek games
did the phasers on the radio.

------
pierrec
" _Different results will be achievable with different equipment. Please send
your results to sbr@phor.net_ "

I think the barrier to entry for this is raised by the fact that most people
don't have AM receivers anymore. If I find one lying around though, I will
certainly give this a try.

Ah, and apparently this proof-of-concept works exclusively on OSX for now.

~~~
croddin
Almost all cars still have them, just bring a laptop into a car.

~~~
devy
BMW i3 has the AM hardware builtin but disabled it in firmware [1] due to the
exact same reason: electromagnetic interferences caused poor quality of the AM
reception.

Obviously, AM radio on i3s can be re-enabled by firmware hacking - called
"coding". [2]

Even with the full metal body/frame, AM radio noise caused by EMI emitted from
EV motor/circuits was still significant. I guess it's still VERY HARD to
shield these EMIs.

Full disclosure: I've owned BMW ActiveE and BMW i3.

[1]
[http://www.greencarreports.com/news/1098893_bmw-i3-electric-...](http://www.greencarreports.com/news/1098893_bmw-i3-electric-
car-quirk-no-am-radio--but-why)

[2] [http://www.greencarreports.com/news/1099782_bmw-i3-rex-
elect...](http://www.greencarreports.com/news/1099782_bmw-i3-rex-electric-car-
coding-unlocks-features-owners-want-and-may-void-warranty)

~~~
mikeash
The Tesla Model S has AM. It's fun to tune the radio to an unused frequency
and drive around. The radio picks up a ton of noise that sort of emulates just
a little bit how a loud gasoline engine would sound.

I hear that they've removed AM from the Model X.

~~~
devy

       The radio picks up a ton of noise that sort of emulates just a little bit how a loud gasoline engine would sound.
    

It's the same behavior in BMW EVs(i3/i8/ActiveE/MiniE). It's not a constant
noise on AM radio but really when you press the accelerator pedal hard on a
quiet street could you hear the interference. BMW consider that unacceptable
based on their "standards".

Apparently a lot ofTesla Model S owners agree with BMW on the subpar AM radio
reception and complaint on their forum[1], which was probably why AM radio
removed from Model X. I do consider that a surprise feature (of emulating
engine revs) albeit it's a bit annoying sometimes.

[1] [https://forums.teslamotors.com/forum/forums/am-radio-
station...](https://forums.teslamotors.com/forum/forums/am-radio-stations-
make-whir-sound-car-accellerates-and-slows)

~~~
seanp2k2
Funny that alternator whine is the bane of all car audio installers and a
similar thing is a feature in EVs :)

------
soheil
I did something similar back in the day using CRT monitors that displayed the
right image at the right time to produce desired radio waves. The range was
very limited, however, and lots of background noise but you could certainly
hear the music that was playing if you tuned your radio and brought it real
close to the monitor.

------
mhei
Usenix paper this code mentions in the README, includes presentation video:
[https://www.usenix.org/node/190937](https://www.usenix.org/node/190937)

I'll try to find time to try to transmit some data this way and receive it
with my rad1o.

------
hookshot
Worked great on my MacBook Air (13-inch, Early 2015) with an old panasonic
boombox. Very cool!

------
chrischen
Can this read other data in the system bus?

------
kylixz
If I put my ear up to my late 2013 rMBP I can actually hear the tune playing
without breaking out my SDR. Cool.

------
calebm
Wow, if this works, that is awesome!

------
Kinnard
Fascinating!!!

------
throwaway21816
RIP Airgap

