I'm building my first Nixie project where 8 tubes need to be driven with an Arduino (I've managed to drive 1 single tube). I found out this can be possible with multiplexing.

My question is, is possible to do 4 "channel" multiplexing with MAX7219? Is it possible to instruct the 74141 IC logical gates with MAX7219, 4 at same time? If so, how?

If this not possible, how to do it without transistors?

  • \$\begingroup\$ There is a lack of compability. MAX7219 is used to drive 7-segment displays, where 74141 drives a tube in giving output voltage to drive one of 10 digit at the time. \$\endgroup\$
    – smajli
    Jan 4, 2021 at 11:44
  • \$\begingroup\$ Why can't it drive a 74141? A display is a LED matrix where 1 single pixel is controlled at a time. What I need is 4 "pixel" at a time. \$\endgroup\$
    – haxpanel
    Jan 4, 2021 at 12:33
  • \$\begingroup\$ Nixie tubes have one electrode per digit. 7 segment displays use different combinations of segments to display different digits. They're completely different. \$\endgroup\$
    – Finbarr
    Jan 4, 2021 at 13:31
  • \$\begingroup\$ Thank you for explaining how that works. I already knew it, mentioned it in the post. My question was not how 74141 works. \$\endgroup\$
    – haxpanel
    Jan 4, 2021 at 14:19

1 Answer 1


There are several problems with your plan:

  1. The MAX7219 outputs aren't TTL outputs, i.e. they are not directly compatible with the inputs of the 74141.
  2. The 74141 has no storage, and no enable input, so you would drive all nixie digits with the same pattern, instead of an individual pattern for each.
  3. The fact that you intend to use an individual 74141 for each tube indicates that you actually don't want to use multiplexing, since multiplexing is usually used to save drivers.

Multiplexing would imply that you use a common 74141 for all tubes, and drive the anodes separately, in a non-overlapping way. The MAX7219 digit outputs would be used for that, but they aren't compatible with nixie tubes, either.

You say you don't want to use transistors, that limits your options considerably. ICs that are designed to drive nixies are fairly rare these days.

You don't need to have an IC to do the multiplexing, btw., since it is fairly easy to do the multiplexing in software on the Arduino. So you'd be better off dropping the MAX7219, because it doesn't help you in any significant way. It is built for driving LEDs, and ill suited for driving anything else. What you need is suitable drivers, and the challenge is to find chips that support the voltages required by the nixies.

  • \$\begingroup\$ To follow upon my comment: I recommend using the 74141 drivers in a non-multiplexed way, as you have already figured out how this works. Use a shift-register based scheme to expand the outputs of the Arduino to give you the 32 pins needed to drive 8 74141 chips. One example would be to use 4x 74595 chips wired in a string. \$\endgroup\$
    – sh-
    Jan 5, 2021 at 14:56
  • \$\begingroup\$ Much appreciated your input, In another question I got a great answer with 3 different ways of addressing this problem, have a look. electronics.stackexchange.com/a/540797/175033 \$\endgroup\$
    – haxpanel
    Jan 5, 2021 at 18:34
  • 1
    \$\begingroup\$ Yes, this is in the same spirit. I have only one small comment to add: If you use shift registers like the 74164, the output and hence the display changes while shifting takes place. To avoid visible effects, you need to get the shifting done as rapidly as possible. If you use a registered shift register like the 74595, you can avoid this effect, and shifting can be done at leisure. \$\endgroup\$
    – sh-
    Jan 6, 2021 at 19:54
  • \$\begingroup\$ Great, thanks you for completing that answer!! 👍 \$\endgroup\$
    – haxpanel
    Jan 6, 2021 at 21:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.