Giter Site home page Giter Site logo

gavinlyonsrepo / fm_radio_pico Goto Github PK

View Code? Open in Web Editor NEW
4.0 3.0 0.0 2.35 MB

FM Radio Project, RPI PICO RP2040 SDK C++

License: GNU General Public License v3.0

CMake 1.60% C++ 98.40%
fmradio pico radio tea5767 tea5767hn tea5767n rp2040 sdk raspberry-pi raspberry-pico raspberrypi rpi-pico aht10 ch1115 pico-sdk rpi fm-radio raspberry-pi-pico-rp2040 raspberry-pi-pico-sdk

fm_radio_pico's Introduction

Website Rss Donate

Table of contents

Overview

  • Name: FM_Radio_PICO
  • Description: FM stereo radio project for the RPI PICO.
  • Developed on and for
    1. Raspberry pi PICO RP2040
    2. SDK C++ compiler G++ for arm-none-eabi
    3. CMAKE , VScode

 ov

Hardware

The Radio Module used is a TEA5767NH. Headphones can be connected to the Audio out of the TEA5767 I2C module. If the user wishes to drive a speaker an Audio amplifier will be required like an LM386 module. The ADC is used to read the volume control of the Audio Amplifier module thru a voltage divider. Audio amplifier should not be powered at more than 5 volts. This gives us a volume indicator (of the amplified signal).

An OLED CH1115 is used as a screen for output connected by SPI.

Three push buttons are used for control , one more for reset.

  1. Mute, select & access setting menu
  2. Search up radio band & menus
  3. Search down radio band & menus.

An AHT10 12C sensor is read and it's data is displayed at bottom of screen.

As the TEA5767 is a 5 volt logic device(and PICO GPIO is 3.3V) I connect to it through a voltage level shifter circuit. I had to use two separate buses for both I2C devices as they would not work reliably on same bus. The on-board PICO Status LED is also for basic status information.

image

Software

The libraries used are included. They can all also be found in stand alone format on my PICO projects list page here.

Debug information can be printed to serial console (38400 baud) by changing setting. The TEA5767 also has its own built-in separate debug prompt which can also be enabled in the library.

On Startup a splash screen is displayed followed by a radio station selection menu. Here the user can select a radio station from a list by pressing mute button and navigate menu using search buttons.

The settings menu can be accessed by holding down the mute button for longer than 3 seconds It contains five settings currently , 1&2 define behaviour of search buttons, 3-5 define display mode.

  1. Scan search and tune to stations automatically (default)
  2. Fine tune search, Each press changes frequency by +/- 50 Khz
  3. Display mode default
  4. Display Radio info only
  5. Display Sensor data only , large text

Schematic

  1. "VIN" is the AUDIO out to the amplifier circuit for speaker if used.
  2. "Audio_ADJ" is from the volume control pot of amplifier circuit.
  3. 5V Amplifier circuit not shown (TODO).

 sch

Output

 image

fm_radio_pico's People

Contributors

gavinlyonsrepo avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

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.