Turns out that I have over-engineered this shield a little bit — I wanted to make sure the pins are pulled up when the buttons are not pressed, so I added a pull-up resistor to each button. But looking at the #LAMEBOY - another ESP12 handheld project, I noticed that @davedarko didn't use any pull-ups, and it works reliably for him. We dived into the datasheet a bit and did some experiments, and it turns out you really don't need them. So now I'm leaving the pads for the pull-up resistors un-populated. Perhaps I will design another version of the PCB, with the chip on the bottom side and without any pull-ups whatsoever, but for now this simplified second version works well for me.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
I still feel a bit uncomfortable with that, although my source is an article at mikrocontroller.net, the datasheet is even weirder (having a 100k Ohm resistor pulling up the pin and a switch that connects to VCC over 100kOhm when closed)
Are you sure? yes | no
https://www.mikrocontroller.net/articles/Port-Expander_PCF8574
Are you sure? yes | no
"The internal Power-On Reset (POR) initializes the I/Os as inputs with a weak internal pull-up 100 uA current source." Page one of the datasheet...
Are you sure? yes | no