What follows are steps I used to assemble my own personal clock. It’s based on a lot of tools and techniques I’ve accumulated over the years though, and to make one just like this I think is asking a bit much of most makers. Or some people might find the design plain and boring. Skim through it for ideas and some assembly pointers, then approach the design as suits your available resources.

My design uses 1/16" (1.5mm) "sign white" acrylic for the front face, with the LED displays shining through from behind. This renders them a little fuzzy, but still sufficiently legible. I laser-cut the acrylic, but as it’s a simple shape with no mounting holes, the same could be achieved with regular scoring techniques and maybe careful sanding to round the corners. The bus lines and stops were then applied to the front surface (more on this in a moment).

Alternately, a layer of two of drafting vellum might provide a similar shine-through effect, with less blurryness and much easier to print on. Or stick them behind a two-way mirror.

For the front face, I used an oldschool technique…toner transfer paper used for DIY circuit board fabrication (nowadays I use OSHpark for circuit boards, but I’m too cheap to throw this kit away…well hey, it proved useful!).

The design is laser printed with left-to-right flipped, then the acrylic plate (with protective paper removed on that face) is aligned face-down on top of this and run a few times through a laminator. Normally this is used with copper-clad board to prepare a design for etching…I’m just swapping out acrylic in place of the PCB.

Alternately, one could run glossy photo inkjet photo paper through a laser printer and transfer it with a clothes iron, though it’s a bit more error-prone.

This is all a bit much, with the toner transfer and everything. I was after a particular “crisp” aesthetic with the Helvetica lettering. Maybe a Sharpie pen is all you need!

After cooling off and then soaking it underwater for a while, the paper peels away cleanly. The acrylic was slightly warped by all this heating, but was easily straightened out running under hot water.

The faceplate fits into this 3D-printed frame, with electronics behind. Speaking of 3D printing…

All the electronics are installed on another 3D-printed piece, a sort of bracket that fits inside the frame and behind the front face.

Before soldering, everything was test-fit first. The various boards are held in place by M2 machine screws (there are four mounting holes, but two screws were sufficient — these are not load-bearing). Though for this application, since nothing will be seen from the front, even hot-melt glue would work fine.

Keep track of the displays and their I2C addresses, since each is uniquely identified in the code. And remember when viewed from behind that the positions will be flipped left-to-right…the top-left display on the front of the clock will be on the top-right from behind.

Adafruit Perma-Proto boards aren’t just for whole circuits…they can also be cut apart using tin snips or a scroll saw, and cleaned up with sanding.

With five boards total in this design — four displays plus the Feather board — and four wires (+, –, D and C) connected to each, a little 4x5 square is all we need. An inconspicuous spot in the case was found, wires were measured to fit, stripped and soldered to the Feather board first.

Wires to each display were then measured, stripped and soldered to each display board, then to our little distribution board. So tidy!

Before finalizing everything…plug in for a test run!

It was late at night when I tested this…only a single bus route was running…but I could see the code was animating each display at the right time, so any other trouble at this point would just be a software configuration issue.

Nothing lights or happens at all!
  • Unplug USB and check your wiring and soldering connections for any short circuits…+ and – may be crossed, or there may be a solder bridge on the Perma Proto board or one of the displays.
  • Has the NextBus sketch been uploaded to the ESP8266 board?
  • Confirm D and C (data and clock) are connected to SDA and SCL on the Feather board, respectively.
  • Do the I2C addresses of each display match the table in the Arduino sketch?
Only some of the displays work, or the displays show nonsense
  • Is the 7-segment display installed in the correct orientation on the I2C backpack board?
  • Confirm D and C (data and clock) connect to SDA and SCL on the Feather board, respectively.
  • Do the I2C addresses of each display match the table in the Arduino sketch?
The displays are in the wrong order/positions!

Probably easiest to fix in software at this point. Take note of the positions and the I2C address that each display is assigned, and rearrange the values as needed in the Arduino sketch.

Once everything’s tested and confirmed working, mounting screws are installed and tightened, cable ties are added to the USB cord in a couple places for strain relief, and all of the wires are carefully routed to lay flat, held in place with dabs of hot glue. When that’s all cooled off, the internals can then be clicked into place inside the frame.

Hang it up, plug it in and always know when the next bus is due!

This guide was first published on Apr 03, 2016. It was last updated on Mar 30, 2016.

This page (Enclosure) was last updated on Mar 30, 2016.

Text editor powered by tinymce.