I made great progress on the bus stop sign this week. In short, I have a fully functioning prototype. It now "works like" what a finished product would be, but hasn't quite reached the level of "looks like" yet.
Under the hood, a Python script is connecting to the NextBus API and requesting bus information for the stops by my house, then sending commands over I2C to a display driver chip on my custom circuit board, which in turn lights up the 7-segment displays to show the time until the next bus arrives.
The physical prototype is literally a piece of cardboard with some sharpie on it, but it gives me an excellent sense of proportion for laying out a more permanent version.
Of course, having hand populated the components on a batch of PCBs, I learned first hand all the mistakes I made on the board layout. I was able to work around them, but if I was getting these production ready, I'd want at least another test spin to get all the bugs worked out.
The prototype was designed to use the ribbon for flexibility of display locations. Each driver chip can run 4 displays. If doing it again, I would place all four displays on a single board, but cut "snap off" tabs into the board to give me the option to add the ribbon, if needed. This would ideally eliminate the ribbon altogether.
- I Forgot pullup resistors on the i2c lines
- I would add better connectors to daisy chain the i2c line to other devices
- I would add better connectors to share power with the host BeagleBone board or Raspberry Pi
- I forgot i2c address selection jumpers
- I placed display selection jumpers clear of the thru holes, but still halfway under the connector shroud
- I completely blew the footprint spacing on the displays and had to carefully bend the pins to make them fit.
The next big steps are to finish up the industrial design / mechanical housing. The housing will likely be two layers; a solid front face and then a second plane with all the thru holes to locate and afix the circuit boards to.
The graphics above show a more fully fleshed out concept of what I'm thinking, but Color, Material, and Finish will have a big impact on the feel (and manufacturability) of the product.
I've thought about a full color printed cardboard matte, especially if it's behind glass or acrylic. That would give a glossy sort of feel and I'd like something a little more rugged looking, (check out the Star Wars: Rouge One UI designs that have admittedly been a heavy influence). I've also thought about powder coated sheet metal with silk screened graphics. For a mockup of one, I may spray paint the sheet metal myself, and cut stencils on a laser cutter. Note the use of a stencil font in the graphics :-)! For a final touch, I'd hit it with some steel wool and ding it up to "weatherize" it, too.
I'll send more updates as I make progress!