I'm currently working on an Arduino project with lots of digital IO (21 outputs, 8 inputs) and no analog IO. This is more than the number of digital pins on an Arduino Nano, so I started looking at muxes to expand the number of output pins. I quickly came across the HC4067 with 16 outputs which seemed perfect, except for the fact that it (and most muxes) are non-latching, ie only one output can be active at a time. If I was controlling an array of lights that might work, but alas I'm controlling a variety of things that need to be constantly on.
Thus, I began looking for a mux with a register or latch, or just a transparent 16-bit register/latch I could plop down after the mux. Most that I've found seem to not work well for me because of my requirements:
- Hand solderable by someone (me) with rather basic soldering skills
- Not an absurd number of pins. Goes hand in hand with the previous. I've seen a few transparent latches that I think may work, but they had 48 pins for an 8 bit latch.
- I must be able to toggle an arbitrary pin without affecting the others (ie, Not a shift register, unless I'm misunderstanding how shift registers work)
- Transparent when selected/No clock required - most outputs will change on human scales, but I did have to stick a 2400 baud software serial RX on this mux, and I'm not sure how to add a clock pin into SoftwareSerial.
- Selected pins hold the last values. ie: I could set all outputs on at a time, or half, etc (manual latching is fine)
- Digital 5V logic compatible, current on the order of an Arduino (20-40mA) (Output-only is fine)
So is there either a 16-output demux with a latch/register (preferred), or a latch that I can plop down after the mux above that meet the above requirements? I'm fine with two 8 bit ones, though I'd prefer avoiding smaller ones.
Second, I think most of my failure googling these bits stems from my lack of knowledge of the proper terminology and if I want latches, registers, buffers, multiplexer, transparent, inverting, etc. What would be the proper names for what I'm looking for?