using SN74141N with nixie tube

Hi guys,

I have planned to make a nixie-tube clock with nano arduino. I follow this site https://idyl.io/arduino/how-to/control-a-nixie-tube-with-arduino/. The step up and tube itself works fine except when I wired everything up and upload the code, all of number are light up at the same time, no matter what bit sequence I feed to the multiplexer. Thus, I noticed that my shift register is not the sn74141, it is sn74141n. It is the only different that I have seen so far. So my question is can I use sn74141n instead of sn74141 and if it is, what can go wrong with my project :confused: .

Thanks!!

Hi,
Welcome to the forum.

Please read the first post in any forum entitled how to use this forum.
http://forum.arduino.cc/index.php/topic,148850.0.html .

Did you do a power up without the nixie tubes fitted?
Did you do a check around your project with a DMM to make sure the power supplies were appearing in the right places?
Did you check the link provided at that site to check comparability of the 74141 ICs?
How many nixie tubes are you using?

Can you tell us your electronics, programming, arduino, hardware experience?

Tom... :slight_smile:

I've not found a datasheet for the SN74141N. All the links when I do a search ultimately point to an SN74141 (without the N suffix). However, according to an table in the linked site, the 2 are equivalent: http://archive.is/euOg7

Your problem could be a coding issue, a wiring error, or a poor ground connection. All grounds must be connected together (arduino, power supply, high voltage power supply driver chip etc.)

To rule out a coding issue, don't use the arduino output pins for this test, simply connect the ABCD inputs of the SN74141 to ground or +5v in various combinations to see if you can get individual digits to light.

Incidentally, the SN74141 is neither a multiplexer nor a shift register, it is a BCD to decimal converter. Maybe also publish the code you are using to drive it if it is not exactly the same as the code in the site you have linked to:

uint8_t currentValue = 0;
 
 
//Use pins 10, 11, 12 & 13 of Arduino
//Connect to pins A, B, C & D of your SN74141 Nixie driver chip
#define A 10
#define B 11
#define C 12
#define D 13
 
void setup() {
  pinMode(A, OUTPUT);
  pinMode(B, OUTPUT);
  pinMode(C, OUTPUT);
  pinMode(D, OUTPUT);
  nixieWrite(A, B, C, D, 0);
}
 
 
void nixieWrite(uint8_t a, uint8_t b, uint8_t c, uint8_t d, uint8_t value){
  //D is most significant bit
  //A is least significant bit
  digitalWrite(d, (value & 0x08) >> 3);
  digitalWrite(c, (value & 0x04) >> 2);
  digitalWrite(b, (value & 0x02) >> 1);
  digitalWrite(a, value & 0x01);
}
 
void loop() {
  delay(1000);
  currentValue++;
  if(currentValue > 9) currentValue = 0;
  nixieWrite(A, B, C, D, currentValue);
}

TomGeorge:
Hi,
Welcome to the forum.

Please read the first post in any forum entitled how to use this forum.
http://forum.arduino.cc/index.php/topic,148850.0.html .

Did you do a power up without the nixie tubes fitted?
Did you do a check around your project with a DMM to make sure the power supplies were appearing in the right places?
Did you check the link provided at that site to check comparability of the 74141 ICs?
How many nixie tubes are you using?

Can you tell us your electronics, programming, arduino, hardware experience?

Tom... :slight_smile:

Thanks for the reply, I use the step up 3-16V to 170V to power just one tube which is work fine when I connect anode with + and one of the cathode with ground the digit lights up properly. Therefore, I think the main problem is at the shift register or my code. I'm new to arduino by the way. I have used 74HC595 with quad7segment before, so I have some experience with multiplexer before, but this is the first time I work with high voltage so I'm pretty new here :grinning:

6v6gt:
I've not found a datasheet for the SN74141N. All the links when I do a search ultimately point to an SN74141 (without the N suffix). However, according to an table in the linked site, the 2 are equivalent: http://archive.is/euOg7

Your problem could be a coding issue, a wiring error, or a poor ground connection. All grounds must be connected together (arduino, power supply, high voltage power supply driver chip etc.)

To rule out a coding issue, don't use the arduino output pins for this test, simply connect the ABCD inputs of the SN74141 to ground or +5v in various combinations to see if you can get individual digits to light.

Incidentally, the SN74141 is neither a multiplexer nor a shift register, it is a BCD to decimal converter. Maybe also publish the code you are using to drive it if it is not exactly the same as the code in the site you have linked to:

uint8_t currentValue = 0;

//Use pins 10, 11, 12 & 13 of Arduino
//Connect to pins A, B, C & D of your SN74141 Nixie driver chip
#define A 10
#define B 11
#define C 12
#define D 13

void setup() {
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
nixieWrite(A, B, C, D, 0);
}

void nixieWrite(uint8_t a, uint8_t b, uint8_t c, uint8_t d, uint8_t value){
//D is most significant bit
//A is least significant bit
digitalWrite(d, (value & 0x08) >> 3);
digitalWrite(c, (value & 0x04) >> 2);
digitalWrite(b, (value & 0x02) >> 1);
digitalWrite(a, value & 0x01);
}

void loop() {
delay(1000);
currentValue++;
if(currentValue > 9) currentValue = 0;
nixieWrite(A, B, C, D, currentValue);
}

the table in that site made me decided to buy 74141n as well lol. I did not try use 5V instead of output pin yet, but sounds like a great debugging method. Also I use the same code provide in the site. I will comeback with an update thanks.

here is how it look like right now

The image looks nice and bright. I guess the code is OK if you have used the supplied version. I'd definitely first suspect a poor ground connection maybe between the SN74141N and the power supplies. A wildly excessive voltage (about 170 volts is OK) could also cause such an effect.

I did build a nixie clock a couple of years ago and it is still in use. I didn't get around to properly publishing the project but I did mention it here.

You need a current limiting anode resistor! Only then a fired digit will prevent other digits from also fireing.

Hello, you solved your problem, I have exactly the same.