Blueprint

Radio

esp32-c3 supermini-powered radio

Created by jga5629910 jga5629910

Tier 4

2 views

0 followers

samliu samliu ⚡🚀 requested changes for Radio ago

Hey! Please make sure you fully check over the submission guidelines (https://blueprint.hackclub.com/about/submission-guidelines). You're missing stuff!

jga5629910 jga5629910 submitted Radio for ship review ago

jga5629910 jga5629910 added to the journal ago

PCB fix and cart of PCB

The screenshots I had previously attached already have an exported PCB in them, but I will attach the screenshots of the PCB order.
image
I still did try a lot to make the PCB in the model more detailed, but failed to do so.

zsharpminor zsharpminor requested changes for Radio ago

Hi, while this is insanely cool, you still need a screenshot of a 3D render of your exported PCB inside your CAD! Also, you need a cart screenshot of your PCB!! Otherwise, this looks great.

jga5629910 jga5629910 submitted Radio for ship review ago

jga5629910 jga5629910 added to the journal ago

Made an Assembly

I made a CAD in teinkercad by putting the 3d models of all my components inside of my case. image
It was a hassle trying to find all the components but i managed toi find and tweak them eventually.
image
Everything did fit inside okay, and the PCB lies perfectly on he studs i designed for it.
image
I did have to move the headphone jack to the other side of the case because that's how the PCB was mad, but everything else looks great. I will export this and put it in the repository and am ready to re-submit!

Kai the Jolly Guy Kai the Jolly Guy 🚀 requested changes for Radio ago

I love your PCB :D Could you just try to add it inside of the case to make sure everything fits? Your CAD should look fully assembled and if you need any help, feel free to message in #blueprint!

jga5629910 jga5629910 submitted Radio for ship review ago

jga5629910 jga5629910 added to the journal ago

Completed 3d render

Today I started and completed my 3d design in tinkercad. image
I placed parts in the way I would expect a commercial radio to look, putting the dials, speaker, and screen on the front and putting the main button, and the sleep button on the top.
![image](/user-attachments/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6ODQ3NTUsInB1ciI6ImJsb2JfaWQifX0=--150964405e928c3c15285d3a87e6b8d95d96273d/image.png
Inside of the radio, I put in these studs to mount the PCB on, This keeps the components above the floor for better airflow and also prevents it from rattling around. To close the radio once all the components are mounted, I added a backplate that goes into a lip on the back of the radio. image
I have uploaded this sketch to GitHub and am now going to submit my design.

jga5629910 jga5629910 added to the journal ago

Completed Code and added a sleep button

Since my last journal entry, I have uploaded all of my files to my GitHub repository and also finished my code. The code took me a long time because I had to select and learn all the functions of the libraries I needed for my specific components. The total libraries was 5:image
I personally enjoyed the logic of getting input from the buttons and constantly changing the volume and radio frequency. The sleep timer logic was also pretty intriguing. Overall, I am almost done with this project and aim to turn it in tomorrow after finishing my 3d printed design so that I can get my parts and make this a reality soon!

jga5629910 jga5629910 added to the journal ago

Started Repository

I firstly re-checked the PCB, however some mistakes were showing up, so I fixed those and also added pins for another button, which will be used for a sleep timer button. image
This button is going to just put the microcontroller into deep-sleep, since it cant physically cut off its own connection. I also finally started working on my GitHub repository, in which all of my files are going to be stored. I also have the basic idea for the code ready, I just have to type it out and debug it.

jga5629910 jga5629910 added to the journal ago

BOM

Today I created a Bill of Materials for my PCB, which involved choosing what type of vibe I wanted with my components, and what components I wanted to make a little higher quality than others.
image
As shown, I already have about $10 worth of the parts I need, so I only need about $35 of funding. I decided to upgrade my potentiometer for more precise tuning and for a smoother feel. I also upgraded my antennae to a 76cm telescoping antenna because it provides a full 1/4 wave resonance at 100MHz. While it may be unusually large, it ensures maximum signal gain for the RDA5807M radio module. This upgrade will also make it capable of listening to much farther or weaker stations. image
Also decided to go for a more durable button just to make sure that it could handle the battery's 3.7v.

Today I also started working on my github repository in which I put all my pdf files, gerber files, and json files of the PCB. By next journal entry, I will have tried to work on my code and/or README file.

jga5629910 jga5629910 added to the journal ago

Completed PCB

Since the last journal entry, I have started and finished the PCB for this project. It took a very long time to learn PCB design, but once I got the hang of it, it was just a matter of time to complete it.

I used two layers for the PCB, and had to alter the footprints of many of the components in order for them to fit my specific modules. For example, I could not find any community-made footprints for the RDA5807M FM module that were the same size as mine. I had to scale down the body and move the connecting pads. I also had to make multiple versions of the PCB since I couldn't seem to find the optimal spot for each component, but finally I settled on this one:imageimage

I used wide Surface Mounted Pads for soldering on off-board components such as my screen, potentiometers, and the speaker. They're very big for ease. I also added a copper pour for GND connections on both layers just so connections would be simpler but also because copper allows for better heat distribution, preventing any one component overheat while the radio is playing.

I just need to make a Bill of Materials, the code, and anything else I need to officially finish the project!

jga5629910 jga5629910 added to the journal ago

Schematics and Footprints.

Today I finished the schematic of my project using EASYEDA standard, and started working on the footprints for some of the components. image
I have to design or modify accurate footprints for every component because it is incredibly difficult to find a perfect footprint to print on a PCB. For components that aren't designed to be on the PCB such as the OLED, speakers, and potentiometers, I designed SMD pads so that I could attach wires from the PCB leading to those components. Today I finished working on the RDA5807M, the ESP32C3-SUPERMINI, the potentiometers, and the 0.96'' OLED's footprints.

jga5629910 jga5629910 added to the journal ago

Picked Parts and Designated locations

I have been working on this project for a while now and have so far picked the parts that I want to use and made a wiring schematic using it. I will be using the esp32-c3 for the brain because of its incredibly compact size and it's ability to use Bluetooth incase I want to upgrade this later and a RDA5807M for the radio module again because of its size and it's capability to read radio channel names. An expandable telescopic antennae will be paired with the radio module for maximum audio clarity. I went for two 1.5 inch 4 ohm 3 watt speakers because that allows for stereo sound which enhances the audio quite a bit.!image

An 0.96' OLED display is going to be placed in between the two speakers to display the channel number, volume, and also the song that's playing's name. Two linear potentiometers paired with 3d printed knobs will handle tuning and volume control. There will be a PAM8403 amplifier in between the radio module and speaker to boost the audio signals, and there will be a 3.5 mm aux port to listen with wired headphones. An 18650 3000mAh battery will be used to power the device, supplying sufficient power for the radio to last multiple hours. An RGB led above the OLED display will indicate the battery level, and different colors will be assigned for different battery statuses. A TP4056 is going to charge the battery and also give the radio power when plugged in.

This radio will be approximattely 5 inches by 2 inches by 3 inches.

jga5629910 jga5629910 started Radio ago

1/6/2026 - Picked Parts and Designated locations

I have been working on this project for a while now and have so far picked the parts that I want to use and made a wiring schematic using it. I will be using the esp32-c3 for the brain because of its incredibly compact size and it's ability to use Bluetooth incase I want to upgrade this later and a RDA5807M for the radio module again because of its size and it's capability to read radio channel names. An expandable telescopic antennae will be paired with the radio module for maximum audio clarity. I went for two 1.5 inch 4 ohm 3 watt speakers because that allows for stereo sound which enhances the audio quite a bit.!image

An 0.96' OLED display is going to be placed in between the two speakers to display the channel number, volume, and also the song that's playing's name. Two linear potentiometers paired with 3d printed knobs will handle tuning and volume control. There will be a PAM8403 amplifier in between the radio module and speaker to boost the audio signals, and there will be a 3.5 mm aux port to listen with wired headphones. An 18650 3000mAh battery will be used to power the device, supplying sufficient power for the radio to last multiple hours. An RGB led above the OLED display will indicate the battery level, and different colors will be assigned for different battery statuses. A TP4056 is going to charge the battery and also give the radio power when plugged in.

This radio will be approximattely 5 inches by 2 inches by 3 inches.

1/7/2026 - Schematics and Footprints.

Today I finished the schematic of my project using EASYEDA standard, and started working on the footprints for some of the components. image
I have to design or modify accurate footprints for every component because it is incredibly difficult to find a perfect footprint to print on a PCB. For components that aren't designed to be on the PCB such as the OLED, speakers, and potentiometers, I designed SMD pads so that I could attach wires from the PCB leading to those components. Today I finished working on the RDA5807M, the ESP32C3-SUPERMINI, the potentiometers, and the 0.96'' OLED's footprints.

1/10/2026 - Completed PCB

Since the last journal entry, I have started and finished the PCB for this project. It took a very long time to learn PCB design, but once I got the hang of it, it was just a matter of time to complete it.

I used two layers for the PCB, and had to alter the footprints of many of the components in order for them to fit my specific modules. For example, I could not find any community-made footprints for the RDA5807M FM module that were the same size as mine. I had to scale down the body and move the connecting pads. I also had to make multiple versions of the PCB since I couldn't seem to find the optimal spot for each component, but finally I settled on this one:imageimage

I used wide Surface Mounted Pads for soldering on off-board components such as my screen, potentiometers, and the speaker. They're very big for ease. I also added a copper pour for GND connections on both layers just so connections would be simpler but also because copper allows for better heat distribution, preventing any one component overheat while the radio is playing.

I just need to make a Bill of Materials, the code, and anything else I need to officially finish the project!

1/11/2026 - BOM

Today I created a Bill of Materials for my PCB, which involved choosing what type of vibe I wanted with my components, and what components I wanted to make a little higher quality than others.
image
As shown, I already have about $10 worth of the parts I need, so I only need about $35 of funding. I decided to upgrade my potentiometer for more precise tuning and for a smoother feel. I also upgraded my antennae to a 76cm telescoping antenna because it provides a full 1/4 wave resonance at 100MHz. While it may be unusually large, it ensures maximum signal gain for the RDA5807M radio module. This upgrade will also make it capable of listening to much farther or weaker stations. image
Also decided to go for a more durable button just to make sure that it could handle the battery's 3.7v.

Today I also started working on my github repository in which I put all my pdf files, gerber files, and json files of the PCB. By next journal entry, I will have tried to work on my code and/or README file.

1/13/2026 - Started Repository

I firstly re-checked the PCB, however some mistakes were showing up, so I fixed those and also added pins for another button, which will be used for a sleep timer button. image
This button is going to just put the microcontroller into deep-sleep, since it cant physically cut off its own connection. I also finally started working on my GitHub repository, in which all of my files are going to be stored. I also have the basic idea for the code ready, I just have to type it out and debug it.

1/17/2026 12 AM - Completed Code and added a sleep button

Since my last journal entry, I have uploaded all of my files to my GitHub repository and also finished my code. The code took me a long time because I had to select and learn all the functions of the libraries I needed for my specific components. The total libraries was 5:image
I personally enjoyed the logic of getting input from the buttons and constantly changing the volume and radio frequency. The sleep timer logic was also pretty intriguing. Overall, I am almost done with this project and aim to turn it in tomorrow after finishing my 3d printed design so that I can get my parts and make this a reality soon!

1/17/2026 4 PM - Completed 3d render

Today I started and completed my 3d design in tinkercad. image
I placed parts in the way I would expect a commercial radio to look, putting the dials, speaker, and screen on the front and putting the main button, and the sleep button on the top.
![image](/user-attachments/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6ODQ3NTUsInB1ciI6ImJsb2JfaWQifX0=--150964405e928c3c15285d3a87e6b8d95d96273d/image.png
Inside of the radio, I put in these studs to mount the PCB on, This keeps the components above the floor for better airflow and also prevents it from rattling around. To close the radio once all the components are mounted, I added a backplate that goes into a lip on the back of the radio. image
I have uploaded this sketch to GitHub and am now going to submit my design.

1/25/2026 - Made an Assembly

I made a CAD in teinkercad by putting the 3d models of all my components inside of my case. image
It was a hassle trying to find all the components but i managed toi find and tweak them eventually.
image
Everything did fit inside okay, and the PCB lies perfectly on he studs i designed for it.
image
I did have to move the headphone jack to the other side of the case because that's how the PCB was mad, but everything else looks great. I will export this and put it in the repository and am ready to re-submit!

1/28/2026 - PCB fix and cart of PCB

The screenshots I had previously attached already have an exported PCB in them, but I will attach the screenshots of the PCB order.
image
I still did try a lot to make the PCB in the model more detailed, but failed to do so.