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.

Final shape of the board: A circle with two points emerging from opposite sides

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.

PCB with white swirls on the silkscreen layer emulating clouds

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.

  1. The badge would be powered by a simple CR2032 battery, so the components needed to work with 3v or less.
  2. The components needed to be easy to solder. I preferred through-hole components over surface-mount ones.
  3. 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.

  1. The clock signal generator.
  2. 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:

Schematic

I spent some time laying this out on the PCB, resulting in the final board:

Rendering of the front of the final PCB, showing LEDs in a spiral and the cloud silkscreen Rendering of the back of the final PCB, containing all the other non-LED components.
Photo of completed badges

Do you have a kit for this badge that needs to be assembled? Check out the assembly instructions.

Support free Wi-Fi

openwireless.org

Support free maps

openstreetmap.org