Roots
Having decided the retro late-80s early-90s theme for JawnCon 0x1, the
inspiration for the badge seemed almost immediately obvious: the iconic,
venerable Hayes SmartModem oozes industrial design of the era and is
instantly recognizable to any of us who grew up when computers had the
decency to shriek like digital banshees to let us know when they were
plotting against us.
The Hayes Smartmodem design started in 1981 and was used on most of their modems
through at least the 28.8 era.
In addition to the industrial design, the Hayes modems introduced the command set
which became the standard for decades - and is still used on hardware like the ESP32 in
some modes!
Designing our own
JawnCon is in the fortunate position, scale-wise, to be able to make more experimental
badges. Being a smaller con, we're not required to optimize everything for manufacturability
in bulk; with an anticipated attendance of around 200-250, we were able to design around
standard 3d printing processes. For a larger con, this would not have been feasible.
PCB and Firmware
We're using the awesome RetroWifiModem to simulate
the AT command set and control the LEDs, the badge PCB itself is simply an ESP32 radio, level
shifter, and the LEDs.
Mechanically, the PCB is designed to slot into brackets in the 3d printed badge shell. The
lanyard connects directly to the PCB for strength - we don't want to risk someone losing their badge
because a 3d printed part failed!
The LEDs were chosen for availability: Having held on to a box of a few tens of thousands of
1980s era red LEDs, it was time to give them a proper use.
Surface-mount components were used where ever possible (the level shifter and the resistors for the LED).
Since the badge PCB isn't meant to be visible, there's no point increasing the assembly complexity.
Unfortunately, using the headered version of the ESP radio and the through-hole LEDs means there is still
hand-assembly required to install the headers, radio, and install and bend the LEDs to a right-angle. Again we
crutched on the size of the con; soldering a handful of badges a day gets them done quickly enough.
Case
The case is 3d printed in 3 pieces, and laser-marked for labeling.
Standard PLA was used for the case; the aluminum effect is thanks to silver silk PLA.
The case was optimized for printing without support material or post-processing. The PCB is held in
integrated slots, then retained in position with printed snap clips. The PCB is mounted and the case assembled
with no screws or other additional hardware.
The front of the modem uses conical channels to guide the LEDs into place and hold them; this makes the
exact alignment of the LEDs during assembly far less critical. The 3d printed clips are still relatively
fragile, especially since they are printed in a weaker orientation due to the flat face being oriented towards
the bed; however there is no need for true strength as all strain on the badge is anchored to the PCB.
Manufacture
Printing the badges started in March of 2024. Set to conservative speeds to maximize reliability, a
Prusa MK4 could print 15 of the silver badge shells in 23 hours. While there is plenty of room on a bed to
print 30 badges at once, limiting it to 15 reduced the chance of waste in case of a failure, and the 23 hour
print time means there was little to no benefit to increasing it to 46 hours.
The front and back panels took around 6 hours for 30 pieces; for these it made much more sense to print
them in full-plate batches of 30.
All the badges were printed on a single printer (a Prusa MK4) in about a month and a half, with no print
failures. The entire printing process was another huge win for the scale of the con: other printing solutions were
possible, but printing the badges on a home printer was entirely plausible given the timeline and quantity.
The badge parts were designed to print without supports, so there was no additional cleanup. While the
initial design was done for speed of printing a single badge, the final prints were done much slower than the
printers maximum speed; consistency and reliability were king.
Labeling
We tried several tricks for labeling the front of the badges - stickers and 3d printed multi-color text - before
finally settling on the laser option.
At the time, PrusaSlicer had not yet merged in the single-perimeter top and bottom feature, leading to very
chunkly perimeter borders on the multi-color printed text. Even with the single-perimeter option, it's not
really clear if the text would have been legible at the required size.
We were able to achieve excellent results however with a pulsed infrared laser. While hideously unsafe
(seriously, please, do research and by legitimate PPE before operating one of these super cheap open-air lasers!),
we were able to laser mark the badge fronts at about 45 seconds per badge.
Laser marking 3d prints has become a popular method of adding text; a good example is
this video by Robert Cowan where he shows different filament
types. It can be highly dependent on filament type and color - fortunately one of the colors it works well with is
black!
A simple 3d printed jig was used to hold the badge fronts in a consistent location so that they could be repeatedly
lasered with no settings changes between each run.
Lessons
Overall, the badge creation was a success. Some key lessons from the process:
- Start early. The badge design was started in January for a conference in October.
- Start early. By starting so early we had time to do the badges much more cheaply and calmly!
Even facing requirements like hand-soldering 2 headers and 8 LEDs times 200 badges wasn't terribly
onerous given the available timeline.
- Minimize manual processes. We had the explicit design goal to eliminate hardware like screws and
nuts during the assembly process - they cost more, and take a lot more time, to install!
- Aim high, but achievable. Being a smaller con has the advantage of not needing to do full
design for bulk manufacture, but has the downsides of having a minimal budget in the first place,
and being unlikely to be able to get bulk deals on components.
The final results
So, how'd we do?
|