Great Byte North

Reverse Engineering a 7 Segment Display

October 22, 2018

I recently came across an old five digit seven segment display and decided to see if I could give it a second live.  It appears to have been from a  weighing device of some kind, judging by the company name: Weigh Right Inc.

A rare single sided design

It's a gorgeous piece of hand drawn circuitry with lovely smooth lines.  There are also very few jumpers on the board so clearly the designer had put in some effort into this single sided design.

Wonderful Hand Drawn Traces

The display is essentially a serial to parallel converter, with 5 8bit 74C164 chips driving each digit.  Each 74C164 has the 8th bit connected to the following chip to create a single serial interface for the entire display.  To understand the design and how to interface to it I traced out the circuitry and drew up the schematic.  You can find it on the github page for this project.

It's pretty simple to drive this

After figuring out the binary codes for each segment and building a simple 5V to 12V logic translator with 2N3904 transistors, I wrote up a simple script for an Arduino that would light up all the segments, which was when I found the reason that it was in the scrap pile:

Sorta looks like it's saying poop

The display functioning, sort of...

Oh dear.

Rather than throw this away I figured I'd see if there was a way to fix it.  First step was to figure out if it was the 74C164's.  They seemed really hot so I quickly figured out the current for each segment by turning one on at a time and watching the power draw on my bench supply.  18mA.  Which if you've read the data sheet for the 74C164 is a tad over the 8mA absolute maximum current of the device.  Since I didn't have the original machine that this came from I can't say for sure that the display wasn't being flashed using PWM to reduce the drive current.  I can only hope that the original designer didn't miss that.  I just reduced the drive voltage from 12V to 8V to get the current down to below 8mA per segment.

After further inspection that all the LEDs were okay on the dead segments I tested the voltage output from the 74C164: 7V, even higher than the lit segments.  A bit odd considering the LEDs themselves are fine.  Turns out whoever assembled the board decided to save power by putting the LEDs in backwards on a few of the segments!  An easy enough fix and now I have a fully functioning 5 digit 7 segment display!

Stupid technological improvements ruining my display

You may notice one LED is brighter than the others.  One LED was actually dead and my replacement LED is much newer.  Not sure if that's due to technological progress on LED efficacy or just wear (better on the former), but it's quite a big difference!  There's another dead LED but somehow it's still conducting current so I might leave it in for now rather than having another strangely bright LED.  If I can scavenge a period correct LED (not something I thought I'd ever want) then I might drop it in.

Side note: 1970's Solder smells weird.  Not sure if it's the solder formulation, PCB materials, or flux residue.

Next step is just to figure out what to make with it!

Tags: Circuits, Repair, Lighting

Glowing Ball

August 28, 2014

A simple project that a friend asked me to make for her to fit into her show.  Basically she wanted a glowing ball that would mimic the breathing light that apple computers have.  Going from a dollar store glow ball to a breathing ball was relatively simple, taking an ATiny micro and a LED RGB chip with built in controller and slapping it all together on some perf board.

Here's what you get for a couple dollars from the Dollar Store:

This is what is inside a cheap ball

What you probably can't see is the extreme amount of corrosion on the wires or the fact that there is no insulation on anything.  If that LED were to drop down and short across that nut (yes, it is just a nut glued in there) there is a chance for a fire.  Personally, I will never buy anything cheap from china anymore, it's just too scary what they will do over there.

After modifying the design and adding in my perf board hack we have:

it's now slightly less junky looking

Not bad.  Coating everything real well with hot glue to ensure nothing can come loose and cause a short the final product is this:

Looks pretty the same now

The circuit and code is hosted here on github, feel free to do with it as you please.  One thing that needs to be changed is adding a 5V boost regulator to keep the voltage constant, as the RGB led chip turns more and more red as the voltage droops lower.  As red less generally have lower forward voltage drops, my assumption is that the other LEDs are getting less current and thus the red colouring.

Tags: Circuits, Electronics, Lighting

Replacment License Plate Bulb for CBR250R

August 22, 2014

A simple project to replace the incandescent bulb that lights up the license plate on my CBR250R bike that keeps burning out. This light and the tail light appear to be more prone to failure, perhaps due to the more rigid connection to the bike than the other lights. I've also been wanting to try and replace lights with LEDs as there is a theory that they provide additional safety due to the fast on times.

The project is really simple, just a PCB that fits into a 168 bulb socket and powers three LEDs with a resistor in series. I want to try and see if i can even do a simple retrofit like this before I think about moving to properly driven electronics.  Just sent the boards off to get manufactured, will update once the boards get here.

Project is hosted on -git- (note, removed the file since I can't remember if this version has the fix in it)

(Edit) One thing to watch out for is the polarity of the bulb. I got this wrong and blew the ligth fuse in my bike. No big deal, but a little scary on your new bike haha.

Tags: Circuits, Lighting

The Great Byte North Website, Version 1.0

© 2023 GreatByteNorth