As @Gordon says, shift register (74164) be powered with 5V, as well as the relays board. Just feed it from there. Pico output to the shift register inputs is well in specs with MC 3.3V output. Just cap the 3.3V power from pico to shift register and connect it to power from the relays board.
Looks like the USB charger that you use as power supply / source is strong enough to run all your equipment. 'Amazon/vendor says': 1500mA... which most likely is what they say.
To decouple and stabilize the power for Pico, do not directly connect the 5V from power supply to Batt: put a diode in between and then put a capacitor between Batt and GND.
I took a look at the SW. What I like is the modularization.
Looking at the individual components, I see some challenges in the dynamics and stability / predictability in the cooperation with the hardware. Surprise to me is that no debounce works the best and that the spi write is in a timeout, which means that control continues immediately.
Could you elaborate a bit more on the implementation of your 'keyboard'/switches schema?
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Thanks for the details.
As @Gordon says, shift register (74164) be powered with 5V, as well as the relays board. Just feed it from there. Pico output to the shift register inputs is well in specs with MC 3.3V output. Just cap the 3.3V power from pico to shift register and connect it to power from the relays board.
Looks like the USB charger that you use as power supply / source is strong enough to run all your equipment. 'Amazon/vendor says': 1500mA... which most likely is what they say.
To decouple and stabilize the power for Pico, do not directly connect the 5V from power supply to Batt: put a diode in between and then put a capacitor between Batt and GND.
I took a look at the SW. What I like is the modularization.
Looking at the individual components, I see some challenges in the dynamics and stability / predictability in the cooperation with the hardware. Surprise to me is that no debounce works the best and that the spi write is in a timeout, which means that control continues immediately.
Could you elaborate a bit more on the implementation of your 'keyboard'/switches schema?
1 Attachment