

The TEA5767 module is a digital FM radio receiver designed for the reception of FM radio signals. It operates via an I2C interface, enabling seamless communication with microcontrollers such as Arduino, Raspberry Pi, and other embedded systems. The module supports a wide range of FM frequencies, making it suitable for various audio and radio-based projects.








The TEA5767 module is compact and efficient, with the following key specifications:
| Parameter | Value |
|---|---|
| Operating Voltage | 2.5V to 5V |
| Operating Current | ~10mA |
| Frequency Range | 76 MHz to 108 MHz |
| Interface | I2C (Inter-Integrated Circuit) |
| Audio Output | Stereo (Left and Right channels) |
| Sensitivity | ~2 µV for strong signal reception |
| Tuning Step | 50 kHz |
| Dimensions | ~20mm x 15mm |
The TEA5767 module typically has 8 pins. Below is the pinout and description:
| Pin | Name | Description |
|---|---|---|
| 1 | SDA | I2C Data Line: Used for communication with the microcontroller |
| 2 | SCL | I2C Clock Line: Synchronizes data transfer with the microcontroller |
| 3 | GND | Ground: Connect to the ground of the power supply |
| 4 | VCC | Power Supply: Connect to a 3.3V or 5V power source |
| 5 | LOUT | Left Audio Output: Connect to the left channel of an audio amplifier or speaker |
| 6 | ROUT | Right Audio Output: Connect to the right channel of an audio amplifier or speaker |
| 7 | ANT | Antenna Input: Connect an external antenna for better signal reception |
| 8 | NC | Not Connected: Leave this pin unconnected |
VCC pin to a 3.3V or 5V power source and the GND pin to ground.SDA pin to the I2C data line of your microcontroller.SCL pin to the I2C clock line of your microcontroller.ANT pin.LOUT and ROUT pins to an audio amplifier or directly to speakers.SDA/SCL and VCC.Below is an example Arduino sketch to interface with the TEA5767 module and tune to a specific FM frequency:
#include <Wire.h> // Include the Wire library for I2C communication
#define TEA5767_ADDRESS 0x60 // I2C address of the TEA5767 module
void setup() {
Wire.begin(); // Initialize I2C communication
Serial.begin(9600); // Initialize serial communication for debugging
tuneToFrequency(101.1); // Tune to 101.1 MHz
}
void loop() {
// The module will continue to play the tuned frequency
// Add additional functionality here if needed
}
void tuneToFrequency(float frequency) {
uint8_t buffer[5];
uint16_t frequencyB = (frequency * 1000000 + 225000) / 32768;
// Convert frequency to binary format
buffer[0] = (frequencyB >> 8) & 0x3F; // High byte of frequency
buffer[1] = frequencyB & 0xFF; // Low byte of frequency
buffer[2] = 0xB0; // Set high side injection
buffer[3] = 0x10; // Enable stereo
buffer[4] = 0x00; // Reserved byte
Wire.beginTransmission(TEA5767_ADDRESS); // Start I2C communication
Wire.write(buffer, 5); // Send frequency data
Wire.endTransmission(); // End I2C communication
}
101.1 in the tuneToFrequency function with your desired FM frequency.SDA and SCL) are properly wired to the Arduino UNO.No Audio Output:
LOUT and ROUT pins are connected to an amplifier or speakers.Poor Signal Reception:
I2C Communication Failure:
SDA and SCL connections to the microcontroller.Module Not Powering On:
VCC and GND pins are correctly connected.Q: Can the TEA5767 module be used with a 3.3V microcontroller?
A: Yes, the module supports a wide operating voltage range (2.5V to 5V) and can work with both 3.3V and 5V systems.
Q: How do I improve audio quality?
A: Use a high-quality antenna and ensure the module is tuned to a strong FM signal. Additionally, use an audio amplifier for better sound output.
Q: Can I use the TEA5767 module without an external antenna?
A: While it is possible, the signal reception may be weak. An external antenna is recommended for optimal performance.
Q: What is the maximum distance for I2C communication?
A: The I2C bus is typically reliable for short distances (up to 1 meter). For longer distances, consider using I2C extenders or repeaters.