Close
0%
0%

3 line to 32 line output expander

Expand 3 digital output lines to 32 with shift registers

Similar projects worth following
A serial to parallel output expansion board using the 74HC595 shift register.

This is a driver board for the nixie cathode switching transistors in #Repurposing an old nixie thermometer. It converts 3 signal lines to up to 32 parallel outputs. I need 28 lines to drive the 4 nixies. Since a minimum of 5 boards had to be produced, I designed it to be versatile. The sharp eyed will notice that only 7 lines out of each octet are actually used for this application.

The minimum lines required to use this board are: GND, SER (data), SRCLK (shift), RCLK (strobe). Vcc depends on the power arrangement. You should jumper the ~OESEL (output enable select) to ground if you don't wish to disable the display by signal, or vary the output with PWM, from a controller. The ~SRCLR input is only needed for resetting the output by the controller.

This board is designed with optional aspects you can choose to include or not:

  • As mentioned some lines don't need to be driven in smaller configurations.
  • Between 1 and 4 74HC595s can be installed for 8-32 outputs, in steps of 8. Naturally only the resistors for the used outputs need to be installed.
  • The 74HC595 can source or sink 6 mA current.
  • The 74HC595 can operate between 2V and 6V. This can be chosen to suit the controller, e.g. 3.3V or 5V, and the power supply section if installed.
  • The power supply section is optional. You can choose to power this from the controller. Or you could power the controller with this.
  • Copper pads for data and output are duplicated so you can attach more connectors or even solder wires. The input power is also brought out to duplicate pads for piggybacking to other circuits, e.g. an auxiliary board.
  • Although the connectors are rendered as vertical pin headers, you can use other kinds of connectors like pin sockets, or even solder wires to the pads.

A simple Arduino test program is attached which alternates between the patterns 0x55555555 and 0xAAAAAAAA. LEDs connected to the outputs will alternate.

A future version will use SMT to shrink the size of the board and avoid soldering resistors, letting the PCB assembly service do that, soldering the rest by hand. In such a situation, the resistor values have to be all the same to minimise the cost. That will give me practice in ordering PCB assembly with the many offers around.

Update, 2025-03-04: A new version has been uploaded to Github which has been submitted to PCBWay for fabrication, and now validated. See the log https://hackaday.io/project/184239-3-line-to-32-line-output-expander/log/238911-smt-version-of-board-sponsored-by-pcbway

sr32gpotest.ino

Ardunio test program which pulses odd and even lines alternately.

ino - 1.28 kB - 03/02/2022 at 09:04

Download

  • SMT version of board sponsored by PCBWAY

    Ken Yap03/04/2025 at 11:17 0 comments

    A SMT version

    PCBWAY forwarded to me a query from a customer about the THT version of the board which is published as a shared project on their site. The person asked a BOM for the PCB. I explained that I didn't recommend the THT version for assembly as it used through hole components, but that I had already designed a SMT version but not produced it yet.

    PCBWAY offered to sponsor the fabrication and assembly of the SMT version. I submitted the design from KiCad 8, using the PCBWAY external plugin which is very nice and generates the required files, then takes you directly to the ordering page on the website.

    4 weeks later the boards arrived, extremely well packed. PCBs are actually quite robust but there were layers of padding in the box, just in case.

    I connected one board up to my trusty Arduino Uno and loaded the test program sr32gpo-test.ino. Two LEDs are connected to the far end of the shift register chain. As expected they blinked alternately.

    You can find all the necessary files at the Github site for sr32gpo-smt. Bear in mind that you may wish to modify a couple of things in the BOM. One is the value of the output resistors. I have chosen 4.7k which will source or sink about 1mA. The limit of the 74HC595 is 6mA per output. I also chose the LDO regulator for 5V, although it is not used in this test. You may wish to choose the 3.3V version if that's what your design needs.

    Thanks to PCBWAY for the sponsorship so that I could validate my design. Now what do I make with these boards? 🤔

  • Another use for the expander board

    Ken Yap03/29/2024 at 12:31 0 comments

    I've put another of this board to use to drive an alarm clock display. My bedside radio/alarm clock is failing so I'm replacing the dedicated clock chip from the 70s in it with a modern MCU based design. I have a second copy of the LED display used there with all segments brought out to the connector. The display is dim despite a current of about 5 mA per segment due to the era of the LEDs but that's ok for a bedside clock; you don't want to be kept awake by the light.

    The display is being tested so it's upside down. But even if you flip the display mentally, you'll notice that the time is strange, it reads 80:32. The reason is the test program is sending out the serial data most significant digit first, so the correct time is actually 23:08. It's just a test program so I'm not bothered as long as it proves that the display is working.

    I'll write up the alarm clock project when it's done.

    Update, 2024-10-08: The write-up is at #Third life for a radio alarm clock

  • SMT version published

    Ken Yap07/20/2022 at 21:22 0 comments

    I have published a SMT version of the board, ready for PCB assembly to avoid hand soldering a whole heap of resistors and capacitors. It follows my investigations into the cost. You can find the link to the Github repository in the link section.

    This version is not tested, as I currently do not have a need for more expanders, as I still have a lot of the THT version, used for example here. However the circuit design is unchanged, only the components have been rearranged on the board, and BoM and CPL files generated for a sample manufacturer, JLCPCB. So it should work, touch wood. I'm publishing it in case someone can use the design.

View all 3 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates