
Login or create an account
CloseReturning Customer
I am a returning customer
Login or create an account
CloseRegister Account
If you already have an account with us, please login at the login form.
Your Account Has Been Created!
Thank you for registering with TechMaze!
You will be notified by e-mail once your account has been activated by the store owner.
If you have ANY questions about the operation of this online shop, please contact the store owner.
Account Logout
You have been logged off your account. It is now safe to leave the computer.
Your shopping cart has been saved, the items inside it will be restored whenever you log back into your account.
Tags: FM, Radio, Station, Transmitter, Module, Arduino
FM Radio Station Transmitter Module for Arduino
FM Transmitter, I think every electronics maker may tried out. In this Project an FM Transmitter made out with KT0803K based board and it is controlled by famous Arduino UNO board. It transmits our voice through Frequency Modulation between 70MHz to 108MHz.
Monolithic Digital Stereo FM transmitter IC KT0803K from KTMicro capable of producing 70 MHz – 108 MHz standard FM with Ultra low power consumption 17mA operation current from single power supply. By using I2C wires (SDA, SCL) Micro controller Unit can decide the channel frequency and control the KT0803K as a slave.
- I2C interface 5V TTL compatible
- Plug and play
- Onboard MIC
- VCC Input: 3.0V ~ 5.0V
This IC contains on chip 20-bit Audio ADC to convert Left in, Right in audio into digital signal. On chip DSP core is well enough to handle the digital audio signals. FM modulator output is Amplified by RF power amplifier and bring out to antenna through RF out pin. This IC comes in 16-pin SOP package, operating voltage varies between 1.6 V to 3.6 V and compatible IC for programmable FM transmission.
FM Transmitter Module
FM transmitter module from elechouse, this board contains monolithic digital stereo FM transmitter IC KT0803K which is responsible to make FM over our Audio input and this IC directly controllable by Arduino board (Microntrollers) through I2C interface.
Stereo input jack given for audio input from external device and also this module has on-board mic to pickup our voice. Audio signal from the mic amplified through 9013 npn transistor and applied to the tx IC. 32.768 K Crystal provides clock to this module.
By two wire standard I2C-Microcontrollers can control this FM module and KT0803K requires no external tuning.
Connect the FM transmitter module with Arduino board
Here Vcc pin of module connected to Arduino’s 3.3V power supply pin, and Ground is connected to GND of Arduino board. I2C Pins SDA and SCL connected to A4 and A5 of arduino uno board because these two are I2C pins in uno board. It change depends on types of arduino board and micro controllers, check the pin details if other board is used.
Arduino FM transmitter schematic
Arduino Code – FM transmitter
/** Project done by www.theorycircuit.com For this demo, input command format like &xxxx to set select band, (eg:if you want to set FM 95.6MHz,then input &0956 and send). Credits to: www.elechouse.com. */ #include <FMTX.h> float fm_freq = 90; // Here set the default FM frequency void setup(void) { Serial.begin(9600); Serial.print("FM-TX Demo\r\n"); /** Initial, set FM channel and select your area: USA EUROPE JAPAN AUSTRALIA CHINA */ fmtx_init(fm_freq, USA); Serial.print("Channel:"); Serial.print(fm_freq, 1); Serial.println("MHz"); } void loop(void) { /** check for data setting new frequency. Users could input data from Serial monitor. Data must start with '&' and followed by 4 numbers, such as &8000. The first two is the integer part of new frequency (Unit: MHz), and the last one is the decimal part. And the channel must between 70MHz and 108Mhz. For example, &756 is 75.6MHz, and &666 is out of range. */ if(Serial.available()){ switch(Serial.read()){ case '&': u8 i,buf[4]; float ch; i=0; delay(30); while(Serial.available()&&i<4){ buf[i]=Serial.read(); if (buf[i]<= '9' && buf[i]>= '0') { i++;} else{ i=0; break; } } if (i==4){ ch = (buf[0]-'0')*100+(buf[1]-'0')*10+(buf[2]-'0')*1+0.1*(buf[3]-'0'); if(ch>=70&&ch<=108){ Serial.print("New Channel:"); Serial.print(ch, 1); Serial.println("MHz"); fmtx_set_freq(ch); }else{ Serial.println("ERROR:Channel must be range from 70Mhz to 108Mhz."); } }else{ Serial.println("ERROR:Input Format Error."); } while(Serial.available()){ Serial.read(); } break; } } }
This code requires Library file, you can get it here.