Hardware Design

Since it looked I could wring a decent amount of cool out of the PIC I then wondered what the hardware might look like if I tried to package it.  Because the PIC needs hardly any popcorn (i.e., external resistors & capacitors) it seemed like the "biggest" sizing challenges would be connectors able to safely carry the current needed for long-ish strands and the obligatory inrush capacitor.  I also wanted to be able to easily change the number of NeoPixels for which it would generate the bitstream, but without having to re-flash the firmware. That translated into some kind of data-entry mechanism.  And it has to have a "heat knob thingy"...to dial back the "whiteout" effect yet still be able to get decent leading edges on the WS2812 bitstream pulses across a range of V+ values.

Below is the board in its present form.  I'm sure there're lots of improvements that can be made but this is my "first shot" using EAGLE...and I really am just a software guy... ;-)

KiCAD versus EAGLE

KiCAD worked very well for designing Madison's clock but I remembered that hunting down (or creating) device packages for layout was much more of a TimeSponge than I would have preferred.  I remembered that EAGLE supposedly had tons of packages, so I thought I could quickly/easily put together something reasonable.  I momentarily forgot a crucial lesson: shortcuts aren't.  To me, KiCAD seems to have an design flow that wants you to first create a schematic and only associate packages to schematic entities when the doing board layout.  Seems quite reasonable, "feels" more natural, (and pushes the icky package-hunting TimeSponge downstream - a good thing, I think) but my first dip into the EAGLE pool appeared to require that flow to be completely flipped.

It's quite possible my own inexperience with these tools tricks me (I really am just a software guy...promise!) but EAGLE seemed to require that I select a package before I could even drop a part on the schematic.  Hm.  Okay, I guess.  But is this painful enough right off the bat to not even try EAGLE and stick with KiCAD?  No, it just slapped me with the package-hunting TimeSponge much earlier than I expected.

The lesson there was to be careful for what you wish - EAGLE has a unbelievable number and variety of packages for a vast number of devices.  But the "challenge" becomes sorting through all the heavily coded and yet vanishingly miniscule information (EAGLE library uber-arcane "geek-speak") to find the right package.  That, in itself, became the EAGLE TimeSponge.  And I got to wade through that swamp before I could even do a schematic.

Please note that the PIC used is actually a PIC16F1847.  EAGLE didn't have  a package for an '1847 but thankfully it did for the pin-compatible '1827.  Otherwise, I'd probably still be trying to figure out how to bumble through generating (or even just copy-n-edit) an '1847-specific package...

Update 20141106: I received the first boards from OSH Park and they seem to work!  Here are some glamour and action shots:

This guide was first published on Oct 28, 2014. It was last updated on Oct 28, 2014. This page (Hardware Design) was last updated on Oct 30, 2019.