Sorry if this is the wrong category for the topic.
I'm using a servo driver board for a project where I'm controlling multiple servos. I made a little circuit that can select the specific servo with buttons and a joystick to control the servo's angle. When I am using just the board and the circuit on the breadboard, everything works fine. However, when I plug in my external power source (2 18650 lithium ion batteries) to the driver board, it starts reading all the digitalRead values as HIGH for the buttons and then promptly stops when I disconnect the external power, letting the board run on power from the USB cable plugged into my PC. Basically, the buttons are unusable when the power is attached because it keeps reading their values as HIGH. Why is this happening?
I'm not sure if this is what you mean but here. The one on the left is an Arduino UNO and the one on the right is the servo driver board which goes right on top of the UNO.
This is a simplified version of the circuit. The only difference is that I have the wires running into the breadboard before going into the pins instead of directly from the input device to the pins.