Review of 8X Digital Tube + 8X Key + 8X Double Color LED Module

That’s a stupid name. What is it?

I think you misspelled “hello”. Even if you don’t care for the name, take one look at it, and you can see what it offers.

8 x Digital Tube + 8 x Key + 8 x Double Color LED Module

8X Digital Tube + 8X Key + 8X Double Color LED Module

So, what you have here is a device for your microcontroller that gives you 8 tactile, momentary button inputs, an 8 digit, 7 segment LED display, and 8 bi-colour LEDs, and only uses three pins of your MCU.

Why “digital tube”? My guess is that the 7 segment display are the spiritual successor to the glorious nixie tubes, old valve technology that you might see in old test gear.

7 segment displays do a lousy job of displaying the alphabet, as anyone trying to use a calculator to write rude words knows all too well, but for numbers- decimal, binary, and hexadecimal, it’s totally sufficient.

On full brightness, it is readable in sunlight from across a room, something you cannot say for the major alternative to this, the LCD matrix display- but with all the LED and LED segments on, the chip gets uncomfortably hot. This brightness adjustable though, and the Arduino library, available here provides for dimming.

Yes, importantly for a beginner (and for anyone who values their time) there’s a library for the TM1638 I/O expander IC that is the heart of this board,
and it is specifically designed for this implementation. Download it, and unpack it into your Arduino IDE’s libraries/ folder.

Also available is the same unit but with the seven segment displays in green. Perhaps get a contrasting pair? I’ve used this set-up for a project where an Arduino chatted to an old Hewlett Packard pen plotter, and used one to display the x position, and one for the y. For ease of wiring, you will notice that at the other end of the board to the input pins are the output pins. This is where the STBx pins come in.  STB is short for strobe, and is used to indicate that you wish a particular chip to listen to your instructions (or answer your question, in the case of checking for button pushes). The bus is constructed such that the strobe pins are shifted by one at the output connector, thus at the proximal unit (the one immediately connected to the Arduino), STB0 is connected to the local
TM1638, and STB1 is connected to STB0 on the output pin- so all the units only ever listen to STB0, and do not need any on-board configuration.

This means for each extra display, you only ever need one extra pin on your MCU. Though that’s one more than you would need with an I2C (aka TWI if Philips is looking) device, since these have addresses.

Read more here: Arduino and TM1638 LED Display Modules


It’s 5 volts- suitable for your Arduino!

It’s pretty cheap, you’d find it hard to make it yourself for cheaper, and it’s a great output display for debugging your code- fire out the values of variables you wish to monitor. With binary digits, you can show a byte, in hex you can show 4 bytes or 32 bits. The bi-colour leds can show up to 2 bits each (4 states- off, red, green, or both, which is an amber-ish colour),
more if you include flashing options- though this will require more MCU involvement.

It is readable in more situations than an LCD dot-matrix display, and uses fewer control pins (this can be ameliorated by adding a serial-to-parallel adaptor of some kind, but that adds to the cost).


It’s 5 volts- not so suitable for your ARM or MSP430 microcontrollers without 5v tolerant inputs. That includes the Raspberry Pi. You’ll need a buffer for the MSP430/RPi on the DIO pin, and a 5v voltage regulator for Vcc (also true for the RPi, since it can’t give you enough current on its 5v rail).

If you wanted to integrate this into an enclosure, you’ll probably need to remove the IDC header connectors, since although they aren’t any taller than the 7 segment displays, once you plug a cable in, they stand proud by around 8mm. The tac switches would probably need actuators of some kind too.

It uses more power than a non-backlit LCD dot-matrix, and is nowhere near as flexible in
what it can display.

There’s no interrupt pin to tell you that a button is being pushed, so you will have to check for this frequently.

I would love to see a version of this with a starburst display, to render the alphabet better, and if this means dropping the bi-colour LEDs, so be it.