Good board for project with many buttons

i want to build a device with multiplical buttons that call actions.

Just now i am using a NodeMCU v3 CH340 developer board and normal bottons that i have connected between 3 volt and a pin.

My problem is that i just can use 1 Pin of the board (D0) because it is the only pin that supports pull-down.

If i connect a button with a other pin i get a signal if the button is pressed, but not when it is released.

Only on one Pin D0 (GPIO16) i could make it work using this code:

  - platform: gpio
      - delayed_off: 100ms
      number: GPIO16
        input: true
        pulldown: true
    name: "Heizpumpe_Kuche_Auslöser"

Is their any solution that make it possible to use the other pins for the same thing?

If not: Is their any board that is more suitable for a project like mine?

How many buttons would you like to have?

Maybe you could look at using something like this? (These would let you add up to 16 buttons and from a quick search on Ali can be bought for a few -insert-currency-of-choice- .)

1 Like

Why can you only use pull down?

Ya… Thats how a button works. Theres only 2 states, High/Low a.k.a ON/OFF. How many states where you expecting a button to have?

I use these a bit. Might have more than you need.

It was kind of stupid to connect the buttom betwenn 3 Volt and a Pin. If i instead connect the buttom between PIN and ground i can use pullup instead of pulldown.

My board supports pulldwon in just one pin but pullup in many others.

As well You can use PCF8574 (8-port) or even PCF8575 (16-port) IO multiplexer/extension board.
By utilizing 2 pins for I2C bus You obtain 8/16 Input/Output ports - best use to connect more buttons/switches/relay.

Its not stupid, you just had them wired for pull down when the gpios dont have it. It sounds like you understand the differences now so thats not stupid. Pull up, pull down is extremely common in just about every circuit and not just esp based circuits. Its an important concept to understand because youll see it a lot more.