Another DEF CON, another SAO1. This year I have made a SAO for myself instead of for the company I work for. This means I have financed it myself so even more squeeky bum during the ordering process to make sure everything is correct. This year’s SAO is called “Invicta” and is based on the Flag of Kent, my home county.

flag of kent

A version of Invicta the flag of Kent

Compared with last year this is going to be a much simpler design, with the “electronics” being only three components.

PCB schematic diagram showing three components

The Schematic of the SAO

The only slightly odd component was the rear firing LED which will allow the eye of the horse to light up. I went with the APTR3216SURCK from Kingbright, based mostly on availiablity.

V1 - The Trouble with Silk Screens

This year I gave myself enough time to hopefully get a couple of revisions before taking the plunge and making the final order.

I am glad I did, as the first version revealed a couple of things I was not aware of when designing the SAO. Firstly, I did not realise that the PCB fab would remove all silk screen over bare copper. This makes sense for most PCBs are silk screen over copper doesn’t really make sense, but for “art” PCBs this is a bit of a weakness2. I also realised that large areas of copper end up with a non-consistent surface due to the tinning that is applied.

image of SAO showing missing silk screen on bare copper

Missing silkscreen on bare copper

V2 - Looking Good

Another order of three boards later, and another wait and the new revision arrived. This revision was mostly to fix the silkscreen, but i took the opportunity to tidy the vectors a little bit, and increase the cutout in the copper layer to allow more light to shine through the eye.

Image of SAO showing now correct silkscreen

Final Design

Happy with these changes it was time to order the boards!

PCBA

As ever, and in the hope for an easy life I called on JLCPCB’s PCBA capabilities to assemble the badges, and after some stress with JLCPCBs PCBA inspections tools not working for me3, the order was in, and then the waiting began. It wasn’t a long wait…

The Fuck-Up - Datasheets are Hard OK

Not long after going to production I got an email from JLCPCB saying there was an issue. “There is a problem with your design, and we won’t be able to solder the LEDs as is.”

Extract from APTR3216SURCK datasheet showing package dimensions

LED Datasheet

I’d made a very silly assumption about the LEDS. I had assumed the height shown in the second diagram was “above” the PCB, but in fact these LEDs expect a hole in the PCB to be made for the LED to poke into. This would never have worked for my design, and with JLCPCBs manufacturing4 capabilities. Thankfully JLCPCB offered a solution (for a reasonable fee), and manufactured the boards with the LED installed “upside-down”, so I could still get the boards and components, but it would be up to me to fix the issue.

After a little waiting the boards arrived. JLCB did the panelisation, and they did a nice job.

Panelised SAO PCB

PCB Panelised by JLCPCB

And even with the LEDs firing away from the board the eye lights up a little, but it wasn’t good enough so the re-work started.

The invicata SAO installed on an old DEF CON badge, showing eye lit up by incorrectly mounted LED

SAO Powered Up With LED Back-to-Front

Re-working these boards required me to:

  • De-solder the LEDs
  • Partially Drill through every board
  • Re-solder the LED the “correct” way up with the lens in the little cavity

Lucky I own a drill press, and some small flat bottomed drills/mills were cheap. Unfortunately my drill press is more designed for metal work than precision depth milling. The depth stop on the drill is very basic, what I found did work was setting the stop about level with the board, and applying some consistent pressure to the handle to achieve the depth required.

A collage, left picture shows board in a drill vice, the right shows the PCB with the small milled cavity

Mill/Drilling pockets in PCBs

A little soldering later and we had working boards, and in the grand scheme of things this was less painful that last time…

SAO showing reworked LED

Reworked LED living in it’s PCB pocket

Final Result & DEF CON

In the end of the 125 board I ordered, I managed to get about 70 reworked and out with me to DEF CON.

Invicta SAO installed on DEF CON 32 Badge

The Final Product

I have plenty left, including ones still need re-working so if you bump into me at a conference just ask there is a good chance I will have a spare on me.


  1. Simple/Shitty Add On, a small badge with a standard header that can be installed on conference badges that support the SAO standard ↩︎

  2. A bit of googling says that whilst some PCB Fabs can print silkscreen over bare copper, JLCPCB does not. If you want to print silkscreen over bare coper you need to discuss this with the FAB when ordering ↩︎

  3. This was something strange with my internet connection. The website worked whilst I was tethered to my phone, but took a long time for me to work this out ↩︎

  4. JLCPCB do not offer Z-milling, drilling partially through a board ↩︎