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
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 build | What to do |
|---|---|
| 5 V board — Uno, Nano, Mega | Nothing. Wire it directly. |
| 3.3 V board, short wires, on a desk | Wire it directly and accept it is out of spec. It will very probably work. |
| 3.3 V board, anything permanent | Put 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
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.
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.
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.
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.
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.
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
Questions about this product
See what other owners have asked, and read their solutions.
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.