
Turn a Raspberry Pi into an FM transmitter - zaaaaz
http://makezine.com/projects/make-38-cameras-and-av/raspberry-pirate-radio/
======
mentos
Just blew my motherboard by updating the bios via one of dell's software
updates and corrupted my bios. The board doesn't have a dual bios
configuration so its corrupted so I can't pull the battery or reset the CMOS.

All of my research showed that most people just pony up and replace the mobo
for $200. Unwilling to give up I kept researching and found that you can turn
your Raspberry Pi into a flashrom to restore your bios.
[http://flashrom.org/RaspberryPi](http://flashrom.org/RaspberryPi)

Waiting on female to female GPIO connectors to come in mail before I can hook
my raspi up to the SPI sockets on my mobo and reflash the bios. Got my fingers
crossed, if this works it will be a great win!

~~~
simcop2387
It should work. If you have serious trouble with that then there are also
devices like the Bus Pirate[1] that can do the same thing (Though I have yet
to do it myself).

It's really neat how easy this kind of thing has become recently with all of
the hobby electronics guys driving the market and opening up doors that 10-15
years ago looked bleak at the time (though that could just be my memory
coloring it).

I have used similar stuff to fix up routers (though haven't had to interface
with the flashrom directly) and install openwrt.

------
sbierwagen
You can also use a bare raspi (plus a couple passives...) as a 10mW QRP
transmitter:
[http://en.wikipedia.org/wiki/QRP_operation](http://en.wikipedia.org/wiki/QRP_operation)

With the right software, plus favorable ionospheric conditions, you can get
really, really good range. This guy did 7,600km, eastern Austria to south
Florida: [http://gerolfziegenhain.wordpress.com/2013/04/13/raspi-as-
ws...](http://gerolfziegenhain.wordpress.com/2013/04/13/raspi-as-wspr-
transmitter/)

~~~
Florin_Andrei
You also need a very, very good antenna for that sort of stunt.

QRP is tough. I'm a licensed HAM radio operator and my Tx has a 5 W final
stage, so I fit right into the QRP limits. It's tough. You're at the mercy of
the ionosphere all the time.

100 W amplifiers are cheap. :)

~~~
sbierwagen
Plus he's doing QRSS using WSPR, which transmits at the breakneck pace of 1.46
baud. Supposedly WSPR works down to -28dB.

[http://en.wikipedia.org/wiki/WSPR_%28amateur_radio_software%...](http://en.wikipedia.org/wiki/WSPR_%28amateur_radio_software%29)

~~~
adestefan
I use a WSPR transmitter that outputs around 200mW on 20m and am easily heard
all over North Americdn and Europe. I've also had two South Pacific reports.

This was into a poorly tuned dipole at 35ft.

------
a-priori
As an amateur radio operator, I think this is fascinating, because they claim
it can transmit on the 2m VHF band (144-148MHz) that's popular among hams.

But I have some concerns about its signal characteristics, since you're
essentially abusing digital hardware (GPIO) to produce a modulated output it
wasn't designed to produce. Someone with a spectrum analyzer should check to
see if it produces any nasty harmonics, or similar noise, that could interfere
with other stations.

~~~
fhars
If you need a datapoint on how noisy those signals are: some people have
combined a 144.6Mhz Raspberry Pi output with a narrow passive bandpass filter
to generate a relatively clean and powerful 433MHz signal (the third harmonic,
which is quite strong in a square wave):
[http://www.skagmo.com/page.php?p=projects/22_pihat](http://www.skagmo.com/page.php?p=projects/22_pihat)

~~~
aortega
Recently I did a similar project in which a malicious hardware device leaks a
victim's data (Password, credit card #, etc.) through a similar technique.

We used an FPGA though, so with a 100 Mhz fundamental frequency we had
harmonics well into the 1.5 Ghz. We called it CPU-SDR. Video here:

[https://sites.google.com/a/groundworkstech.com/index/blog/rs...](https://sites.google.com/a/groundworkstech.com/index/blog/rsa-2014
---about-cpu-backdoors-and-data-exfiltration)

Bonus: Using mutiple PCB traces, you have a basic Yagi-like directional
antenna. Feeding different traces you can modify the RF radiation pattern it
in real-time.

~~~
jrockway
You've indeed invented MIMO.

~~~
aortega
It's more like a Yagi, as currently I feed only one of the "antennas" and the
modulation is very limited.

But messing with the phases should be possible.

------
bqe
If you're interested in getting into RF, I'd suggest getting a software-
defined radio like bladeRF[1]. It allows you to make a lot of cool devices
without being a hardware whiz.

The guys who run it are extremely knowledgeable about RF and there's some
really cool stuff being done with it [2][3].

[1]: [http://nuand.com/](http://nuand.com/)

[2]: [http://bladerf.blogspot.com/](http://bladerf.blogspot.com/)

[3]: [http://www.irrational.net/2014/03/02/digital-
atv/](http://www.irrational.net/2014/03/02/digital-atv/)

~~~
sbierwagen
I wish they had put the $420 price of the basic model on the front page.

~~~
miahi
Yes, it's not exactly in the raspi price range. That range is covered by the
TV-tuner SDR receivers and other USB-stick receivers.

On the other hand, for what it does, that x40 is actually quite cheap.

------
hansjorg
Reminds me of Fabrice Bellard generating TV signals (analog and digital) with
a VGA card.

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

------
ColinWright
There are two previous discussions of this that might also be worth reading:

[https://news.ycombinator.com/item?id=5103031](https://news.ycombinator.com/item?id=5103031)

[https://news.ycombinator.com/item?id=4899505](https://news.ycombinator.com/item?id=4899505)

------
gesman
It will transmit radio noise on many other frequencies. I played with this
stuff when i was a kid to jam neighbor's TV's (they only used antennaes).
Worked like a charm.

It's very hard and expensive to transmit signal on a single frequency. And
very easy to pollute everything.

~~~
corin_
> _It 's very hard and expensive to transmit signal on a single frequency. And
> very easy to pollute everything._

FM transmitters for MP3 players are cheap and work well (within a very short
range, but that's their use-case), see for example [http://www.amazon.com/FM-
Transmitters-MP3-Player-Accessories...](http://www.amazon.com/FM-Transmitters-
MP3-Player-Accessories/b?ie=UTF8&node=13981621)

So surely it can't be _that_ hard or expensive - unless it changes when you
try to broadcast to more than a few feet away?

~~~
sliverstorm
If you can only broadcast two feet, who will care that you are flooding the
spectrum?

So I don't think you can assume they are particularly clean transmissions.

~~~
mark-r
If they meet FCC regulations then yes you can assume that. If they don't meet
FCC regulations then they're illegal. I don't know how much policing goes on
for that though.

~~~
sliverstorm
I thought FCC regs involved a distance component? Like, they don't measure EMI
right on the surface of the device.

------
gbl08ma
Make has covered it before: [http://makezine.com/2012/12/10/raspberry-pi-as-
an-fm-transmi...](http://makezine.com/2012/12/10/raspberry-pi-as-an-fm-
transmitter/?parent=Electronics)

Note that the news here is only the Make project on it, as this has been known
and working for well over a year. The current PiFM software uses DMA from the
userspace to play without clicks and without taking the whole CPU. The later
versions also appear to support stereo, so I can't make much sense of this
sentence in Make's tutorial (step 5):

> Each file is then re-encoded into a mono format the PiFM radio can handle.

If their pre-configured image is really doing this, it is doing it wrong, I
think. Worth noting that the PiFM script is capable of reading from stdout,
and not just play WAV files, so the possibilities go well beyond playing music
off a SD card.

By the way, here is the original page in a Wiki (of which Make shows a
screenshot, but I found no link):
[http://www.icrobotics.co.uk/wiki/index.php/Turning_the_Raspb...](http://www.icrobotics.co.uk/wiki/index.php/Turning_the_Raspberry_Pi_Into_an_FM_Transmitter)

edits: add information

------
pacofvf
you could use this to broadcast RDS, and then tell the other cars on the road
that there is a blockade ahead, it would be like that Bruce Almighty scene,
well maybe not...

~~~
antonius
_It has enough range to cover your home, DIY drive-in movie, a high school
ball game, or even a bike parade (depending on the stragglers)._

Interesting idea... but wouldn't you need to increase the broadcast range for
that to work effectively?

~~~
ivanca
Maybe every car with the system could work as a re-transmitter?

------
ChuckMcM
Nice! Way back I did something similar in the AM band with one of the 8 pin
PIC chips [1], didn't play music though, just sent morse code. The RPi version
is much nicer, you could have it talk to you :-).

[1]
[http://www.mcmanis.com/chuck/robotics/projects/eelb.html](http://www.mcmanis.com/chuck/robotics/projects/eelb.html)

------
guipinto
Is it possible to both receive and transmit FM simultaneously?

Could this be used to create a simple, low bandwidth wireless connection
between 2 pis?

------
AUmrysh
Would it be possible to modify this to work at 125khz to use passive RFID?

------
nnnnni
There are some really good legitimate uses for this, but I'm concerned that
it's going to turn into another Defense Distributed situation =-(

~~~
Zikes
I'm not sure exactly how they compare, other than the fact that both have a
potential for some form of misuse.

Exactly what concerns do you have?

------
simias
After starting the broadcast: "Keep in mind that it'll take about 15 seconds
to warm up"

What does that mean? What needs to warm up?

~~~
sbierwagen
Boot up. It runs a full Linux stack, and the raspi CPU is not astonishingly
fast.

~~~
parimm
I just rebooted my rapberripi running archlinux, It took ~2 seconds from the
time I rebooted it to me being able to ssh into it.

The pi started to respond to ICMP packets in 19 seconds

[http://pastebin.com/JQmCmHXH](http://pastebin.com/JQmCmHXH)

~~~
swah
Hmm, maybe a Raspberry PI could be easier and more reliable replacement to
virtual machines?

(I love Vagrant/Virtualbox but sometimes, after putting the laptop to sleep,
it stops working and I have to reboot).

~~~
wiredfool
They're not that fast. A single thread build of my python/c project (pillow)
takes ~ 15 seconds on a vm, ~ 30 on an ancient core duo laptop, and ... still
waiting on the raspberry. edit: 5:15. So 25 times slower.

~~~
Adrock
I did an analysis of Mathematica benchmarks on the Raspberry Pi and found it
to be 15x slower _at best_ and much slower when there are CPU specific
optimizations:

[http://adereth.github.io/blog/2014/01/06/benchmarking-
mathem...](http://adereth.github.io/blog/2014/01/06/benchmarking-mathematica-
on-the-raspberry-pi/)

------
snake_plissken
Hmm add a line-in, transform the signal, pipe it over to the transmitter and
BOOM; silent disco!

------
broabprobe
Personal number station here we go!

------
SoulMan
Great ! I just managed to transmit the FM signals, I used my micro USB cable
stuck in 7th Pin

------
soheil
Why not just make one out of a single transistor and some resistors? #overkill

------
stephengillie
This is awesome! Now what kind of bandwidth can we get out of this?

------
post_break
Does anyone have the ISO or a torrent of it?

