Gabe Knuth

I have hobbies.

View My GitHub Profile

RadioShift

A Raspberry Pi FM radio with DVR-like time-shifting capabilities that allows you to pause, rewind, and fast-forward through live, analog radio.

Features

Hardware Requirements

Software Dependencies

Installation

  1. Clone this repository:
    git clone https://github.com/GabeKnuth/RadioShift.git
    cd RadioShift
    
  2. Install dependencies:
    pip install -r requirements.txt
    
  3. Ensure I2C and SPI are enabled on your Raspberry Pi:
    sudo raspi-config
    

    Navigate to “Interface Options” and enable both I2C and SPI.

  4. Connect the hardware:
    • TEA5767 module to the I2C pins (GPIO 2 & 3)
    • OLED display to the SPI pins
    • Buttons to GPIO pins as defined in config.py
    • Rotary encoder to appropriate pins

Usage

  1. Run the main application:
    python main.py
    
  2. Controls:
    • Rotate the encoder to tune radio frequency
    • Press play/pause button to pause/resume playback
    • Press backward button to rewind by 0.5 seconds
    • Press forward button to advance by 0.5 seconds
    • Press live button to return to live radio

Configuration

All configuration settings can be adjusted in config.py, including:

System Architecture