I am in the process of building out a WisMesh Board ONE to run Meshtastic, but have run into a weird problem in hooking up a EC11 rotary encoder. I have wired the encoder to the Board ONE as follows:
Button > IO5 = GPIO 9
Encoder A Out > IO7 =GPIO28
Encoder B Out > IO6 = GPIO10
Ground > Ground
Initially, this setup worked. I was able to turn the encoder back and forth and navigate menus. However, in trying to figure out why a pizo buzzer I also wired in would not work, I reflashed the board a couple of times. Now, the encoder won’t work! The button still works - although it seems… sluggish? to respond to clicks - but there is no rotary activity registered. I have verified both in the UI and through CLI that the proper settings have been changed to bind GPIO28 and GPIO10 to the encoder outputs, as well as tried wiring in 10k resistors onto the encoder outputs in case there was some kind of bounce happening. No luck.
Short of replacing the encoder, any ideas?
Fast edit: I ended up swapping the encoder, no change in observed behavior.
How did you connect the piezo buffer? I hope you did not connect it directly to one of the GPIO’s. The GPIO’s are only available to provide a quite small current of 15mA.
Could be that your Meshtastic configuration on the device is messed up now. Try a factory reset.
No easy test, it will require some application that checks the GPIO’s when set as input for their voltage level and manually change the input voltage on the GPIO.
Update: after sourcing a replacement Board ONE I wired up my project without the buzzer, just the encoder. Everything worked great, for about 4 days. Yesterday, the unit stopped responding to user button presses both from the encoder AND from the on-board user button, as well as from the encoder A / B signals. Since then, I have wiped the device, reflashed firmware, etc. with no change in behavior.