Tom Granger Profile picture
Nov 29, 2021 21 tweets 11 min read Read on X
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.

Want to see how it was built? Let's rewind 🧵⤵️

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.
@threadreaderapp unroll please!

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Tom Granger

Tom Granger Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @t0m_fr

Jan 12
(Re-)Introducing my upcycled Sony FX-300 "Jackal" radio from 1978.

Teensy + ESP32 powered, 2.8" IPS display and feature packed! Bluetooth, FM radio, recorder, and more ✨

Starting a short 🧵 with additional videos (some details in captions), and code link at the end! ⤵️
What is this thing exactly? Let's roll back for context.

The 2021 origin story is here: threadreaderapp.com/thread/1465465…

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!
Read 10 tweets
Mar 16, 2024
Whoops. Looks like I'm rebuilding the Jackal... The Sony Jackal's case with a mess of wires.
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!

Backside view of the new IPS display mounted on the circular plate of the radio. I used silicone wires this time (the old cable was extremely stiff) and a connector at the other end so it's thinner than before which should fix the pressure point causing light bleed in the old display.
Front side view of the display mounted in the Jackal's faceplate. I had to Dremel the PCB like I did for the old display.
Display running at full brightness. The image is sharp and vivid, the viewing angles are perfect and no more light bleed!
Read 6 tweets
Oct 3, 2022
👐 Introducing Playwrite for @playdate

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) Playdate console sitting in...The 3D-printed, yellow dock...A picture of the backside o...Picture of the Playdate sit...
Read 24 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(