WisMesh Board ONE EC11 Rotary Encoder not working

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.

Unfortunately, I did connect it directly to GPIO 8. Could this have damaged the board?

I have done a number of factory resets, loaded WB_HW_Test_V1.1.8.uf2 (didn’t see any errors there), and still no joy.

It is possible that you damaged the RAK4630 by drawing too much current through the GPIO.

The HW test does not check GPIO’s, as it does not know which one would be in use.

Ugh. Well, good to know at least. Is there any way of testing this definitively?

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.

Got it. I just ordered a replacement board. Appreciate your assistance here!

What would be the proper way of connecting a piezo buzzer to the board?

Reference design

1 Like

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.

Any idea what could be going on here?

Bumping this to see if anyone has any ideas.