“Design projects using many 100’s of output pins, using banks of serial-parallel ICs, up to 255 ICs/2040 output pins, on minimal digital pins
The ez_SIPO8 Library
Introduction - More from Less
Arduino microcontrollers are great for offering readily usable digital and analogue I/O pins for connecting to the outside world; some boards have few, some have many (eg MEGA 2560). But sometimes there just aren’t enough for our project or we want to keep their use to a minimum. This is where the humble and low cost Serial-Parallel Integrated Circuit (SIPO IC) comes to our rescue!
SIPO ICs offer us significant reductions in microcontroller pin usage, a factor of at least 3:8 for a singly wired 8bit IC and much, much better ratios if we connect them in a cascade (daisy chain). For example, if we cascade 4 SIPO ICs this improvement increases to 3:32! Even greater efficiencies can be leveraged.
If you have already dabbled or used in anger SIPO ICs in your projects then you will know that they can present their own challenges - usually lots of wiring, difficult to use software drivers/methods to mention just two. So anything that improves our lot would be a good thing? Of course. This is where the ez_SIPO8 library can provide a considerable range of easy to use functions and methods that can make project design using SIPO ICs a dream. Even more than that, the SIPO8 design architecture can lead to innovation and highly scalable project designs.
The SIPO8 non-blocking library has been designed to support up to 255 8bit SIPO ICs, configured into banks, each of which may contain (map) from one to many individual SIPO ICs in a cascaded arrangement.
Indeed, the theoretical maximum number of SIPO outputs that the library can support is a massive 2040 output pins, arranged into banks of SIPO ICs of any number. A single bank of SIPO ICs requires its own 3-wire microcontroller digital pins to drive it, but a single such interface can support banks of any size, even beyond eight SIPO ICs which seems to be a current limitation of some implementations.
By using the SIPO8 library in your projects you will be able to design and craft straight forward, innovative and elegant solutions incorporating SIPO ICs, even if it is just one, or dozens.
The following article provides a synopsis of the SIPO8 library, but a complete and comprehensive description including worked examples can be found in the User Guide. In addition, understanding of the SIPO8 library is further supplemented with a summarised crib sheet and six standalone tutorials each with associated downloadable sketches/examples.”