hfsdr
hfsdr was a fun badge project.
TLDR: I helped draw art and PCB route for hfsdr. I'm quite proud of the art.
I didn't quite optimise the software (its heavily vibe coded + rhgndf did A LOT of the work) but its not bad
I think this video covers a lot of it
hfsdr Hackaday Europe Slides:
https://docs.google.com/presentation/d/1DemBR-EAXyDb-yAO4qIIC19ns-cMLppq4Nf5e6hHPYY/edit?slide=id.g3d899164398_0_263#slide=id.g3d899164398_0_263
Github Repo:
https://github.com/rhgndf/hfsdr
1. hfsdr - the main work
Anyway the context was that rhgndf wanted to make an SDR badge, and I wanted to join in to at least learn, this was in like Dec 2025.
I was at first quite busy for the first 2 months, and rhgndf was doing the schematic. I spent some time learning about the schematic, which is like
- The principles behind the Quadature Taylor Detector
- How to use I2S ADC
Then in Feburary after my Espressif internship, I had 2 weeks before I flew off for exchange so i got to work.
2. Artwork
Without art, this was what it would have looked like (some other kind of sdr)

I was ideating art, since this is a badge, might as well cook some art
I was thinking of this as something like a "HAM Radio" badge. I came straight of Hackbadge, and the design philosophy of that was to
- have something central,
- and then JAM a whole bunch of different things around

But I wanted to try a different design philosophy, so some ideas were to
- Screen only badge
- Screen with Ham radio art above it (and characters/ mini men)
- Having a character interact with the screen



One Idea which really stuck is that
- it'll be a rectangular ish badge
- The Screen and rotary encoder position would be positioned like a Radio style, so horizontally
- At the same time you can also have a guy playing with radio equipment, and the radio equipment can be on the screen
- The screen was intentionally designed to overlay onto the art, and do dynamic graphs of the radio signals (FFT, Amplitude etc.)
- Some Equipment would be
- Frequency generator (you can put the listening frequency in there)
- Power Supplies to fill up space
- Oscilloscopes to display the waves
- I drew it in a perspective style on purpose, and figured I can just do the art math later (I left it to cursor lol)
So it was meant to both look like a radio AND look like a guy was playing with radio equipment

I was wondering what character to put on the badge, but since I was designing with it being kind of a "HAM Radio" badge, i looked for references. And I figured out what character to do

HAM Guy was born. Furthermore
- To avoid it being too rectangular, i intentionally made the board curvy shape
- I added mini men on the left side of the board communicating (and the window was a nice touch)

I then refined it and put in on the PCB


I added some LEDs on the equipment on the table JIC the screen failed (spoilers)
And in the end, despite the potential for colouring, I thought black would be nicer, especially since I was inspired by this:

(Yes from osu, A FOOL Moon Night)

3. PCB Layout
I did the adjustment of the PCB to the art from there, though minor edits were done after it.

I wanted to learn RF PCB Design at this point, and I watched this guide which was quite good https://www.youtube.com/watch?v=TnRn3Kn_aXg&list=PLaSzC-ImuPaneJAdoItGXspi6qwKTWtBk&index=8
The key ideas I used is
- Keeping traces short
- 4 layer stackup - Signal, Power, GND, Signal
- Maybe some impedance matching thingy idk
In the end the frequencies dealt with weren't really high, so it was quite lenient + 4 layers also. It felt like doing my hornet acoustics pcb, so its ok.
Side Note: How to Route a Rotary Encoder
https://forum.arduino.cc/t/wiring-ky-040-rotary-encoder-button-function-into-matrix/890768
4. Firmware
I did some base code but a lot of it is in the slides.
The parts i remember most were
- Fixing the initial ADC
- the ADC was initially polling instead of DMA
- Bitslip
- I was struggling to comprehend what this was for a while
- The Dynamic Art
- It wasn't done for DEFCON SG, but I wanted to do this in time for Hackaday Europe
- I told Cursor this image, gave it the points on the image of the screen, and the font translation/ graph translation was done and overlaid onto the image
- Cursor actually made a mistake and inverted the colours of the image :), but I liked the white inverted image, so i kept it.
- Gave it like a special window vibe


Swiss doesn't have strong FM signals , so this was my setup for a while (yes the toilet has stronger signal). Not to mention I've been getting the boards through visits from people from SG (Insomnihack & LakeCTF)

There were some tricks in coding that I didn't know about, here were some key highlights
- Bitslip
- the RNG solve (keep resetting)
- Actually a silicon bug wtf
- Solution: Mute CH1, reset until CH1 completely 0 and CH2 not all zero
- Algorithms used for FM Demodulation
- Optimisation of RAM and DMA
- constexp
- Assemble and count number of instructions etc.
5. Ops & Sales
SG
Singapore sales were mainly direct so those are quite doable, just need to coordinate ig.
I did some reddit publicity and then coordinated from there.
https://www.reddit.com/r/Defcon/comments/1sw5g0y/hfsdr_preorders_for_defcon_sg/
https://www.reddit.com/r/Defcon/s/4ahGNvL5aj
Platform Fees
Eventually I moved to Uberflux, which is where all the badgelife people sell stuff
Just a slight note, ALWAYS take note of platform fees when pricing.
Yes thats it.
maibadge ordering
Last min i decided to order maibadges for DEFCON SG
At first I was thinking of ordering bare PCBs and soldering. Then realised with some basic parts maxxing + cost optimisations, its actually not bad to have more of it PCBA (its not alot more expensive if at all). I got the buttons, buzzer, resistors, LDO PCBAed. Having the SK6812 LEDs PCBAed was a lifesaver, hand soldering them was a very painful process :(


However the ESP32s are cheaper from taobao so I had to solder them, along with the USB C breakout, and GC9A01 screen. Those were quite intensive
I barely broke even and earned a slight profit so not bad. Not to mention badge trades with my maibadge was how I got 5n4ck3y this year lol
TLDR: Designing for PCBA is actually not that expensive, even for small batches. Prob just too used to splurging on small PCBAs in Bumblebee.
6. DEFCON 34
Talks
I gave some talks at DEFCON 34 this year

- BadgeLife in SG Presentation (+ better hfsdr slides)
- GreyMecha/Army Talk 2
Badge Drops
I wasn't selling only at DEFCON 34, but I went to Hackaday Europe + OSHW and sold some there

Uberflux Order Link:
https://uberflux.com/product/HCK-hfsdr
I sold some badges at DEFCON 34. I was quite tired out . Coordinating the sales was quite rough, figuring how to put the badges on carry on/check in safely in luggage, and then forget to bring the usb c cables for programming and need to borrow welp.
The TLDR is to
- Setup Uberflux for people to order
- Get a badge drop spot through the badgelife community
- Show up and pass people badges, scan their uberflux QR code
I was quite overwhelmed by the crowd + very last min prep of my maibadges for sales (I was soldering the ESP32 right before selling them and that took up conference time). I didn't have much time or energy to do anything else for the rest of the conference.
I am SUPER Thankful to whoever bought the badges and were ok with the minor issues, one of the best things about DEFCON is the community.
good experience coordinating though, wouldn't do it again unless I'm making enough profit to cover flights lol.
General DEFCON Vibes
I failed my HAM Radio exam lol.
I didn't think i had as good of a time this year than DEFCON 33 and prob wouldn't come back, but i guess its ok, i had some experiences that were kinda worth, but i should remind myself that internet on defcon sucks (cellular or WiFi)
6. Wrapping Up
Shipping from SG
Unfortunately not all orders on uberflux were collected at DEFCON so shipping it is.
Shipping is not so fun though, but the TLDR is
- Just find a shipping partner (i tried TracLogisX)
- Order and they'll come to your place to collect the parcel
- Should be all good hopefully
Coordination was very poor on this but wtv. This was quite annoying (tarrifs, asking the buyers - they respond slowly, cost effectiveness idk)
End
Anyway the end a hackware talk was given which was the best one so far so not bad
might do more rf idk, rf quite fun