MAX7219 tube clock/Getting it lit/05. Five volts, and the threshold
Getting it lit · 05 of 12

Five volts, and the threshold

The listing says the board works from 3.3 V or 5 V. Maxim's datasheet says the chip is specified from 4.0 V, and that it does not promise to read a HIGH below 3.5 V. Both of those are true at once, and the gap between them is why an ESP32 build sometimes works and sometimes does not.

Two numbers, not one

Four volts to run, three and a half to listen
out of spec
Supply on VCC5.0 V
What is driving DIN, CLK and CS
Supply
in spec
HIGH margin
-0.2 V
Datasheet VIH
3.5 V min
Powered right, spoken to wrong. VIH is 3.5 V and it is a fixed number, not seven-tenths of the supply — so a 3.3 V board’s HIGH is 0.2 V under the level the chip promises to read. In practice a typical part switches nearer the middle of its 1 V of hysteresis and it works on the bench, which is exactly the problem: what you have is a link with no margin, and the failures show up as a digit that occasionally garbles or a display that comes up wrong after a warm restart. If you want it dependable, put a level converter in the three signal wires — or drive it from a 5 V board.

Slide the supply and switch the host. The top bar is the supply the chip needs; the bottom bar is what it will accept as a HIGH on DIN, CLK and CS. They are separate specifications and only the first one is what people mean by "does it run at 3.3 V".

Operating supply voltage: 4.0 V to 5.5 V. That is Maxim's electrical characteristics table, and 4.0 V is a minimum rather than a recommendation.

Logic high input voltage: 3.5 V minimum. Also from that table — and note that it is a fixed voltage, not a fraction of the supply. Many chips specify VIH as 0.7 × VDD; this one does not.

Where the 3.3 V claim comes from

It comes from the fact that it usually works, which is a real observation and a bad specification.

A part's guaranteed threshold and its actual threshold are different numbers. The datasheet promises the chip will read 3.5 V as HIGH; it does not promise it will fail to read 3.3 V. The inputs also have about a volt of hysteresis, so in practice a typical MAX7219 at room temperature switches somewhere well under 3.3 V and a 3.3 V board drives it perfectly.

What you do not get is any margin, and margin is the thing that absorbs a warm day, a metre of jumper wire, a slightly slow edge, and the next chip out of the reel. A link with no margin does not fail cleanly — it produces a display that garbles one digit a week, or comes up wrong after a warm restart, and every one of those hours is spent looking at the sketch.

What to do instead

Power VCC from 5 V, always. Every board this kit is aimed at has 5 V sitting there: an Uno's 5V pin, an ESP32's VIN, a Pico's VBUS. All three are USB power straight through and will supply the current this display needs. The 3.3 V pin on those boards is a regulator output rated at a few tens of milliamps and is not a candidate.

Then decide about the signals. From a 5 V board there is nothing to decide. From a 3.3 V board you have three one-way outputs going into a 5 V input, which is the simplest level-shifting case there is:

Your buildWhat to do
5 V board — Uno, Nano, MegaNothing. Wire it directly.
3.3 V board, short wires, on a deskWire it directly and accept it is out of spec. It will very probably work.
3.3 V board, anything permanentPut a converter in DIN, CLK and CS. Three channels, one direction.

A logic level converter covers the third row, and any of them will do — this is three low-speed outputs, not a bidirectional bus.

And the current

Grounds have to be common, which people know, and the display has to be able to draw what it needs, which people forget. At full brightness with every segment lit the datasheet's typical supply current is 330 mA, and this board's built-in resistor puts it near that.

That is not a problem for a USB port. It is a problem for a 3.3 V regulator, a long thin lead, or a supply already running a motor. If the display browns your board out when the digits fill, the fix is either a lower intensity setting or a separate 5 V supply with the two grounds tied together.

When it does not work

It works fine from my ESP32 — is the warning wrong?

No, and it is not a prediction that yours will fail. VIH is a guaranteed minimum; a typical part switches nearer the middle of its 1 V of hysteresis, comfortably under 3.3 V, so most of them work. What you do not have is margin, and margin is what keeps it working when the part is warm, the wires are long, or the next board you build has a different chip from a different batch.

Where do I get 5 V on a 3.3 V board?

The pin next to it. On an ESP32 dev board it is marked VIN or 5V and is USB power passed straight through; on a Pico it is VBUS. Both will supply a few hundred milliamps, which is what this display wants. Feeding VCC from the 3V3 pin is the mistake, not using a 3.3 V board.

Do I need a level converter?

For a display that lives on a desk and is powered from the same USB lead, usually not. For anything you want to leave running, or anything with more than about 20 cm of wire, put one in DIN, CLK and CS. They are all one-directional outputs from your board, so a plain unidirectional shifter is enough — this is the easy case.

Can I run it from 3.3 V to make it dimmer?

It will be dimmer, and it will also be unspecified. The segment current is set against the supply, so it falls away as the supply does, and below 4.0 V nothing in the datasheet applies. Use the intensity register: it is designed for exactly this and it does not put the chip outside its ratings.

My board resets when the digits fill up

Current. Eight digits with every segment lit at full brightness is around a third of an amp, and a thin USB lead or a shared supply will sag under that. Drop the intensity, or give the display its own 5 V supply with its ground tied to your board's.

Where this goes next

Five wires, one library, and the four register writes that have to happen before anything appears.

The first number

Edit this page — content/books/max7219-tube-clock/five-volts-and-the-threshold.mdx

Community

Questions about this product

See what other owners have asked, and read their solutions.

Ask a question ↗

MAX7219 Vintage Tube LED Clock Kit

Loading discussions…

Discuss this article

Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.

Browse Modules and blocks on the forum