Crea Tu Propia Emisora: Construyendo una Radio FM con Arduino
Construir una radio FM con Arduino es un proyecto gratificante que combina electrónica, programación y un toque de creatividad. Este tutorial te guiará a través de los componentes esenciales, las conexiones y el código necesario para dar vida a tu propia emisora de radio. Sumérgete en el emocionante mundo de la electrónica DIY y ensambla tu propia radio FM personalizada.
Puntos Clave para tu Proyecto de Radio FM con Arduino
- Módulos FM Versátiles: Descubre las opciones más populares como el TEA5767, RDA5807M, y Si4703, cada uno con características únicas para tu radio.
- Componentes Esenciales: Aprende sobre el hardware fundamental, desde la placa Arduino hasta el amplificador de audio y la antena, para asegurar una funcionalidad óptima.
- Programación Intuitiva: Utiliza la librería «Radio» de Mathertel para simplificar la codificación y control de tu módulo FM.
Desglosando los Componentes Esenciales de tu Radio FM
Para ensamblar una radio FM funcional, necesitarás una serie de componentes clave que trabajarán en conjunto para sintonizar, procesar y emitir el audio de las estaciones de radio. La elección de estos componentes puede variar según la complejidad y las características deseadas para tu proyecto.
El Corazón del Proyecto: La Placa Arduino
La placa Arduino actúa como el cerebro de tu radio, controlando el módulo FM y gestionando la interacción con el usuario. Las opciones más comunes y recomendadas incluyen:
- Arduino Uno: Ideal para principiantes por su popularidad y gran cantidad de recursos disponibles.
- Arduino Nano: Una alternativa más compacta, perfecta para proyectos donde el espacio es limitado.
- Arduino Pro Mini: Una opción aún más pequeña, adecuada para integraciones más discretas.
El Oído Electrónico: Módulos de Radio FM
Estos módulos son los encargados de sintonizar las señales de radio. Se comunican con el Arduino a través del protocolo I2C, lo que simplifica enormemente el cableado. Las opciones más destacadas incluyen:
- TEA5767: Un chip de radio FM de bajo voltaje, fácil de usar y muy popular por su rango de frecuencia de 76 MHz a 108 MHz.
- RDA5807M: Similar al TEA5767, este módulo ofrece sintonización FM estéreo, sintetizador integrado y, en algunas versiones, soporte para RDS (Radio Data System). Puede incluso controlar auriculares de 32 Ω directamente.
- Si4703: Un sintonizador FM altamente integrado que facilita la sintonización y escucha, también con comunicación I2C.
- Si473x (como el Si4732, Si4735 o Si4844-A10): Para proyectos más avanzados, estos módulos permiten construir radios multibanda (AM/FM/SW) y ofrecen funcionalidades como RDS mejorado.
La Voz de la Radio: Amplificación de Audio y Altavoces
Los módulos de radio FM suelen emitir una señal de audio de bajo nivel, por lo que necesitarás un amplificador para escuchar el sonido claramente. Algunas opciones populares son:
- PAM8403: Un amplificador estéreo de clase D, muy eficiente y compacto.
- LM386: Un amplificador de audio de baja potencia, ideal para altavoces pequeños.
- Altavoces o Auriculares: Dependiendo de tu elección, asegúrate de que sean de 4Ω u 8Ω para los altavoces, o que el módulo RDA5807M soporte auriculares de 32Ω directamente.
La Ventana de Información: Displays (Opcional pero Recomendado)
Un display te permitirá ver la frecuencia actual, el volumen u otra información relevante.
- LCD 16×2: Una pantalla de cristal líquido básica y fácil de implementar.
- Nokia 5110 LCD: Una pantalla monocromática con buena visibilidad.
- Pantallas OLED: Ofrecen excelente contraste, bajo consumo y son compactas (ej. 0.96″ I2C OLED).
- Pantallas TFT a color (como ST7735): Para una interfaz más rica y compleja.
La Interfaz de Usuario: Controles
Para interactuar con tu radio, necesitarás elementos de control:
- Potenciómetro: Utilizado comúnmente para el volumen o para un ajuste de frecuencia.
- Codificador Rotatorio (Rotary Encoder): Proporciona un ajuste de frecuencia más preciso y una mejor experiencia de usuario.
- Botones Pulsadores: Para cambiar de frecuencia, ajustar el volumen o silenciar la radio.
La Captura de la Señal: Antena
Una antena adecuada es crucial para una buena recepción. Un simple cable largo (aproximadamente 75-100 cm para FM) puede funcionar, pero una antena telescópica o un cable apantallado mejorarán significativamente la calidad de la señal.
Otros Elementos Necesarios
- Protoboard y Cables de Conexión: Para el prototipado y las conexiones eléctricas.
- Fuente de Alimentación: Generalmente 5V, ya sea a través del USB de Arduino o una batería.
Guía Paso a Paso para el Ensamblaje
Una vez que tengas todos los componentes, el siguiente paso es conectarlos correctamente a tu placa Arduino. Este proceso implica cablear el módulo FM, el amplificador, el display y los controles.
1. Conexiones del Módulo FM al Arduino
La mayoría de los módulos FM utilizan el protocolo I2C para comunicarse con Arduino. Esto simplifica el cableado a solo dos pines de datos más alimentación. A continuación, se detalla un ejemplo de conexión para el TEA5767 o RDA5807M:
- SDA (Serial Data) del módulo → Pin A4 del Arduino Uno/Nano
- SCL (Serial Clock) del módulo → Pin A5 del Arduino Uno/Nano
- GND del módulo → GND del Arduino
- VCC del módulo → 3.3V del Arduino (algunos módulos TEA5767 pueden tolerar 5V, pero 3.3V es más seguro para la mayoría de los módulos FM)

Diagrama de conexiones de un módulo TEA5767 con Arduino para una radio FM básica.
2. Conexión del Amplificador de Audio
Las salidas de audio (izquierda y derecha) del módulo FM deben conectarse a la entrada de tu amplificador. Si estás usando un PAM8403, por ejemplo:
- Salida de Audio L/R del módulo FM → Entrada L/R del amplificador (PAM8403)
- Salida del amplificador → Altavoces (asegúrate de la polaridad correcta)
- Alimentación del amplificador: Conecta VCC y GND del amplificador a 5V y GND del Arduino.
Si tu módulo (como algunos RDA5807M) puede manejar auriculares directamente, simplemente conecta un jack de 3.5mm a las salidas de audio del módulo.
3. Conexión del Display (si se usa)
Si optas por un display I2C (como un OLED), este compartirá los pines SDA y SCL con el módulo FM. Asegúrate de que las direcciones I2C no entren en conflicto, aunque esto rara vez es un problema. Si usas un LCD 16×2 sin I2C, deberás conectar varios pines digitales según la configuración de la librería LiquidCrystal.
- SDA del Display I2C → Pin A4 del Arduino
- SCL del Display I2C → Pin A5 del Arduino
- VCC/GND del Display → VCC/GND del Arduino (verifica si requiere 3.3V o 5V)
4. Conexión de los Controles de Usuario
- Potenciómetro: El pin central al pin analógico A0 del Arduino. Los pines externos a VCC y GND.
- Codificador Rotatorio: Generalmente, dos pines de señal (CLK y DT) a pines digitales (ej. D2 y D3) con resistencias pull-up (o usando INPUT_PULLUP en el código), y un botón (SW) a otro pin digital (ej. D4).
- Botones Pulsadores: Cada botón a un pin digital, con una resistencia pull-down o usando INPUT_PULLUP en el código para simplificar.
5. Conexión de la Antena
Conecta un cable rígido o una antena telescópica al pin «ANT» o al conector de antena de tu módulo FM. La longitud del cable es importante para la recepción, siendo de aproximadamente 75-100 cm para FM.
Programación de la Radio FM con Arduino
La programación es el paso donde le das «inteligencia» a tu radio. El entorno de desarrollo integrado (IDE) de Arduino, junto con librerías específicas, simplificará este proceso.
1. Instalación de Librerías
La librería «Radio» de Mathertel es altamente recomendada, ya que soporta una variedad de módulos FM como TEA5767, RDA5807M y Si4703. Puedes instalarla directamente desde el Gestor de Librerías del IDE de Arduino o descargarla desde su repositorio de GitHub.
2. Código Básico para Empezar
A continuación, se presenta un código de ejemplo que ilustra cómo inicializar un módulo FM y establecer una frecuencia. Este es un punto de partida que podrás expandir para incorporar controles de usuario y displays.
#include <Wire.h> // Para comunicación I2C
#include <Radio.h> // Librería "Radio" de Mathertel
// Crea un objeto Radio
Radio radio;
void setup() {
Serial.begin(9600); // Inicia la comunicación serial para depuración
Wire.begin(); // Inicia la interfaz I2C
radio.init(); // Inicializa el módulo FM
// Establece la frecuencia inicial (ej. 93.5 MHz)
// Asegúrate de que el módulo sea compatible con esta frecuencia.
radio.setFrequency(93.5);
radio.setVolume(5); // Establece el volumen (0-15 para muchos módulos)
radio.setMute(false); // Desactiva el silencio
Serial.print("Radio FM iniciada en: ");
Serial.print(radio.getFrequency());
Serial.println(" MHz");
}
void loop() {
// Aquí se implementaría la lógica para cambiar la frecuencia o el volumen
// por ejemplo, leyendo un potenciómetro o un codificador rotatorio.
// Ejemplo: Cambiar frecuencia con un potenciómetro en A0
// int sensorValue = analogRead(A0);
// float newFrequency = map(sensorValue, 0, 1023, 8800, 10800) / 100.0; // Mapea a rango FM en MHz
// radio.setFrequency(newFrequency);
// delay(100); // Pequeño delay para estabilización
// Si usas un display, aquí lo actualizarías con la frecuencia actual
// display.clearDisplay();
// display.setTextSize(1);
// display.setTextColor(SSD1306_WHITE);
// display.setCursor(0,0);
// display.print("FM:");
// display.print(radio.getFrequency());
// display.print("MHz");
// display.display();
}
Este fragmento de código es un punto de partida. Deberás añadir la lógica para leer tus controles (potenciómetro, codificador, botones) y actualizar el display con la frecuencia actual o el volumen. Los ejemplos de la librería «Radio» de Mathertel son excelentes recursos para esto.
Ejemplos de Proyectos y Configuraciones Avanzadas
La flexibilidad de Arduino permite crear desde radios FM básicas hasta dispositivos más complejos con funciones adicionales. Aquí exploramos algunas variaciones:
Radio Sencilla con TEA5767 y Pantalla LCD
Esta es la opción más popular para principiantes. El TEA5767 es fácil de interconectar y la combinación con un LCD 16×2 o Nokia 5110 ofrece una buena introducción a la lectura de datos en pantalla.
Este video demuestra un proyecto de radio FM digital con Arduino, utilizando el módulo TEA5767 y un amplificador estéreo PAM8403, mostrando un ejemplo práctico de cómo se ensamblan y funcionan estos componentes.
Radio con RDA5807M: Estéreo y RDS
El RDA5807M es una excelente opción si buscas mejor calidad de audio y la posibilidad de implementar RDS para mostrar el nombre de la estación. Algunos módulos de RDA5807M pueden controlar directamente auriculares de 32 Ω, simplificando el circuito de audio.

Prototipo de radio FM con Arduino y el módulo RDA5807M, mostrando su integración con la placa. https://circuitdigest.com
Radios Multibanda con Si47xx
Para entusiastas avanzados, los módulos Si47xx (como Si4732, Si4735 o Si4844-A10) permiten construir radios multibanda (AM/FM/SW) con RDS avanzado y una interfaz de usuario más compleja, a menudo con pantallas TFT a color y codificadores rotatorios.
Tabla Comparativa de Módulos FM Comunes
Para ayudarte a elegir el módulo adecuado para tu proyecto, aquí tienes una comparación de las características clave:
Módulo | Rango de Frecuencia (FM) | Interfaz | Características Destacadas | Nivel de Complejidad |
---|---|---|---|---|
TEA5767 | 76 MHz – 108 MHz | I2C | Bajo costo, fácil de usar, amplio soporte en la comunidad. | Bajo |
RDA5807M | 50 MHz – 115 MHz | I2C | Estéreo, sintetizador integrado, RDS (en algunas versiones), salida directa a auriculares 32Ω. | Medio |
Si4703 | 76 MHz – 108 MHz | I2C | Sintonizador altamente integrado, buena recepción, fácil de usar. | Medio |
Si473x (ej. Si4735) | FM, AM, SW | I2C | Multibanda (AM/FM/SW), RDS avanzado, DSP integrado, alta sensibilidad y estabilidad. | Alto |
Consejos Adicionales para Optimizar tu Radio
- Antena: Experimenta con diferentes longitudes y tipos de antenas. Mantén la antena lejos de la placa Arduino y otros cables de alimentación para reducir el ruido.
- Audio Limpio: Utiliza cables apantallados para las conexiones de audio. Intenta separar las tierras analógicas de las digitales si experimentas mucho ruido. Asegúrate de que el suministro de energía sea estable para el amplificador (5V) y el módulo FM (3.3V).
- Interfaz de Usuario: Un codificador rotatorio ofrece una experiencia de usuario superior a los botones para el ajuste de frecuencia. Considera guardar la última frecuencia y volumen en la EEPROM del Arduino para que se recuerden al reiniciar.
- Recinto: Diseña e imprime una caja en 3D o reutiliza un estuche para proteger los componentes y darle un acabado profesional a tu radio.
Preguntas Frecuentes
¿Qué tan difícil es este proyecto para un principiante?
Si eres principiante, empezar con un módulo TEA5767 o RDA5807M y una pantalla LCD 16×2 o OLED es un excelente punto de partida. Las conexiones son sencillas (principalmente I2C) y hay muchas librerías y ejemplos de código disponibles.
¿Puedo usar mi propia antena en lugar de un cable?
Sí, puedes usar una antena telescópica o cualquier antena FM diseñada para el rango de frecuencia adecuado. A menudo, una antena de mayor calidad mejorará la recepción.
¿Necesito un amplificador de audio si uso auriculares?
Depende del módulo FM. Algunos módulos como el RDA5807M pueden controlar directamente auriculares de 32 Ω. Si tu módulo no tiene esta capacidad, necesitarás un pequeño amplificador de auriculares.
¿Qué es el RDS y por qué es útil?
RDS (Radio Data System) es un protocolo que permite a las estaciones de radio FM transmitir información adicional junto con el programa de audio. Esto puede incluir el nombre de la emisora (PS), el tipo de programa (PTY), y mensajes de texto (RT). Es útil porque te permite identificar la estación y ver otra información relevante.
¿Puedo hacer que la radio busque automáticamente estaciones?
Sí, la mayoría de las librerías para módulos FM incluyen funciones de «seek» o «scan» que permiten a la radio buscar automáticamente la siguiente estación con señal fuerte.
Conclusión
Construir una radio FM con Arduino es un proyecto altamente personalizable que te permite explorar la electrónica, la programación y la comunicación I2C de una manera práctica y divertida. Desde una configuración básica con un módulo TEA5767 hasta una radio multibanda con un Si473x y una pantalla TFT, las posibilidades son amplias. Al seguir esta guía y experimentar con los componentes, podrás crear una radio funcional adaptada a tus necesidades y preferencias. ¡Disfruta del proceso de crear tu propia emisora y sintoniza el mundo!