Forum Replies Created
A low resistance (<2 ohm) is normal and not a problem along a trace like that. Did just check and and on my working meinEnigma it is 1.5ohm.
For the software to find the chip it need only 4 wires to work, power, ground, A5(SCL) & A4(SDA). Now if any of those wires are shorted between each other it's of course a problem also so please verify that it's not unexpected shorts.
If you have a oscilloscope you can look at the signal on A4/A5.
I would have no problem taking a look at it if it wasn't for the shipping cost.
Any luck/progress ?
Is that missing connection on the same board or between p201 and p101 ?
Verify that the cable is ok, pin to pin on the boards (p201 to p101)
If broken on the lamp and keyboard, try to follow the track to see where it is broken.
Now when all connections except com5 & com6 works, what do you get on the serial port? Does it still complain about no chip ?This reply has been marked as private.
Just checking you are alert 🙂
Typo, 23 & 24 as the schematic states.
Power – set the DMM to a range that includes 5V DC, then measure on the pins.
I2C – Most modern DMMs have setting where it beeps when it is a short. If not you can just set it to measure resistance. Then (with no power to the board) check the connection between the pins. Also, check that it is _no_ connectivity between SCL/SDA and any other point that looks suspect.
The “No IC detected” means it can’t talk to L02 – HT16K33 and with that it assumes it’s standalone and doesn’t test anything else = no sound. I know that the chip is soldered on properly because I did ring it up to the connector before shipping it. You need to verify that all soldering points on the nano and the ones for the jumper cable are good.
The path involved is gnd, +5, SCL (A5) & SDA (A4). With power on, verify power between cable connector (p101 & p201) pin 25(gnd) and pin 23(+5V).
Remove power, then verify continuity from nano to chip for i2c
SCL: Nano pin 25(A5) -> p101 pin 19 -> p201 p19 ->ht16k33 pin 26
SDA: Nano pin 23(A4) -> p101 pin 21 -> p201 p21 ->ht16k33 pin 27
Hard to troubleshoot without more info. For a start connect to the serial port and see if you get anything out that way. If nothing try to remove the arduino nano from the board and see if anything comes then.
For a start – sorry that the N plug didn’t work. I did ring it up but it was before I had a good test jig so I must have pushed down the pin or something when I tested it.
As for uploading your own software, it is a few steps but they are not that tricky. Hard to diagnose without the first part of the message but I’m guessing it complains about some missing files.
Jeff Tranter did a serie of blogposts around meinenigma and the software part starts at
The very high level is that you need to
1 – download and install the arduino IDE from https://www.arduino.cc/en/main/software
2 – Download the meinenigma code from https://github.com/lpaseen/meinEnigma
(I guess you done 1 & 2 already)
3 – download two libraries
HT16K33 Arduino code: https://github.com/lpaseen/ht16k33
AltSoftSerial Arduino library: https://github.com/PaulStoffregen/AltSoftSerial
The libraries need to be saved to the arduino library path which is (on windoze) My Documents\Arduino\libraries\. See https://www.arduino.cc/en/Guide/Libraries#toc5 for more details around that.
After a lot of more troubleshooting and fixing #32 is now working.
Issues found where bad soldering of SMD chips and broken traces (due to soldering damage) in the board. After fixing that it is now working.
Troubleshooting steps involved ring up the board. That means verify that every trace works all the way from the chip to the end with help of DMM continuity testing using the schematic for guide on how things are suppose to be connected.
First off I have to say I’m sorry you having problem, I feel your pain (see more below).
Looking at the videos you sent by email was very interesting, especially the start up one.
It shows that at the initial lamp test all LEDs light up except PYX but also the top left alnum digit missing some segments and they are the segments on the same row as PYX. As it moves on it suppose to scroll “ENIGMA” and by slowing down the video I can see that while you can make out the letters several segments are stuck on. Now all segments are not always stuck and I think that indicates that it’s not a pure short but something else.
After that part no key works so you can’t do the rest of the troubleshooting. From experience I would guess that it thinks two or more keys are already pressed down and that is why it’s not working when you pressing a third key.
A few things for you to do:
First off you need to get the serial console so you can get some inside information. The simplest way for that is probably to install the Arduino IDE, that includes a serial console. Instructions on how to do that for windows can be found at https://www.arduino.cc/en/Guide/Windows
For the serial console you just need to pick the right com port under tools->port, start the console tools->Serial monitor, and select the speed of 38400bps. In the top of the serial console you can enter commands. There you enter !LOG:2 and click “send” to enable debug logging.
For programming – the arduino model used for meinEnigma is called “Arduino nano” or just “nano”. I see that in later versions of the Arduino IDE you have a choice of “Atmega328p” and “Atmega328p (Old Bootloader)”, you probably need to go with old bootloader there for now until china starts to sell modules with the new bootloader.
With that working you can see more what’s going on and get some hints as to what might be wrong.
Next, more troubleshooting steps. While I was prototyping the kit I ended up with one board out of 4 that had similar issues and I was banging my head against the wall for some weeks to find the problem (didn’t work constantly on it) and in the end the problem was the LEDs. The china LEDs does light up ok but I discovered that they allowed current to go in reverse also so the diode part of the LED was lost and that caused all the issues. Since then I’m now testing every LED before shipping to make sure the block current in the reverse. (Out of the three 1000 LED batches I got I found between 10-30 bad LEDs in each batch so testing is required).
For you to narrow down the problem, desolder some LEDs starting with PYXQWE and see if it works better then. Please also note if anything changes on the top display while starting up.
Other actions: I assume you already done it but for anyone else reading this later, ring up the board. That means take a multimeter or something to look for shorts. Remove what can be removed from sockets (arduino, sound module, alnum digits, cable connector) and start to cross check everything to make sure that it no short between pins in the cable connector, key is short wrong way and that it’s no short anywhere else. If you find a short, look closely at the soldering and at the schematic and see if it suppose to be a short there or not. Next ring up the other way, make sure it is a short where it should be. That means a bit more work because you need to look at the schematic but the basic is that the LEDs and keys are in a big row/col matrix. That means that you can expect pin 1 on the first alnum digit to be connected to pin 1 on the other 4 digits and so on, only one pin is not connected across. For the LEDs it’s same thing, one pin is connected to every LED on the top row and first four on the middle row. The bottom and right four in the middle same thing. Going by columns (which really are “rows” on the ht16k33 chip) the top left “Q” has one pin connected to the bottom left “P”, and in the case of QP it is also pin 12 (“S” segment) on all the alnum digits.
That can be because of the way the ht16k33 chip does/doesn’t ground the row but if I’m guessing right your confusion is because when you put the wire to C then R did not lit up but C id. I agree that is strange.
Please try the other troubleshooting steps and report what you see get from that.
Looking at this a little closer I think what you saying is that the problem is with the LEDs, not the keys and when you give external power to Q you get P also, so Q=P, W=Y & E=X.
As seen in the schematics those 3 share the column with each other and a short on the rows would explain it but then you say that C works fine and R is not stuck to C, that makes it a little more complicated.
More troubleshooting steps:
– when you are in “model” mode and press “L” for lamp test, do you get all LEDs on?
– move the switch to next mode (rotors) and press each key. When you press Q or P, do you get Q&P on?, same for W/Y,E/X,C/R. Move on to do the rest of the keys and see if any is wrong.
– When pressing keys, have a serial console connected, pass “!LOG:2” for debug logging and look at what’s coming out. It should state each key you press and the LED it turns on for it.
The LampAndKeyboardtest program is similar to that last step, just that it more clearly show when you press multiple keys. Did just upload a new version with a few more comments.
Version 1.05 of the code is uploaded. It will remove anything that isn’t a digit from the input. If it can’t guess the “invalid date” message now includes a hint on the format.
Still a limit is that you need the leading zero in things like date or hour and the order must be yyyy/mm/dd hh:mm:ss.
If you want to you can send me pictures of your build and then I will put them up on the gallery
Congrat to your working kit and your first post.
Yes, it is a bit picky about what format you enter things in. I would love to make it smarter but it’s no space left for the code. In the choice between handling both 1/2/4 and I/II/IV for rotors or making the encryption work it’s not much of a choice – encryption must work correct all the way.
Now ignoring space sounds small enough that I guess I could add without using that much space so I will see if I can add that to https://github.com/lpaseen/meinEnigma soonish.