NS73M FM Transmitter


The NS73M is an FM transmitter (available from SparkFun: https://www.sparkfun.com/products/8482). It is configurable over I2C, and allows the user to broadcast a stereo signal at 2mW over the FM band from 87.5 MHz to 108 MHz. If bought as a breakout board from SparkFun it only requires an antenna to be attached (a 30" piece of 22 gauge wire will suffice).

NS73M Specs:

  • 2.7 - 3.3v
  • SPI or I2C interface (in this project: I2C)
  • 87.5 MHz to 108 MHz
  • Left and Right audio input



This project uses the NS73M to create a setup much like an iPod FM transmitter. With a few buttons, a 3.5mm input, and LCD screen, and the NS73M one can create an FM transmitter with selectable frequency and frequency saving.


The mBed talks to the NS73M over I2C and sets frequencies with a 16 bit number calculated from the frequency with this experimentally derived formula: (frequency + 304000) / 8192. You send the lower 8 bytes, then the upper 8 bytes and after a software reset you should be able to hear your audio input on that frequency.

The frequency is printed on the LCD display and increased or decreased using the pushbuttons. This allows user control of the frequency. The center button is used to return to 97.3 MHz, near the center of the bandwidth. The most recently used frequency is saved to flash memory and in case of power failure or restart, is selected upon boot.

Interfacing the NS73M

/media/uploads/whdecker/fmmodule-02-l.jpg /media/uploads/whdecker/10588-04a.jpg

Pin connections:

NS73M PinsmBed PinsAudio Jack Pins
CKSCL (with pullup resistor)n/a
DASDA (with pullup resistor)n/a
RINn/aRING (Audio Connector)
LINn/aTIP (Audio Connector)

I2C example:

writeToReg(addr, 0x0E, 0x05); // Software reset

void writeToReg(unsigned int addr, unsigned int reg, unsigned int data)

Project Code

Repository: FM_Transmitter




For the frequency conversion and band selection, along with register settings: http://mikeyancey.com/FM-Stereo-Broadcaster.php

Please log in to post comments.