We love re-purposed consumer gear. This project uses a cheap, discontinued cellphone gadget to create a Raspberry Pi controlled FM radio transmitter.
The Sony-Ericsson MMR-70 radio transmitter apparently used to connect to a cell phone and broadcast music. But the Walkman cellphones in question are a little bit old in the tooth, so one can buy the transmitter units for cheap on the resale market. What makes the transmitters even more interesting is that you can activate and deactivate the radio, change frequency or output power, and even send RDS station and song information.
It turns out (link in German) that the radios have an AVR ATMega32 microcontroller and a NS73 radio transmitter module, which can be entirely controlled over I2C. (Schematic here as PDF.) The units also have handy test points strewn all around. Once the test points were mapped out, one could completely ignore the on-board AVR microcontroller and control the FM transmitter module directly using the Raspberry Pi’s I2C outputs.
And that’s where [Manawyrm] stepped in. She wrote an I2C daemon for the Raspberry Pi that lets you control the FM transmitter via simple commands. All you have to do is solder up a bunch of test points, install [Manawyrm]’s software, write a batch script, and you’re on the air. For instance, this makes building a FM radio retransmitter for online streamed audio a one-day project. You can see his working example on youtube. Of course, you’ll want a web-based remote control interface to go with that.
If you’re interested in hacking along, and don’t have a Raspberry Pi application in mind, Sparkfun used to sell the NS73 radio transmitter so you can find lots of good information about the chip. We’d love to see a stand-alone broadcasting gizmo that actually utilizes the onboard AVR chip, but our hats are off to [Manawyrm] for making the Raspberry Pi version so accessible.
Or you can use a wire http://www.icrobotics.co.uk/wiki/index.php/Turning_the_Raspberry_Pi_Into_an_FM_Transmitter
The difference is that pifm isn’t easily attached to pulseaudio, alsa, etc. and uses CPU and bandwidth. If you aren’t doing other things, it works well.
Also, the RF signal is a horrible unfiltered square wave, which will get the FCC to your door in no time.
(also it doesn’t support stereo and RDS…)
It does do stereo and RDS …
That’s why I like this hack so much. The transmitter in the Walkman module is already type accepted, has a clean signal, and is trivial to wire up. The pifm project is a good educational tool but not very practical.
Meh,FCC enforcement actions has been dismal at best for quite some time.
I love it when people repurpose consumer electronics for something else.. Sure beats landfill waste otherwise.
1 up vote from me for more of these types of articles, they always interest me.
On a side note, I think you meant to say BASH script instead of batch script, but its all good.
Should add a tag “re-purposed consumers”…
Makes me think maybe Sorny should repurpose this to actually work with a Pi, they’re always cool with hackers, right?
From the schematic, it would seem that SCK, MISO, and MOSI are brought out to test points as well. These are the ICSP pins (plus power and ground), so it’s likely that the micro can be reprogrammed.
The schematic calls out a TSM 1-6 transmitter chip, while the article text says it’s an NS73 transmitter. Are these the same?
I couldn’t find a datasheet for the TSM 1-6 anywhere after 1/2 hour of looking. The NS73 datasheet is here:https://www.sparkfun.com/datasheets/Wireless/General/NS73_Datasheet.pdf
This might be an interesting unit to purchase: a $3 programmable atmega system controlling an FM transmitter.
Or, it might rely on an obscure chip with no public documentation.
Does anyone have more info?
(P.S. to Brian: yes, the titles “shout” at the reader.)
Hi,
yes, the mega32 can be reprogrammed. I did so, and I also have some sample code laying around.
Andrey Chilikin did an excellent job labeling all the test points in his blog: http://3.bp.blogspot.com/-n_ohkJBPz-Y/U4kBKn4AZ4I/AAAAAAAAASc/p6EYkGonyuY/s1600/mmr-070-1024.jpg
The transmitter is a NS731 (!). The 731 supports RDS as opposed to the 73.
I do have datasheets for the transmitter as well as some .c code. Send me a mail ;)
Could you share the datasheets and the code ? ;)
https://www.mikrocontroller.net/attachment/142907/603A.pdf
https://www.mikrocontroller.net/attachment/169651/mmr70v0.06.zip
Thanks !
I thought the transmitter is a ALPS TSMZ1 and its datasheet is attached to this posting: http://www.mikrocontroller.net/topic/252124#2662003
Under the “metal hood” it is a NS731 ;)
The phrase is “long in the tooth”.
http://www.phrases.org.uk/meanings/long-in-the-tooth.html
Sure, the “traditional” phrase is long in the tooth, but a long tooth is an old tooth, unless maybe it’s a sabre toothed tiger tooth, in which case the whole saying is suspect.
Nooo, “long in the bluetooth” ;-)
anyone have a source for america land?
I just bought one off Ebay should I ever want to make use of it. I like the idea of a home RDS radio for music.
nice, almost a full year to the day
http://hackaday.com/2013/12/07/super-simple-fm-transmitter/#comment-1126015
Very different projects. That one is a free tuned oscillator that will drift by hundreds of KHz or more just by touching its antenna, ie a toy.
Dont look at the article, look at the comment they linked to…
exactly, I linked THIS VERY PROJECT full year ago :)
Yeah the 20cm wire works perfectly on a pi. It can even decode mp3’s while playing on any frequency and the transmission range is huge…
The labeling of the transmitter at this photo:
http://www.mikrocontroller.net/attachment/139060/MMR-70_Vorderseite.jpg
shows “603A” and “ALPS”, so i think the transmitter is a TSMZ1-603A (Datasheet: http://www.mikrocontroller.net/attachment/142907/603A.pdf) not the NS73.
Right. The transmitter is a fully integrated unit called 603A; the internal chip itself is called NS731 (not NS73, because it supports RDS).
That is correct, it’s an Alps integrated module. I “know someone” who did the firmware dev on this ol’ baby, fun times.
It should be noted that probably 80% of the original firmware in the mega32 went to handle the SonyEricson mobile phone UI/menus and notifications. These were AT-commands sent over a half-duplex, 1-pin UART (shared rx/tx) link, with some custom SW transfer protocol layer. Quite messy, thanks to numerous issues in various phone models that needed a great deal of different workarounds.
Scrapping all that, there’s great headroom in the AVR for more efficient firmware :-).
As someone else noted, all ISP-pins are available on test points.
Wow, flashbacks to all the model specific hoops we had to jump through to make a accessory work with all the phones!
Great. I’ve been thinking about the wire fm hack but thanks to this I bought some of these of tradera.se (ebay’s swedish site) for little more than $1 each.
i remember seeing a full post about this one sometime last year but all google threw up was this http://hackaday.com/2013/12/07/super-simple-fm-transmitter/#comment-1126015. weird…
edit: sorry, my bad; it was probably on heise news, they did a detailed rundown of the fmberry; probably got it from them.
https://hackaday.io/project/3183-avr-car-temp-sensor-over-rds
great idea! i have the equivalent vga cam. i am looking for it!
Get em quick all, the prices are already rising :P
I just got 3 from England with shipping for 17.84
Prices are rising? Where? On eBay Germany they can be had for EUR 1.22 _including_ shipping (to Germany, that is).
Recycling the Raspberry Pi to create a FM radio transmitter with soldering and software installation you can build your own FM radio transmitter for online streamed audio through any fm radio, but how do you pair them without Bluetooth?