Oct 12, 2017

Multiple LED output in SimVimCockpit

Like the previous interface version, SimVimCockpit supports serial output to LEDs using the serial-to-parallel registers with latch. This allow you to connect as many annunciators as you need using a few Arduino pins. In SimVimCockpit you can still use the 74HC595 registers connected in chain to make all annunciators for your panel.

Now we can recommend another option for multiple LEDs output (or digital signals output). In SimVimCockpit now you can use DM13A LED driver or any other similar 16-output drivers - here is an example of this driver on Ebay. 

This IC is a 16-bit shift register with a latch for 16 constant current LED outputs. "Constant current output" means that you don't need to care about each LED's current, for all 16 outputs this current is set by a single resistor at a separate input, and each single output can sink 3 ... 60 mA, so that individual resistors on each LED are not necessary (as was needed in case of 74HC595 registers).

LED driver pinouts and wiring


Other similar LED drivers

You can use any of these analogs (that differ mainly in maximum output current). All these ICs are similar in functionality and pin mapping, so you can use any of them that are easier to get for you:
  • STAP16DPPS05 (up to40 mA for output)
  • SM16126D (up to45 mA)
  • DM13A (up to 60 mA)
  • DM134 (up to 90 mA) ( DM135 - 60 mA, DM136 - 15mA)
  • ST2221C (up to 90 mA)
  • A6276 (up to 90 mA)
  • TB62726 (ANG / AFG)  (up to 90 mA)
  • STP16CPC26  (up to 90 mA)
  • STP16CPS05  (up to 100 mA)
  • STP16C596  (up to120 mA)

Some of these ICs have DIP casing (DM13A, DM134, ST2221C), others may have SOP24 casing. But this is not a problem, using them is not so difficult if you buy several cheap SOP28 adapters (about $1 for 10 boards):


  1. Hi Vlad

    Can I use 74HC4067 multiplexer for direct Led ?

    I fear the DM134 have the some probleme of the 595

    1. Hi,
      Could you clarify what problems do you mean? ( I haven't seen any yet).

      I could consider MAX7219 as option for LEDs output, but not sure if we should include this in ArdSimX - not everyone likes this because of matrix-like wiring (many users have no any electronics skills and every wire is matter for them, I know that from lot of emails...).

      With DM13A and similar you just connect one LED to one pin, no resistors, no messy wiring). As for current consumption, with this LED driver it's very comfortable to change all 16 LEDs current by one resistor and even with 20k resistor and only 50 mA for all 16 LEDs ON, they have enough brightness for most cockpit annunciators (I will take video about this later).

      As for using the 74HC4067 for LEDs output, no, I will not include this option, because this requires constantly use Arduno to refresh each LED in cycle, that will take all processing time and will drastically increase total loop time (that is currently only 0.2 ms in idle and about 1ms average.)



    2. The problem I had was that beyond 5 led with the 595 register the led did not work properly
      (Park brake, landing gear etc ...)


  2. Vlad,
    The led assembly’s I have include the resistor in the annunciators, in this case can I omit the resistor?

    1. Not necessarily, you can try with it, and, if the LED brightness will not be enough you can remove resistor (or try to increase VLED voltage for this annunciator).

  3. Hello
    Super dma13 if I plug two or three chain how I branch them, just the plug 22 between them and I must plug the S and L of the other cards on the arduino again thank you for inquiring thank you for your time.

    1. To connect registers in serial, pin #2 of each next register is connected with pin #22 of previous register.
      "S" and "L" signal are common for all registers.

  4. Hello
    Thanks for the speed so if I understand I plug the new registers like the others by connecting the terminal 2 of the new terminal 22 to the other before.
    thank you again for your general interface it's great me who is no knowledge in electricity I arrive at all tests even the pane with potentiomletre I'm happy you understand that for people like me it's very hard again thank you and especially soon

  5. Hello Vlad,

    Is 74HCT4094N,112 compatible with this setup?

    Thanks, Max

  6. This comment has been removed by the author.

  7. Please first select 2 pins that will be assigned for 74HC595 registers ("LED Displays" buttonon the left). This 2 output pins will be used as common D/L signals for all 7-segment displays and LEDs (serial digital outputs)''can someone please hep me on this. how toset a common D/L ? Thanks

    1. ("LED Displays" button on the left). - can you see the button on left side of the configurator page, LED Displays [+] ?

  8. An interesting dialogue is price comment. I feel that it is best to write more on this matter, it may not be a taboo topic however usually individuals are not enough to talk on such topics. To the next. Cheers.
    LED Power supply

  9. any tips for checking dm13a because i think mine is broken?
    i am new at this so if someone hawe code for arduinio where you using this i hope you can share so i can get more understanding of how this stuff works.