As you may recall, a group of my friends are currently engaged in a quest to Resurrect 21-Segment Victorian Displays using modern technologies. The original devices, whose patent was applied for in 1898, involved incandescent bulbs and a complicated electromechanical switch as a control mechanism. Our modern interpretation features tricolored WS2812B LEDs and a microcontroller.
As part of this, my chum Steve Manley in the UK has designed three circuit boards: a control board, a power distribution board, and a prototyping board. Just for giggles and grins, he’s had each type of board implemented in a different color: control (red), power (green), and proto (blue). Ideally, we would have preferred for the power board to be red and the control board to be green but — for reasons unknown — having the heavier weight copper required for the power distribution board would have been much more expensive if presented on a red substrate, so we went with the flow.
Steve has really gone to town with regard to the control board. The main plug-in microcontroller unit (MCU) can be a Teensy LC, Teensy 3.2, or a Teensy 3.6. The board shown here has a Teensy 3.6 (upper left), which is the one I’ll be using (32-bit Arm Cortex-M4F, 180 MHz, 1 MB Flash, 256 KB RAM). There’s also a Seeeduino XIAO (lower right) that’s outrageously overqualified for the task for which it’s being used, which is to detect and process any infrared (IR) control signals and format them for use by the main MCU.
There are also five push-button switches used to implement control functions, two optional trim-pots for manual control of the audio sensitivity and display brightness, an optional light-dependent resistor (LDR) used for auto-dimming the display, an optional IR sensor, and an optional Electret microphone, which is accompanied by two audio jacks; one for audio line-in and one for headphones-out. As opposed to mounting these components directly on the board, they can be located remotely and connected via headers or screw block terminals (in the case of the switches, remote versions can be connected in parallel with the on-board devices).
Any surface-mount devices (SMDs) are presented on the other side of the board. These include a 6-channel LS119-S switch debouncer chip from LogiSwitch, a DS3231 extremely accurate, temperature-compensated, real-time clock (RTC) from Maxim, and a SGTL5000XNAA3R2 low-power stereo audio codec from NXP, which complements the Teensy audio library, and which is used to help provide visualizations of the audio stream from the mono Electret microphone or the stereo line-in.
Remember that each of our 21-segment displays employs 35 tri-color LEDs. Since Steve and I are both creating 10-character displays, this equates to 350 LEDs. With 24 bits of data per LED and an 800 kHz upload frequency, if we were to daisy-chain all of these LEDs together, this would result in an upload time of (350 * 24) / 800,000 = 10.5 ms. Alternatively, since the Teensy supports the Octo library, which allows up to eight strings of LEDs to be loaded simultaneously, we can use five strings each controlling two characters, thereby reducing our upload time to a tad over 2 ms.
However, I fear we have wandered off into the weeds. Last week, my boards arrived from Steve, so this past weekend I started connecting everything together. Unfortunately, in my enthusiasm, I soldered the first couple of headers onto the wrong side of the LED boards. “Oh dear,” I said to myself (or words to that effect) when I spotted my mistake. “Not to worry,” I thought, “I’ll just fetch my helping hands and have these off in a jiffy.”
I knew which toolbox the helping hands were in, so I ambled off to retrieve them. The main assembly was just where I expected it to be, but the alligator clips (crocodile clips in the UK) were nowhere to be found. “Well, that’s a bit of a surprise,” I said (or words to that effect).
I must admit to being a tad miffed at this point. I had my heart set on soldering, and nothing was going to get in my way. You can only imagine my delight to discover that Hobby Lobby sells a rinky-dink set of helping hands for only $9.99. Since there is a store just 15 minutes away from our house, I raced over there, purchased a set, and had my incorrectly attached headers de-soldered before the little scamps had even realized they were on the wrong side of the board.
The thing is that, while I was Googling for local sources of helping hands in the first place, I discovered that there are some really useful looking versions around, like the NOEVSBIG six-arm helping hands on Amazon.
Generally speaking, I tend to be a happy-chappy who is not prone to wasting time lusting over things of a material nature. In this case, however, I must admit to having a case of “helping hands envy” (I’m not proud of myself and I shall make sure to chastise myself soundly later).
On the one hand (no pun intended), I rarely use the helping hands I already own because I have other tools to aid in assembling boards. However, when the occasion demands, these little rascals can be just what you need, and having a multi-appendage version like the NOEVSBIG six-arm would be a jolly handy addition to my tool collection (I know, “handy,” I really couldn’t help myself).
What? How did my assembly go? Well, that’s very kind of you to enquire. I wasn’t going to mention it because I’m not one to boast, but since you asked…
The image below reflects the early stages of the assembly process. My rinky-dink helping hands from Hobby Lobby are visible in the upper right-hand corner. In the foreground, we find the pseudo-brass faceplate that was laser cut for me by Kevin McIntosh at TheLaserHut. In the middle, we have ten 3D printed shells, one for each character. These shells — which were designed by Steve and whose inner segments are spray-painted white to reflect the maximum amount of light — provide a 10 mm spacing between the LED boards (mounted on the back of the shells) and the diffuser (sandwiched between the pseudo-brass front panel and the front of the shells).
Behind the shells we see the backs of the ten LED boards (also designed by Steve) presented in five groups of two. The small green boards in the center of each LED board pair link the two boards together with 5V, GND, and data signals.
In the image below, we see the front panel / diffuser / 3D-shell / LED PCB stack. The power distribution board (green) is already mounted. Five pairs of red-green (power-ground) wires are seen toward the rear, while five twisted pairs of signal-ground wires used to upload data to the boards are seen in the foreground (these twisted pairs were salvaged from a short piece of old Ethernet cable).
Now things are really starting to come together. The image below shows the power distribution board (green / left), the control board (red / center), and the prototyping board (blue / right). The prototyping board has three 5V, 3.3V, 0V triplets running horizontally along the top, middle, and bottom of the board. Also, the power distribution board has its own 3.3V regulator, which will be used to drive the prototyping board in the fullness of time.
Finally, for the moment, as shown below, we have a “glamor shot” of one end of the assembly so I can bask in the glow of a wiring job well done.
As I told my wife (Gina the Gorgeous), I could have wired everything up a lot faster if I was prepared to sacrifice neatness. The problem is that — deep in the mists of time — Steve served in the aircraft electrician’s department as part of his apprenticeship before moving on to research and development. As a result, his wiring always looks awesome, and — in the spirit of friendly competition — I didn’t want to be outdone. The downside was that, by the time I’d finished, the day was done and there was insufficient time remaining to start powering things up and playing with the software. Can you guess what I’ll be doing when I get home tonight? I shall, of course, report back further in a future column. Until then, as always, I welcome your comments, questions, and suggestions.