Repurposing RESET button on i2c 16x2 RGB adafruit shield

Is there a straightforward way to repurpose the RESET button on an i2c 16x2 RGB adafruit shield?
I am using the LCD shield in a remote/wired configuration. When I try to add the reset button
to a sketch as an input is says it [ BUTTON_RESET ] is not declared. I am using the same syntax as provided with the other buttons (ie BUTTON_LEFT, BUTTON_UP).

My intent was to use the reset input to suspend and clear the LCD display output until the reset button is pushed.

Link to the shield for the many people that don't have one?

Hi,
I think the RESET button on the shield is HARDWIRED to the reset pin, so it is in parallel with the microcontroller reset button on the controller.

What model Arduino are you using?

Thanks.. Tom... :grinning: :+1: :coffee: :australia:

Also, what would you consider, "straightforward"? I guess you would realize that it might require adding jumpers and cutting traces on the PCB.

link: Adafruit Learning System

Well, are you using the shield separately wired and not placed on top of the Arduino, as shown in the pictures?

If it's separately wired, you could just connect the RESET pin from the shield to some I/O pin and monitor it in your sketch.

I am using a UNO WiFi Rev2.
Earlier when I had the shield stacked on the UNO and directly interfaced the Reset button
on the shield did not seem to do anything when pressed. At least the Arduino did not react.

I do not know if it is a matter of the reset button not being specifically defined in the pertinent library file. I can add a momentary switch if need be. I
was just hoping to use the reset button since it convienently resides in a good spot.

You can't "define" the RESET pin. It's not visible to the microprocessor. It can only RESET the microprocessor.

Not going to modify the board. I can add a separate switch if need be. That reset switch is in a great location for my needs though.

Can you not do this research yourself? Have a look at the Wifi Rev2 schematics and documentation and figure out where the RESET pin goes, if it's connected to anything.

Hi,
Although the shield uses I2C communication, I think you will find if you plug the shield into the UNO and with "Blink without display" loaded, that is with a non I2C code.
The RESET button on the shield will still reset the UNO.

Although the link provided shows how to connect the shield using jumpers, it omits the RESET pin connection.

The RESET button is HARDWIRED to to the shield socket RESET pin.

Use a DMM to double check.

Tom.... :grinning: :+1: :coffee: :australia:

That's why I asked whether the shield is sitting on the board... is it?

I am not asking anyone to do my homework. I simply inquired to see if anyone else has used this switch in a repurposed mode.

" Have a look at the Wifi Rev2 schematics and documentation and figure out where the RESET pin goes, if it's connected to anything."

As I stated in my original post the adafruit shield is not directly tied to the UNO; its remote. So the switch will not have any physical link to the UNO. I was hoping maybe it was already defined
in the library file like the other 5 buttons.

Then do what I suggested in reply #6.

There are so many applications and creative uses of this kind of hardware, that hoping to find someone who has done exactly what you want to do, is usually futile.

From my original post: "I am using the LCD shield in a remote/wired configuration."

Doesn't hurt to ask though.

Please SEE REPLY #6.

I doubt that you will be able to treat the RESET button in the same way as your sketch, if it is patterned after some example sketch written for it. Those would be checking the analog values from a resistive ladder connected to the keys.

But, if you investigate my suggestion, provide a wiring diagram and post your sketch, no doubt myself or some other helper can offer a path to a software solution.

You can connect and use the reset button that way. The reset button usually just grounds the reset pin, so all you have to do is connect it to some I/O pin configured with INPUT_PULLUP.

If you are shy about your code, you could post a tested keypad example sketch instead and we could make that work, you could then transfer the technique to your project.

OMG, it's not that hard. Do a little research .... Just look at the schematic on Adafruit's web site. The "Reset" button is not even connect to the I2C port expander. It has nothing at all to do with BUTTON_LEFT, etc. It's a physical switch with one pole connected to ground. The simplest thing in the world. Connected it to any available GPIO pin. Configure it with:

pinMode(switchPin, INPUT_PULLUP);

and check its state with:

x = digitalRead(switchPin);
1 Like

"If you are shy about your code,..."

Lol, I will spare you guys the pain of seeing that first hand.