Close

From Renderings to Reality

A project log for Command Modules

Build a modular user interface for your prototype

craig-dCraig D 09/10/2023 at 21:300 Comments

The prior logs relied heavily on renderings and your imagination.  That's because a few key parts were still out for assembly.  Well, they've finally arrived.  So to the lab I go to built the first prototypes!

First things first.  I still have to finish up the 3D printed frames from the last log.  They have been waiting for heat set inserts to be installed.  I held off on it because I was waiting on a press and special soldering iron tips.  They've arrived as well, so here goes.

 Next up are the PCBs.  I've designed four types so far and had them fabricated through OSHPARK. The PCBs are for the following parts: DPDT pushbutton switch, DPDT toggle switch, dual gang potentiometer, and a 7-segment display with a driver.

I assembled the pushbutton and display PCBs for now, since I have front covers to go with those ones.

The final component is the top cover.  They're fabricated with laser cut and engraved acrylic.  So far I only ordered ones for the pushbutton and 7-segment display blocks. This is the one for the pushbutton Command Module block.  The button cap will extend through the square hole at the center.

The cuts came out well, though the engraved text is difficult to read.  It's too small for one thing, but also looks to be double-printed.  I'll have to look into it further, but for now I'll forge forward with building the first prototypes.

Okay, it's assembly time!  This is of course the 7-segment display block.  The PCB fit very tightly into the frame, but otherwise the assembly went smoothly.

Next up are the pushbutton blocks.  I built a pair of them as well.  They have snap on caps that come in a few different colors.  I attached all four together to check for fit.  All seemed good.

Finally, I connected a few blocks to a breadboard for testing.  I wanted to test the display in particular because it uses a chip I have not used before.  To do so, I connected it up to an Arduino's SPI interface and wrote some simple code to talk to the driver chip.  

It worked! I was able to display 0-9 and the decimal point.  The display brightness looked good - it was bright enough to read well in indoor lighting, but still comfortable to look at.  

There are a few other features I'll have to test in the future.  One interesting feature is that it is compatible with both 3.3V and 5V systems, and the brightness should remain the same across both (constant current drive).  Additionally, the displays can be cascaded to add additional digits using a single SPI interface.

Alright, that's it for now!  The first set of prototypes are built and under test.  They'll need some refinement for sure, but its a good start.

Discussions