Page 1 of 1

FM Stereo Broadcaster...

Posted: Fri May 16, 2008 10:06 am
by mikeyancey
Just finished the code and a breadboarded version of a 'Part 15' FM Stereo Transmitter.

I have two good AM transmitters - one I'd built using a single 6888 Tube plus an old KnightKit Broadcaster that I'd refurbished. FM Stereo, however, is a bit more difficult.

I wanted to avoid the poor frequency control of the Ramsey FM-10C, and the poor modulation of the little iPod FM transmitters you find for use in the car - although frequency control is quite good on these, the audio on these is just terrible. I've had about 3 of these iPod transmitters and they were all unusable.

You can get really GOOD FM transmitter kits but you have to go on up to $140+ to find a kit with suitable audio quality and frequency stability (see: Ramsey FM-25B).

SparkFun sells a single IC solution: the NS73M module ( ... ts_id=8482). Problem is, it needs a controller to setup the pre-emphasis, modulation level, frequency and power level. And, if you're going to use a controller, you might as well include an LCD so you can know what frequency you're on.

I used a Modern Device Bare-Bones module to provide the Arduino as a controller. I found some initial code built by Cai Maver on the SparkFun forum. After some back-and-forth, he switched it to use the I2C protocol (Wire.h). I added the 4-bit LCD interface and did some fancy handling of the up/down/set buttons so you can take the transmitter offline, change frequencies, and put it back on the air.

Code is at:
Photo(s): ... 1531329938

The LCD4bit library was altered in only two spots:
1. Disable the RW Pin - the LCD RW pin is tied to ground (LOW). We're only 'writing'.
2. Change the Enable Pin from '2' to '11' (use the unused RW pin).

The BBB pins are used this way:
Digital Pins -
D12 = RS (from LCD)
D11 = RW (NOT USED - The RW pin on the LCD is tied LOW)
D11 = Enable (from LCD)
D10, 9, 8, 7 = 4 data bits for LCD
D6, 5, 4 = UP, DOWN, SET buttons

Analog Pins:
A4 = SDA, A5 = SCL

Frequency stability is tip-top - I connected a frequency counter and it NEVER drifted.
Transmitted Audio quality is superb - I don't hear much hiss at all and the audio has great dynamic range, so FM modulation is quite good.
Range - I didn't expect much, but with proper input volume (iPod nano, about 60% volume), and a short (read: legal!) antenna it reaches my living room about 50 feet away!
Frequency Agility - I've tested it down to 87.5 and up to 107.9 and other than some very small 'rounding' inaccuracies, it reaches all of the channels on the US FM broadcast band.
Cost - was probably similar to the Ramsey FM-10C, including the BBB, the FM module, an LCD module and some parts on hand (buttons, a 3.3v regulator, resistors, trimpot for LCD contrast). I still need to package it in a suitable enclosure.

Mike Yancey (from original code by Cai Maver)
Dallas, Texas

Re: FM Stereo Broadcaster...

Posted: Fri May 16, 2008 10:25 pm
by paul
Thanks for the post Mike, very cool project. What's your source of audio / specific application for this? Your server was down when I tried to check.


Re: FM Stereo Broadcaster...

Posted: Sun May 18, 2008 4:49 pm
by mikeyancey
paul wrote:Thanks for the post Mike, very cool project. What's your source of audio / specific application for this? Your server was down when I tried to check.

Audio source is just my iPod nano. About 60% volume seems nice, although more seems to be acceptable.
Heh - just discovered an error in my I2C implementation: I failed to adjust the 5V Arduino signal to the NS73M's 3.3V level. DOH. It's amazing I didn't fry the chip, but it might have only lasted a few weeks with that. Right now, I'm using a couple of 10k resistors (the quick/simple solution) for a short while.
When I get everything tacked down ready to go into an enclosure, I'll use the N-channel MOSFET method mentioned in SparkFun's tutorial: ... nterfacing.

Also, added some missing pull-ups on IIC and LA to make it correct.

Still learning about the hardware aspects. I'm a life-long programmer, with SOME hardware background - definitely not an EE, but improving.

Mike Y.

Re: FM Stereo Broadcaster...

Posted: Sun Jul 20, 2008 7:19 pm
by gilles
I also just finished the transmitter and it works well as you said. Unfortunately, I bought two sparkfun board, and now they are dead. It seam that they can not lock any more. TEB pin is always low or unstable. Do you think we can fry the chip if overmodulated? My MP3 player deliver about 0.3V peak wich is more than the max 200mV of the NS73, but their was no distorsion at all. (Oh yes, I read many different version about the max modulation voltage: one said 200mV peak, another one said 200mV p-p, an yet another 200mVrms? Which one is the good one?)

Does anyone have any idea about frying this module?

Thank you for your help

Re: FM Stereo Broadcaster...

Posted: Sun Jul 20, 2008 10:58 pm
by paul

I wouldn't worry about frying things with the modulation input, although I haven't looked at schematics of the sparkfun module. I'd worry more about reverse polarity or wrong voltage on the supply of the module. Soldering a diode in reverse polarity across the voltage terminals is a good way to prevent reverse polarity errors, that can quickly fry a sensitive chip.

The rule I give my students is that any device costing more than $5 should have a reverse diode across the power leads protecting it.


Re: FM Stereo Broadcaster...

Posted: Wed Jul 30, 2008 7:59 am
by mikeyancey
As a followup...

I still haven't found a suitable enclosure yet - the dang LCD is so large it won't fit into my usual type of enclosure (the PacTec black plastic box...). I tried the clear-plastic Apple packaging for my iPod nano - it's an ... ALMOST fit. Guess I'm picky about it, but I usually am able to make a high quality package out of these type of projects. Right not, it's all still on a breadboard and I'd like to get it off my desk.

Secondly - I've started making a nicer quality FM-antenna for it. Looking around, I was drawn to the Ramsey Electronics TM100 antenna, ... &key=TM100

... but on looking at the instructions, this is just a standard, cheap FM twin-lead, folded dipole antenna with a 4-to-1 (300 ohm to 75 ohm) balun included inside the enclosure. I like the PVC enclosure too, but $70 is a bit much for what's 'in the package'. So, I'm duplicating my own from about $5 in PVC, a twin-lead and a balun I have on hand. This is an easy project and definitely cheaper than $70 (plus shipping). The tricky part is trimming the folded dipole for about the middle of the FM broadcast range. Right now the twin-lead (as it was manufactured) is 28 1/2" per side (57") and this puts it (from measurements with an RF meter) around 90.3 as a peak. I'm fiddling with the calculations and also verifying before I cut and enclose it.

Mike Yancey
Dallas, Texas

Re: FM Stereo Broadcaster...

Posted: Thu Oct 09, 2008 10:41 am
by mikeyancey
Finally updated the FM Stereo Broadcaster (nee: ARRduino FM) to use a single Rotary Encoder as a frequency selector and a single push-button for 'set'. I chose a Bourns rotary encoder that also incorporates a push-button (Mouser: ... -4220F-S12).

Also, the Arduino 0012 software now supplies an LCD library called LiquidCrystal, so the code was revised to eliminate the add-on LCD4Bit library.

Updated Sketch is at:

I also was able to completely duplicate the Ramsey TM100 antenna for about $17. That's also at:

Now that the whole project is complete, I need to put together a schematic, parts-list, and get the thing packaged in an enclosure. Fun project!

Mike Yancey
Dallas, Texas

Re: FM Stereo Broadcaster...

Posted: Wed Nov 18, 2009 3:52 pm
by FilippaBridgett
This is a awesome project. The code was great! Keep it up..... :lol: I love it!!!!!