BSides SWFL 2025 Badge Design
2025 marked the debut of BSides SWFL. I knew from a previous conference I helped with that PCB badges were a thing at these types of conferences. As someone who dabbles in the hobby of circuit/PCB design, I was eager to lend a hand trying to design a badge for this conference.
Designing a Hurricane-Shaped PCB
I learned early on that the theme of the conference was "Hack the Hurricane—Defend the Coast," so my first thought was to make a hurricane-shaped badge. Up to this point, I had only ever made rectangular PCBs. I've seen oddly shaped PCBs before, though, so I knew it was possible.
Before I could make the PCB, I needed the shaped. I searched the internet for some images of hurricanes and found a few that looked good. I found a good image and used GIMP to create an outline of the hurricane to use as the board outline. Once the outline was done, though, I decided it was a bit too complex and didn't really look right. I then decided to go simpler and use the common warning symbol icon as the outline instead.
To get the shape into KiCad, I tried to import the symbol image as a graphic and trace it directly in KiCad on the outline layer. I found it difficult to get the outline traced just right, though, so I abandoned that idea. Poking around in KiCad a bit, I found it could import an image as an outline, but it had to be a SVG image. I then downloaded Inkscape and used it to trace the warning symbol into a SVG outline I could import into KiCad.
The warning symbol I used as my base image had sharp points at the edges which I initially traced as is. I decided it would be better to round them off a bit so the badge didn't have sharp edges. I went back to Inkscape and adjusted my trace to round out these edges and re-imported it. This finally gave me the finished board outline.

Create the Hurricane Clouds
With the shape of the board done, I was ready to start creating the hurricane clouds. Initially I tried using some AI Image generation tools. I tried prompting them to create a hurricane cloud effect. I also tried uploading an image of the PCB and asking them to add a cloud layer to the PCB as a silkscreen. All of these attempts with AI failed to generate a good effect.
I am not an artist, so I wasn't sure what to do next. I decided to just start playing around in GIMP with various
filters and effects to see what I could come up with. I first found Filters > Render > Pattern > Spiral. I tried using
this filter along with various blurs to create a cloud effect, but could not come up with anything I liked.
Next, I found the Filters > Distorts > Whirl and Pinch filter. This filter combined with random airbrushing worked
very well for creating a cloud effect. I just spent time attempting various iterations of it until I found one I was
happy with.
Once I had the cloud effect, I cropped it to the PCB shape and exported it as a PNG. I then used KiCad's Image Converter tool to convert the PNG into a footprint on the F.Silk layer. I saved the footprint to my project's library and placed it on the board, giving me the cloud silkscreen.

Adding an LED Spiral
I wanted to incorporate some LEDs into the badge in some way. I thought it would be neat if the LEDs spiraled inward, adding a motion effect to the PCB. There were a few basic requirements that I had to consider when designing the effect.
- The badge would be powered by a simple CR2032 battery, so the components needed to work with 3v or less.
- The components needed to be easy to solder. I preferred through-hole components over surface-mount ones.
- The overall bill of materials needed to be as inexpensive as possible.
I broke the circuit down into two parts and worked on them independently with the above requirements in mind.
- The clock signal generator.
- The LED driver.
Clock signal generator
My initial thought was to use a simple 555-timer IC for the clock signal. All the common and inexpensive ones required 4.5v or more, according to their datasheets. The few I found were rated for 3v or less were either too expensive (ex, ICM7555) or in packages that would be challenging to solder (ex MIC1553YM5-TR).
Looking for cheaper alternatives, I remembered the commonly seen astable oscillator circuit. This circuit consists only of a couple transistors, capacitors and some resistors. All of these components are inexpensive, and I could use easy-to-solder through-hole versions of them. I spend some time playing around with this circuit on a breadboard to find component values that resulted in a comfortable speed. I also found that I needed to add an extra transistor and resistor to boost the signal strength.
I added up the cost of the components for the astable oscillator to see how it compared to the 555-timer. The astable oscillator was $0.325. The ICM7555 was $0.372 for a SOIC-8 package (harder to solder) or $0.434 for a PDIP-8 package (significantly more expensive). As a result, I decided to go with the astable oscillator.
LED driver
My initial thought here was to use a simple BCD counter (the CD4017B specifically) to drive the LEDs. This would result in the LEDs lighting up one at a time in sequence.
At some point, I also came up with the idea of using a Flip-Flop IC (SN74HCT574) to drive the LEDs. With this, the LEDs would light up sequentially until all the LEDs were on. I could then invert the signal and turn them off sequentially.
I created some prototypes of each approach and showed them to some friends. Everyone agreed that the Flip-Flop created a more satisfying effect, so I went with that approach.
To save on costs, I went with SOIC packages for these ICs rather than PDIP packages. I am capable of hand-soldering this package, and since there is only one IC on the badge, I figured I could solder this IC on for people if needed. In the end, I ended up pre-soldering this chip onto all the boards so nobody would have to worry about it.
The final result
In the end, I ended up with the following circuit for the badge to run the LED spiral:
I spent some time laying this out on the PCB, resulting in the final board:
Do you have a kit for this badge that needs to be assembled? Check out the assembly instructions.
