Sending Pictures Over the Airwaves – SSTV with a Raspberry Pi Pico

Here’s a project write-up by our member Jeffrey Roe, who recently built a Slow Scan TV (SSTV) demo using a Raspberry Pi Pico. He showed it off during the IRTS AGM weekend and radio rally—blending hardware, software, and radio in true hacker fashion.

For the IRTS AGM weekend and radio rally, I wanted to put together a fun little demo to show off something radio-related that combines both hardware and software tinkering. The result? A working SSTV (Slow Scan Television) transmission system using a Raspberry Pi Pico. The aim was to send images over audio and decode them via amateur radio equipment—or in this case, a phone and an oscilloscope during testing.

Like all great projects, this one started with the classic struggle: trying to avoid soldering… and thinking it would only take an hour. How wrong I was!

Eventually, I gave in and soldered up a 3.5 mm audio jack breakout to plug into the breadboard cleanly. From there, things started to fall into place. I used a universal PCB with header pins and cut it to a smaller size.

With the jack connected and audio output sorted, it was time for some proper testing. I had an app on my phone I’d always thought might come in handy one day—and it finally did! Phyphox is like a mini lab on your phone. It can generate audio waveforms, which are perfect for our use case here. I used it to generate tones and verified the signal with an oscilloscope.

Once the circuit was wired up on the breadboard, the project used the following parts:

PartQuantity
320×240 ILI9341 display1
Raspberry Pi Pico1
10kΩ resistor2
100nF ceramic capacitor1
3.5mm Stereo Socket1

With everything connected, it was time to dive into the code. I followed the fantastic SSTV code by Jon Dawson, written for the Raspberry Pi Pico. The setup was straightforward, and before long, I had the system sending out a test image—a cat from @choiceIrregular, naturally—via SSTV.

If you’ve never heard SSTV audio before, it’s… unique. I captured a short video of the transmission. (Fair warning: it’s not exactly soothing—so maybe turn the volume down. Bonus: you can decode the audio from the video too!)

The final step was hooking the system up to a radio for real over-the-air transmission. On the transmission side, I used a USB-C to 3.5 mm adapter connected to my phone (using the SSTV Encoder app), paired with a “Kenwood” 2.5 mm TRS to 3.5 mm TRS connector-to-bare-wires cable. Using a connector block, I had a rough-and-ready USB-to-mic cable.

On the receiver side and another radio, I used another “Kenwood” adapter—this time to a 3.5 mm female socket—and then a simple 3.5 mm audio cable into my device.

And it worked! 🎉
Bonus: The photo below is a selfie of the project itself.

This little project was a great way to showcase digital image transmission using amateur radio, with a modern twist via the Raspberry Pi Pico. It sparked some fun conversations at the rally and hopefully inspired a few fellow hams to try it out themselves.

There’s also lots of scope for improvements. Here are a few ideas:

  • Moving it off the breadboard to make it more robust for events
  • Adding shielding—if I transmit too close, the screen goes white (I suspect interference on the SPI bus)
  • Saving received images—the screen has an SD card slot
  • Automating the sending side—currently, I have to hold the PTT button manually

If you’re curious about trying this out, I highly recommend checking out Jon Dawson’s guide, the inventor of the project:
👉 https://101-things.readthedocs.io/en/latest/sstv_decoder.html

73s!

— Jeffrey Roe, EI7IRB


📸 Photos from the IRTS AGM Weekend & Radio Rally

Joe (EI3JVB), before and after his image was sent via SSTV. Check out our gallery for more!

Stopping Time: A Sensor-Driven Interactive Art Installation

At Tog Hackerspace, we love helping artists bring their visions to life by combining technology with creativity. One recent project, led by me, Jeffrey Roe, involved modernizing an older artwork that originally used a film camera, and upgrading it to use a digital projector and new sensors. The high-level concept was simple but striking: if a person was detected in front of the screen, the video should stop, and the screen should go black.

This collaboration took place over several months, working around the artist’s availability and my own time outside my day job. We began by choosing a Raspberry Pi as the brains of the project. Initially, I used an ultrasonic distance sensor to detect when a person was present. I wrote the control software in Python, using VLC Player to handle video playback. The script managed VLC through subprocess calls, ensuring that the video would start and stop as needed. To make the setup more seamless, the Raspberry Pi was configured as a server to auto-start, log in the user automatically, and hide the mouse cursor from the screen.

Continue reading “Stopping Time: A Sensor-Driven Interactive Art Installation”

Pizza Oven Overhaul

From almost the very beginnings of TOG, our monthly Saturday evening Open Social has been a constant fixture in our calendar. At our Open Social in January 2015, a quick hack over the previous few weeks at making a brick pizza oven from a stack of red bricks and some bits of angle iron turned out to be an unexpected instant hit. Our Open Social was changed forever, and has become as much of an outdoor event as an indoor one, irrespective of the season.

We were blessed in TOG 2.0 (Chancery Lane) to have our own private yard where we could leave the oven permanently. Fast forward to TOG 3.0 (Blackpitts) where there was a large outdoor car park, but we couldn’t leave stuff out there permanently. The solution was to create a mobile pizza oven that we could wheel in and out as required. Using a gym ball as a mould, we made our current mobile pizza oven.

After 7 years of hard use, it was time for a bit of well deserved maintenance. The top was removed and the base refilled and leveled with fresh perlite. New dedicated fire bricks instead of red bricks were laid out for the base. Unlike the previous red bricks, these fire bricks are all identical in dimensions and have now made a super flat cooking surface. The inside of the dome got some re-pointing with new red pottery clay.

At our combined Open Social and 16th birthday party last week, the newly refurbished oven was put to the test. The pizzas were fabulous. Thanks to Conor for making the dough! Being a maker space, you get to prepare and cook your own pizza. We even have peels that we made ourselves. We are a maker space after all! To see the oven in action and to have a go yourself, drop into any of our Open Socials.

Keypad Memory Game

A call went out this festive period on the Irish Makers Unite discord server, looking for interest in participating in a Secret Santa project. Our own Jeffrey Roe decided to take part and this is blog post about his build.

The rules of the project were simple: the gift had to be made by the maker. I received a small blurb about the maker I was creating for. They asked for a desk toy. Due to other commitments, I left myself with only two days for the build, so all the parts would need to be from what I have at home or in the hackerspace.

I have a love of making interactive games for science and maker events, but in the past, they tended to be big things that would no way fit on a desk. I decided to build a memory game using a keypad that has been in my parts bin for over five years —an old matrix keypad that I got free at some long-forgotten event.

Continue reading “Keypad Memory Game”

Simon Button Game

Each year the Dublin Maker festival comes around and our members Jeffrey Roe and Christian Kortenhorst want to take part. They have been to many maker festivals and collaborated over the years.

Christian likes to make big things with tools and Jeffrey likes to make things with technology and electronics. They tend to come together on their love of interactive games. While wandering around EMF camp last year they came across the work of We Throw Switches and their flux game

The goals of the project:

  • Two-person interactive game
  • Fit on a table
  • Be portable
  • Simple game with no need for instructions
  • Be ready in three weeks

Eary on, it came clear we would be using arcade style buttons, and addressable LEDs to meet the project deadline of only a few weeks.

Christian got started working on the box. He create an LED display that was 4 by 6 “pixels”. Each pixel would be made up of 4 addressable LEDs. Two stripes of 50 LEDs would be used and due to the wiring layout, some would be hiddle and just covered in tape.

Doubts started to come to the project team. Would these LEDs work in direct sunlight? Remember the goal is to use the game in an outdoor daytime festival. Christian came up with the idea to paint everything white and Jeffrey said let’s bump up the current to make the LEDs brighter.

Now for the brain of the game. Jeffrey started out with the idea of using the USB controller that comes with buttons. How hard could it be to use a Raspberry Pi Pico and a USB host library?

It turns out that with Jeffrey on the team running Dublin Maker there is not enough time to learn new things for projects. We quickly switched back to using the reliable and known Arduino. In order to make the game responsive all eight buttons would be required to have their own hardware interrupt.

He started to use an GPIO expainder over I2C. This device allows for lots of interrupts. We started to build out a little board that would take the connector from the buttons and power the LEDs strips. The video below shows testing an interrupt to turn on the LED in the button when the button is pressed.

The code started to come together with a few late-night sessions but the interrupts didn’t seem to work as expected. Due to the way, the buttons are wired, the LED and the button share a pin and it’s only controlled by three pins. This causes the interrupts not to trigger when the LED is turned on.

Unfortunately, we did not meet the deadline of the event and never fixed the problem before the Dublin Maker event. We coded up a bit of a demo on the LED display but was not interactive.

The project did not end there. Another big public event was only a few weeks with Dublin Comic Con Summer edition. During a few late-night coding sessions, Jeffrey came up with a new way to check the inputs of the buttons without using hardware interrupts but still be reactive. The code just checks the status of the expected two buttons to be pressed over and over so there is little delay.

The game was unleashed to the visitors of comic con, it was a hit. People loved playing it once they got going. We did kind of miss the other goal of making the game portable as it ended up a little big.

You can check out more f the photos from the build in our gallery.

A journey of repair – Dynatron SRX 26

Let’s go on a journey of repair with Jeffrey. We have a Dynatron radio model SRX 26. I think it’s from the 1970s. The radio came from Henry which has been in his family since it was new. Unfortunately it has been waiting on me to repair it since September 2020.

I started off by wiping all the dust I have let fall on it. It is a crazy heavy thing. The best way to start is to have a good look over the radio. The point is to find any problems with the cable and to check it is safe before ever plugging it in. It also seems to be missing its record player cartridge (the needle).

The radio lead and fuse are the next places to check. It is using an older style of plug that should be replaced at some point. The fuse and lead are fine. Now for a power-on test. the unit is not showing any signs of life.

Now to take it apart and show everyone’s favourite part the insides. There looks to be other historical repairs carried out. If you look at the above image on the left-hand side.

An internal mains fuse looks very “crusty”. After taking it out it’s clearly blown. There are also two more fuses that are blown. The type of fuse is nicely labelled on the radio but I had none in stock. A short walk down to RS and picked up a bag of replacement fuses.

It came alive! Well it turns on anyway. The next step to try and find some suitable audio leads to test the sound. I only had a headphone adaptor but soon was getting sound from the radio but with a lot of hisses.

To overcome the hiss, I attacked all the knobs with some switch cleaner. You take off all the knobs and spray in the fluid. Give the knobs a good turn, backwards and forwards to work in the cleaner.

The last job was to mount the speaker port that was loose in the cabinet. Unfortunately without that type of lead, I could not test it. 

Check out the radio in action in the video above. The radio seems to work fine with headphones. The turntable needs a cartridge but that is a job for the radio owner. If you would like to see more photos of the repair check out our gallery.