0
\$\begingroup\$

I want to run a large switch matrix from a Raspberry Pi GPIO with the usual diode setup. I'm planning to chain some 74HC595 shift registers for the rows and read the columns from the Raspberry Pi GPIO.

If it makes any difference I might use 8 GPIOs and 2 shift registers, i.e. 128 buttons.

Knowing the current source / sink characteristics of both components, is it better to shift a high along the shift registers or a low? If it's high, the GPIO will have to sink. If it's high, the GPIO will have to source.

Does it make a difference either way? Can I do this without extra components or is a buffer advisable?

\$\endgroup\$
0
\$\begingroup\$

I'd say sink where you can. its easier to sink as your MCU might not always be able to drive the current that you may need, and if you have multiple outputs that need to be driven you might not be able to pass enough power through the MCU to drive all the output. had this problem a few times with some lighting boards. but if you insure that the max rated input power for an MCU IO is not exceed then generally it will sink without any problems.

\$\endgroup\$
1
  • \$\begingroup\$ Thanks! I thought that as the current is going straight from one into another, i.e. not driving a load beyond a diode, there may be different considerations. \$\endgroup\$ – Joe Mar 11 '19 at 12:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.