NS73M FM Transmitter

Introduction

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

/media/uploads/whdecker/_scaled_photo.jpg

Project

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.

/media/uploads/whdecker/_scaled_photo-1.jpg

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
GNDGNDGND
VCCVOUTn/a
TEBNCn/a
CKSCL (with pullup resistor)n/a
DASDA (with pullup resistor)n/a
LAGNDn/a
IICVCCn/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)
{
    i2c.start();
    i2c.write(addr);
    i2c.write(reg);
    i2c.write(data);
    i2c.stop();
}

Project Code

[An error occured while processing macro repo]

Datasheets

http://www.sparkfun.com/datasheets/Wireless/General/NS73_Description.pdf

Acknowledgments

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


Please log in to post comments.