Skip to content

nopnop2002/esp-idf-tea5767

Repository files navigation

esp-idf-tea5767

TEA5767 FM Stereo Radio Driver for esp-idf.
I ported from here.

Software requirements

ESP-IDF V5.0 or later.
ESP-IDF V4.4 release branch reached EOL in July 2024.

Hardware requirements

  • TEA5767 FM Stereo Radio Module
    I bought this on AliExpress about $4.

    tea5767-1 tea5767-2

  • External antena
    The module has a standard antenna, but if you want to use it in a room, you need a long antenna.
    With a long antenna, you can get more signals.
    I used this extension antenna.
    This is used by hanging it on a curtain rail.
    I bought this for $5.
    Image

  • Speaker
    A speaker with a 3.5mm 3-pole mini plug input is required.
    I bought this for $5.
    Image

  • Wire Cable
    3.5mm 3-pole mini plug Male to Male wire cable.
    Used to connect to speakers.

Installation

git clone https://github.com/nopnop2002/esp-idf-tea5767
cd esp-idf-tea5767/withKey
idf.py menuconfig
idf.py flash

When using the USB port provided by the USB Serial/JTAG Controller Console, you need to enable the following line in sdkconfig.

CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y

Configuration for Radio

config-top config-tea5767

  • CONFIG_SCL_GPIO
    GPIO number(IOxx) to SCL.
  • CONFIG_SDA_GPIO
    GPIO number(IOxx) to SDA.
  • CONFIG_FM_BAND
    In US/EU it ranges from 87.5 MHz to 108 MHz.
    In Japan it ranges from 76.1 MHz to 94.9 MHz.
    Used when wrapping in a search.

Wireing

TEA5767 ESP32 ESP32-S2/S3 ESP32-C2/C3/C6
SCL -- GPIO22 GPIO4 GPIO6 (*1)
SDA -- GPIO21 GPIO3 GPIO5 (*1)
GND -- GND GND GND
VCC(*2) -- 3.3V 3.3V 3.3V

(*1)
You can change it to any pin using menuconfig.

(*2)
The PCB marking is +5V, but it works at 3.3V.

Example project

  • Operate the radio using the keyboard
    Read this.

  • Operate the radio using network
    Read this.

  • Operate the radio using Garade Door Remote
    Read this.

  • Operate the radio using Web Browser
    Read this.

  • Display radio station frequency on 8 segment LCD
    Read this.

  • Display radio station frequency on 16x02 line character display
    Read this.

  • Display radio station frequency on the remote display
    Read this.

API

Refer to tea5767.h.

How to use this component in your project

Create idf_component.yml in the same directory as main.c.

YourProject --+-- CMakeLists.txt
              +-- main --+-- main.c
                         +-- CMakeLists.txt
                         +-- idf_component.yml

Contents of idf_component.yml.

dependencies:
  nopnop2002/tea5767:
    path: components/tea5767/
    git: https://github.com/nopnop2002/esp-idf-tea5767.git

When you build a projects esp-idf will automaticly fetch repository to managed_components dir and link with your code.

YourProject --+-- CMakeLists.txt
              +-- main --+-- main.c
              |          +-- CMakeLists.txt
              |          +-- idf_component.yml
              +-- managed_components ----- nopnop2002__tea5767

About

TEA5767 FM Stereo Radio Driver for esp-idf

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published