I retrofitted this 1978 radio with a Teensy microcontroller, 3.2" TFT LCD, amplifier, bluetooth and FM radio modules, and a working microphone. Almost all the buttons are useable, too.
The Sony FX-300 (aka "Jackal" in 🇯🇵) caught my eye in late 2019.
A 1978 technological wonder combining a miniature B&W TV, cassette recorder with microphone and AM/FM radio all in a compact, portable design that aged really well and was oozing cyberpunk.
It was only sold in North America and Japan, and I'm in 🇫🇷.
But I kinda wanted one anyway.
Out of curiosity, I checked eBay listings in US/CA. Found some! Super expensive!
Then I switched to Yahoo auctions in Japan and found many Jackals in various states, for a lot cheaper.
So last May I bought 2 non-working devices for about 65€ total. Repackaging and shipping to France via sendico.com cost an additional 56€.
I chose sea freight over air to spare some CO2. Took about 3 months to arrive 😅.
One had all the buttons but showed its age, the other had no buttons but a pristine outer shell. Nice! Only one antenna though, and the tip was broken. Meh.
And this is what a Jackal looks like when it's naked (also featuring my desk stool as a makeshift turntable 😎).
The device is entirely hand-soldered and incredibly tightly packed. The main PCB is mounted on plastic hinges. Lots of wires and not a single connector.
Removing the cutest CRT ever. I'll be replaced with a cheap 3.2" ILI9341 TFT LCD that matches its size almost perfectly.
I dismantled the cassette deck. My idea was to reuse its RWD/Play/FFW buttons. I removed as many parts as possible then mounted some arcade style switches in strategic locations.
The attached PCB also contains the main power switch and input selector, so I wired that too.
I made room on the main PCB 🧹 for a relay board to toggle the audio source and power things up based on the selected input, and a protoboard supporting a cheap PAM8403 3W amp, ultra cheap MH-M18 bluetooth module, and a Sparkfun SI4703 FM radio module (that I replaced later).
The core of the project is this pyramid made of @PaulStoffregen's incredible Teensy 4.0 microcontroller (600Mhz !?!), stacked on its dedicated audio board, resting itself on a protoboard with a bunch of terminal blocks. I wanted everything to be removable.
About 3/4 of the pins of the Teensy are used, including some of the inputs underneath. That led to some "creative" problem solving 😬
The minijack here is for the audio line input coming from the relays through a ground loop isolator. I built a cable for the LCD (SPI) on my breakout board, trying to keep it as short as possible.
This meant that my Teensy assembly had to stand right behind the LCD screen, where the body of the CRT used to be. To install the new display I had reorient its pins and to Dremel both the Jackal's plastic frame and the TFT's PCB. It's a tight fit, but it fits!
It was shaping up. I still needed to wire all the remaining pots and switches, and work on the details...
...such as adding yellow LEDs in the VU-meter and the radio's tuning capacitor. By the way, reading a capacitance with a bare Arduino is possible by using 2 pins (1 analog 1 digital) and this clever library: github.com/codewrite/ardu…
The VU-meter is driven by the Teensy via analogOut (PWM). I also wired the headphone jack and a new electret microphone to the audio board's mic input while I was at it. And a coin cell battery for the Teensy's RTC.
Getting the FM module to work was the trickiest bit. I accidentally destroyed the SI4703 which I ended up replacing with a RDA5807M (cheap!). Both are using I2S. I had trouble making it work until I physically separated the data and clock wire. I'm still working on the code.
I initially intended to keep the original Sony speaker, but it wasn't sounding great so I swapped it for a 4 Ohm Visaton of the same diameter with a much better frequency response.
Lastly I spliced an USB cable to make a power rail board toggled by the main on/off switch on the cassette deck PCB. Data lines are still working so I can program the Teensy. Otherwise a USB power bank can be plugged and tucked in the original battery compartment for regular use.
And it's a wrap 🙂 I could do a whole other thread about the software side but I'm not 100% done with that yet.
Thanks for sticking to the end and I'll leave you with exclusive behind the scenes pictures on the set of the video shoot from the first tweet. And a movie reference.
In the 2024 sequel I rebuilt it from scratch around I2C and I2S, adding a ton of new features, here's the thread: x.com/t0m_fr/status/…
Here's a demo of the FM radio, another feature from the original project, only this time it actually works 😅
RDS takes a few seconds to stabilize, which I didn't have here, so don't mind the gibberish. Bitcrusher filter from the 2021 is still here too for 8bit 5kHz hifi sound!
There are a few things that annoyed me with the 2021 build. The sound was noisy. The cheap display had light bleed and poor viewing angles. The radio module never really worked. I never finished the code so I didn't release it.
So lets try to improve on this!
Jackal 2024🧵
First, the display. There are now IPS versions of the same 3.2" ILI9431 LCD I had. I built a new SPI cable but this time with a connector on the other end. It's a drop in replacement except that colors are inverted (there's a flag to set in the code). *Way* better viewing angles!
A dock and software combo that let you use the gorgeous screen of the Playdate for all your slow-tech typing needs, using a #teensy microcontroller and a bit of hackery.
🧵⤵️
The dock charges the Playdate – of course, and can also be used to play games with a keyboard or third party controller, so you can Executive Golf on your executive desk, using the input method that you're most comfortable with.
No bluetooth at the moment, but that's doable too.
Here are a few more pictures before this thread dives into the details of how it was made 🤿 (after a short break)