1

I am powering a UNO through the 5V pin. I am using a tftlcd shield (2.8" mcufriend.com) on it.

To be able to use the shield with I2C I had to snip the RST leg from the shield. That was done because the shield used A4 which was required for I2C. When I power the UNO through the USB port the program starts correctly and a bitmap is loaded onto the screen. When I power up from the 5V pin or the power adapter, the screen remains white. I have to manually press the reset button on the UNO and then the program loads the bitmap.

The ladyAda examples had this to say;

#define LCD_CS A3 // Chip Select goes to Analog 3
#define LCD_CD A2 // Command/Data goes to Analog 2
#define LCD_WR A1 // LCD Write goes to Analog 1
#define LCD_RD A0 // LCD Read goes to Analog 0
#define LCD_RESET A4 // Can alternately just connect to Arduino's reset pin
Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);

Does that mean I should solder the lcd RST pin to the RESET on the UNO? (if so I am not sure how I can do that without taking the lcd shield to pieces).

1 Answer 1

1

It isn't clear from the description whether your setup has a hardware problem or a software problem. For example, the rationale for “I had to snip the RST leg from the shield” is unclear.

The comment in ladyAda's example, “Can alternately just connect to Arduino's reset pin”, means that it's suitable to hardware-reset the LCD at the same time the Arduino does a hardware reset. If the “RST leg from the shield” that you snipped is the LCD reset pin, as opposed to a pin driven by the small tactile reset switch on the 2.8" mcufriend shield, you probably should restore that pin. In other words, unsolder and remove the stub of the pin you snipped off, insert a new pin, and solder it in place.

Note, just reinstalling the pin might make things work. It's possible the LCD is sitting there in a permanently-reset state, due to its RST input hanging open. It's also possible the library is already driving RST properly but that drive isn't getting through, due to the missing pin. Whatever the case may be, with the pin in place you should be able to software-reset the LCD by pulsing A4. (Ie, with consecutive digitalWrite() commands, in setup() and before shield initialization, take A4 high and then low, or vice versa.)

Edit: If A4 isn't available for resetting the LCD (due to its use as the SDA signal for I2C, per comment) you might try adding a jumper wire from the shield's LCD_RS pin (above A4) to an available pin, and adjust the #define LCD_RESET statement accordingly.

In general, to add a jumper wire, strip about 5 mm of each end of a short piece of #30 wire-wrap wire. Form a small hook at each end. Hold a hook onto the solder of the pin you wish to attach to and briefly heat the solder, letting the hook sink into the solder. If you don't have wire-wrap wire, use a single strand from some old stranded cable (eg, mouse or keyboard). Use thin heatshrink tubing or a bit of stripped-off cable insulation to insulate the jumper. To keep pins in place while soldering, seat the pins being worked on into an old disk-drive connector, or another shield, or if you have nothing else, an Uno.

In your particular case, an mcufriend shield on an Uno, no pins are available unless you co-opt one of the SD-card-slot signals. But before doing that, it's probably worthwhile to try your original idea of wiring to the Uno's RESET pin. Your jumper would run from J3's second pin (A4) to J4's last pin (Reset), installed on the LCD side of the shield. You should be able to see the trace between the Reset pin and the Reset switch, when identifying the Reset pin.

2
  • Thanks for taking the time to answer this. To be able to use the shield with I2C I had to snip the RST leg from the shield. That was done because the shield used A4 for RST which was also required for UNO I2C. The shield is actually working correctly, the question is only about the power on. I think if I reconnected the RST then the I2C would cause the LCD to constantly reset.
    – CarbonMan
    Feb 2, 2016 at 11:44
  • 1
    @PHemans see edit Feb 2, 2016 at 20:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.