- Notifications
You must be signed in to change notification settings - Fork0
Upcycling project adding a color display, Bluetooth, RDS, NFC and more to an awesome looking 1978 radio, the Sony FX-300
License
t0mg/jackal
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation

A battery operated, multi-mode audio system built in an upcycled 1978 Sony FX-300, that supports Bluetooth audio with metadata, FM radio with RDS, SD card playback/recording (over built-in microphone), and NFC-triggered playlists –1 minute trailer.

In 2021, I upcycled a defunct 1978 Sony FX-300 — akaJackal — portable tv/radio set into a modern audio system, as detailedin this story. I didn't release any code at the time because it was not fully working (bluetooth was analog, FM radio didn't work, the sound quality was not good enough, the TFT display wan't great either).
I got back into it in 2024, and after gutting the thing again and redoing it almost from scratch, not forgetting to throw in 2 extra microcontrollers and a good amount of overengineering (that story is detailed with some video demosin this Bluesky thread orhere), I'm now sharing what I consider the final version of this project. You might not want to build the exact same thing yourself, but I figured this might help inspire other projects.
This repository contains 3 subfolders as the project now uses 3 microcontrollers. Themain-board
folder contains the Teensy 4.0 code. The Teensy 4.0 is the main controller, and is designed to be connected to thebluetooth-sink and theio-board.
Additional features include :
- Real time FFT visualization @30fps
- Real time bitcrusher effect
- Working VU meter for volume
- Favorite function in radio mode
- 5 band equalizer
- Backlight control
- Clock and settings memorization with backup coin cell battery
- MTP mode to read/write audio files on the SD card over USB
- No coding required to add a playlist for a new NFC tag (the NFC id just needs to match the name of a folder on the SD card)
- Working headphone jack (mono though, which isn't convenient for modern headphones)
- Boot animation and SFX from a movie that came out one year after the Jackal
- Secret Pong mode (hold orange button while booting -demo video)
- Dedicated setup screen for time and date when the backup battery is replaced (demo video)
- And probably more useless stuff even I don't remember
Teensy 4.0 microcontroller
- Teensy Audio board with SGTL5000 audio codec & SD card reader
- ILI9341 3.2" IPS display (SPI interface)
- Acts as I2C Controller for other peripherals
- Seemain-board for more details
Audio sources
- M5Stack Atom (ESP32) as bluetooth A2DP sink
- I2C Target for playback control, status feedback and metadata
- I2S 16bit 44.1kHz audio source
- Seebluetooth-sink for more details
- RDA5807 FM radio module
- I2C Target for control and RDS data
- Analog input for FM signal
- Velleman M300 electret microphone (analog mic input into the audio board)
- SD card with 16bit 44.1kHz PCM WAV files (SD card reader on the audio board)
- M5Stack Atom (ESP32) as bluetooth A2DP sink
Arduino Nano
- I2C Target for the Teensy (through a logic level shifter to stick to 3.3V)
- Reads all physical buttons and potentiometers of the Jackal
- Controls the PN532 NFC RFID reader over software serial (using I2C would add more complexity and require another logic level shifter)
- Seeio-board for more details
PAM8406 amplifier (5W)
Visaton FR 10 HM 20W speaker (95 - 22000 Hz)
10000 mAh external USB battery
Resistors, capacitors, yellow LEDs, and tons of wires.
This project could not be built without the contributions of many talented people. Please refer to the dependencies section in the README of each subfolder for more details.
This project is licensed under the MIT License - see theLICENSE file for details.