Git Product home page Git Product logo

dragon-engineer / esp32_fmdevkit Goto Github PK

View Code? Open in Web Editor NEW
23.0 2.0 4.0 1.68 MB

ESP32 Development Board for FM broadcasting. Complete DA Audio processing. The example/default Arduino firmware works as a Bluetooth Speaker (A2DP Sink). The code builds with the newest ESP32 Arduino Release.

License: GNU General Public License v3.0

C++ 50.76% C 49.24%
esp32 arduino fm devkit bluetooth wifi audio rds esp-idf

esp32_fmdevkit's Introduction

ESP32 FM DevKit (esp32_fmdevkit)

ESP32-based development board

Features

- USB to UART bridge with auto boot mode / reset
- Blue OLED 128x64 (top 16pixels yellow for a status bar)
- 24-bit Stereo I2S DAC
- Single-chip FM transmitter with RDS support
- 3.5mm Headphone Jack output
- 4 User buttons
- 1 Status LED (Red) and 1 User LED (Blue)
- RF SMA Output
- Expansion Pin Headers

Note: The ESP32 FM DevKit is available in two variants: Standard is based on ESP32 with on-board PCB antenna trace and Extended is based on ESP32 with external IPEX antenna connector (antenna not included)

The FM transmitter works in full range, i.e. 76 - 108 MHz. Check your local FM frequencies first.

Build your own FM Radio station based on this kit! Use WiFi or Bluetooth as an audio source (default ESP32 example firmware uses Bluetooth A2DP sink).
First steps
  1. Connect USB to a computer/power bank
  2. Pair your laptop/phone with "ESP32-FM_DevKit"
  3. Play some music
  4. Tune the TX Frequency by UP/DOWN and confirm with OK button
  5. Tune your FM Radio receiver to this frequency
  6. Download the example code from here and do your own stuff
Pinout Information:
Board Label Arduino Pin Definition ESP32 Pin Number Description
D0 D0 34 GPI Pin (Input Only)
D1 D1 35 GPI Pin (Input Only)
D2 D2 32 GPO Pin (Output Only)
D3 D3 33 GPO Pin (Output Only)
D4 D4 27 GPIO Pin
D5 D5 14 GPIO Pin
D6 D6 12 GPIO Pin
D7 D7 13 GPIO Pin
D8 D8 15 GPIO Pin
D9 D9 23 GPIO Pin
D10 D10 0 GPIO Pin
SW1 SW1 4 Button Switch 1 (ESC) Input
SW2 SW2 18 Button Switch 2 (OK) Input
SW3 SW3 19 Button Switch 3 (Down) Input
SW4 SW4 21 Button Switch 4 (Up) Input
TX TX 1 UART TX (Connected to USB-UART bridge)
RX RX 3 UART RX (Connected to USB-UART bridge)
SCL SCL 17 I2C SCL (2k2 pull-up), OLED and FM TX present
SDA SDA 16 I2C SDA (2k2 pull-up), OLED and FM TX present
LED2 LED_BUILTIN 5 Blue built-in LED
I2SL I2S_LRCLK 25 I2S Left/Right CLK
I2SB I2S_SCLK 26 I2S Clock (Sampling Frequency)
I2SD I2S_DOUT 22 I2S Data Out
5V - - USB Vcc
3V3 - - LDO Regulator Output (500mA total)

Note that this is just a pre-release of an unofficial ESP32 development board mostly distributed on Ebay. You can however contact the Dev team at this E-Mail if you are interested in this board distribution.

esp32_fmdevkit's People

Contributors

dragon-engineer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

esp32_fmdevkit's Issues

Only Fs = 44.1 kHz works with the example code

We have discovered a bug that prevents using other sampling frequencies than 44100Hz (there is only silence).
That means: Streaming music from Android phone works well in default settings. Computers (Win) use 48kHz instead so you either have to manually switch to 44.1kHz Fs or wait for the fix to came up.

It will be fixed soon, Sorry.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.