troubleshooting ht16k33

Tagged: 

Viewing 10 reply threads
  • Author
    Posts
    • #2438
      Glenn McIntosh
      Participant

      Have assembled the kit (#157), and is mostly working apart from LEDs. By working, I mean appears to be completely functional, all buttons are being detected, rotors are being detected and can encode messages (using TTS).
      However, I’m getting no LEDs (either the lamps or the rotor displays), except for the decimal points on the rotor displays which are driven from the Arduino. Occasionally I’ll see a quick flash of a couple of LEDs on startup, but it is only momentary.
      I’m assuming my issue is the ht16k33. What I have tried:
      * tracing each of the lines from the ht16k33 to check connectivity
      * checking for shorts between adjacent pins
      * re-checking all LED polarities and pins on the alphanumeric connectors
      I’m seeing signals being asserted on COM0-7 of the ht16k33, but nothing on the ROW0-15.
      My best guess is that I’ve killed the drivers on the rows somehow (though they must be working as inputs, since they are seeing the buttons).

      Apart from me replacing the ht16k33, do you have any ideas on anything else which could be causing this?

    • #2439
      me2016
      Keymaster

      Hi Glenn
      Yes, it sounds like the issue is related to the ht16k33 chip.
      Connect sa PC to the usb port and set speed to 38400. Then when it boot up it will state something about found ht16k33 ir not.
      If not found check the power and SCA/SLK lines. Carefully measure the voltage directly on the chip.
      Now since the buttons work then I would guess it’s detected and it’s something else and studying the schematic the only thing I can think of is that you accidentally install the LEDs the wrong way.

    • #2440
      Glenn McIntosh
      Participant

      The startup seems fine (I’m guessing the ‘IC detected’ line is for the ht16k33, I have the plugboard disconnected for now). Power and clk/data are working, I’ve re-checked all the LEDs, will continue to investigate. I’ll figure it out, thanks for the response.

      MeinEnigma Version: 1.10d
      Checksum seems OK, (E9AA) keeping the values
      IC detected
      Looking for soundboard
      Found a soundboard, activating it
      Time is: 200-01-03 19:38:18
      No plugboard found
      All LEDs on
      All LEDs off

      Machine mode: run
      Version: 1.10d
      Preset: 0

      Odometer: 561
      Morse code: OFF
      TTS: ON
      Serial number: 157

      Model: M3 (Enigma M3, German Navy (Kriegsmarine))
      Reflector: UKWC
      Rotors: I – II – III
      Ringstellung: – A A A
      Plugboard: virtual –
      CurrentWalze: – B Q M
      Time is: 200-01-03 19:38:23

      Ready

    • #2443
      Glenn McIntosh
      Participant

      I replaced the ht16k33 on the assumption that I’d somehow killed the row drivers, and it is all working now!

      The keyboard is a bit of a frankenstein’s monster after I used a breakout board version of the ht16k33, but that’s all hiding underneath 🙂
      https://archive.meme.au/meinenigma-2d38250c/keyboard.jpg

      Overall, the instructions for construction were comprehensive and the only minor issues I had were the battery connector terminals being a bit loose for the wire gauge, and one hole on the board (for the Arduino socket) was blocked and had to be drilled out.

      Thanks for a great kit.

    • #2468
      thedy
      Participant

      i just assembled the tit #156 and now have exactly the same issues with the LED’s and alphanumeric displays. When i push one of the 4 button by the wheels to recall a preset, most time it shows PR 1 (2, 3 or 4), but nothing else. Everything else seems working well.

      I also checked everything, shortcuts, wrong direction of LED’s bat soldering points ….

      Any suggestions ?

      Best Regards from Swizerland
      Thedy

    • #2471
      me2016
      Keymaster

      I am starting to wonder if the batch of chip I got (after a very long delay) was faulty.
      The “PR 1” should come when you press a button and turn it on but that’s it.
      1 – Do you get the “all LEDs on” when you turn it on
      2 – if you put the dial in the first on position (model) can you then try some of the shortcuts and see if it does react to them. Things like “M” for morse code, “T” talk, “C” for clock, “L” for lamp test.
      3 – can you connect a computer to the serial port (speed 38400) and see if you get some more info there. You can increase log level with “!LOG:2” (I think)

      I’m currently out of town so I can’t really check on things that easily.

    • #2474
      thedy
      Participant

      Hello again,

      everything works fine. When i push L for the light test, all is dark except the 4 dots on the alpha displays. When i push C the 2nd dot blinks in a 1 second rhythm. In UKW mode, the voice say the correct letter that i push. In run mode i can enter text and can see the encryption in the terminal window on the PC, but not on the LED’s nor on the alpha display.

      Log:

      MeinEnigma Version: 1.10d
      Checksum seems OK, (24B4) keeping the values
      IC detected
      Looking for soundboard
      Found a soundboard, activating it
      Time is: 2024-03-14 19:24:47
      Preparing plugboard
      All LEDs on
      All LEDs off

      Machine mode: model
      Version: 1.10d
      Preset: 0

      Odometer: 98
      Morse code: OFF
      TTS: ON
      Serial number: 156

      Model: M3 (Enigma M3, German Navy (Kriegsmarine))
      Reflector: UKWB
      Rotors: I – II – III
      Ringstellung: – A A A
      Plugboard: physical – empty
      CurrentWalze: – A A G
      Time is: 2024-03-14 19:24:52

      Ready
      Time is :19:24
      Time is :19:24
      All lights on
      All lights off
      All lights on
      All lights off
      sound OFF
      sound ON
      morsecode ON
      morsecode OFF

    • #2498
      me2016
      Keymaster

      It’s hard to guess what can b e wrong but since it is a few reports of it now I’m going to put together a kit and maybe also a test jig of some kind so I can verify functionality of the chip.
      If I’m not happy with what I see I will order a pile of ht16k33 as a replacement in existing kits and for anyone else here.
      For the kits above – if you are willing to pay shipping to Canada and ship the just the main board I will take a look and do whatever is needed to make it work.

    • #2510
      me2016
      Keymaster

      Update: I did solder together a L&K board and reproduced the problem so now I can do some troubleshooting. I have ordered replacement ht16k33 but it will take some time to get here.
      I will get back once I done some checking.

      • This reply was modified 1 week ago by me2016.
      • This reply was modified 1 week ago by me2016.
    • #2517
      thedy
      Participant

      i added the following line in the original MeinEnigma Sked and downloaded it to the Arduino. After this, it worked as it has to. Without replacing the HT16K33

      on line 2012 after the ‚void checkSwitchPos()
      i added the following:

      HT.displayOn();

      Perhaps someone else can verify it, if it runs there too ?

      Best Regards and good luck with upgrading the Arduino 😉

    • #2518
      me2016
      Keymaster

      Did try some things and it does make a change to the better. Now it’s more of a side effect than a fix. The “HT.displayOn()” call does set a bit in the chip to turn on the display but that bit is set at start and never cleared so it’s more of the repeated sending of data that makes it work better.
      One thing that still doesn’t work is for example the light check, turn on all LEDs. That still doesn’t work.

      To verify that I added a dummy read call “i=HT.i2c_read(0);” to the main loop and then it seems to work the same, display, lights and such work but not light test.
      I added it around line 4340, just before “if (!standalone) {“.

      This indicates that the chip has issues to work unless you keep talking to it, something that shouldn’t be needed. Adding that line to the main loop is at best an ugly workaround to get some function out of it so I keep looking at what the root cause is for this issue.

      /ps

      • This reply was modified 1 day, 16 hours ago by me2016.
Viewing 10 reply threads
  • You must be logged in to reply to this topic.

Archives