Arduino Esplora TFT Screen Horizontal Bars Fix

I’ve been through a bit of an ordeal trying to get the hardware, software, and motivation together to enjoy programming my Arduino Esplora. And I wish to share and help shortcut one major struggle, with explanation. But for those that just want to get rolling…

TL;DR: If your Arduino Esplora TFT Screen has black or white horizontal “bars” (pictured) and doesn’t display examples properly, you may be using Arduino library 1.05. You need to update to a more recent version.

(At the time of writing, 7 April 2014, the most recent version is 1.5.6-r2.)

Arduino Esplora TFT Screen

Okay! The rest of this is a kind of personal story of struggling to reach a platform to create fun little projects on a circuit board, and my reasoning for making a post about the above (simple) issue.

So last year my cat broke my headset for my computer, and I was out to get another pair. I decided to go to RadioShack, since I wanted them quickly (sorry Amazon) and hadn’t been in one in a long while. I found a great deal on the headphones I use today, but also snooped around the hardware section, looking at the basic parts for electrical circuitry that I studied at Georgia Tech.

Unfortunately, I feel woefully unable to create circuits, understand them, and work with them to my satisfaction. I saw Arduino boards on a shelf and thought that one would be a fun way to exercise my hobby coding and embedded system work. No, it’s not making amplifiers, but that would be next. I bought the Esplora, because it had a bunch of sensors to play with already included.

Then about a year passed by with me accomplishing very little with the board. Motivation, priorities, and time keep me away. I also start to feel that the barrier to entry on a new project is impossibly high, that reaching any satisfactory end goal will be so far away that I’m better off with my instant gratification of video games.

But in recent months things have shaken up. I’ve moved out on my own and shed some antiquated behavior. I’m around people that are encouraging and positive and get me to try new things. And so I decided to take on getting this Esplora up and running, tweaking with it.

Turns out it’s incredibly simple. Wow! The code for making the LED blink is literally this:

/*
Esplora Blink

This sketch blinks the Esplora’s RGB LED. It goes through
all three primary colors (red, green, blue), then it
combines them for secondary colors(yellow, cyan, magenta), then
it turns on all the colors for white.
For best results cover the LED with a piece of white paper to see the colors.

Created on 22 Dec 2012
by Tom Igoe

This example is in the public domain.
*/

#include <Esplora.h>
void setup() {
// There’s nothing to set up for this sketch
}

void loop() {
Esplora.writeRGB(255, 0, 0); // make the LED red
delay(1000); // wait 1 second
Esplora.writeRGB(0, 255, 0); // make the LED green
delay(1000); // wait 1 second
Esplora.writeRGB(0, 0, 255); // make the LED blue
delay(1000); // wait 1 second
Esplora.writeRGB(255, 255, 0); // make the LED yellow
delay(1000); // wait 1 second
Esplora.writeRGB(0, 255, 255); // make the LED cyan
delay(1000); // wait 1 second
Esplora.writeRGB(255, 0, 255); // make the LED magenta
delay(1000); // wait 1 second
Esplora.writeRGB(255, 255, 255); // make the LED white
delay(1000); // wait 1 second

}

Compared to the struggles I went through to write and modify the “Hello world!” app on my Pebble, this is not only a cakewalk; it makes me wonder why there aren’t way more cakes out there: experiences where getting started is that easy. I suppose with more control comes more complexity, and with more power and ability comes more time and dedication to get the more impressive result.

But I was very excited at the immediately understandable code and structure. A lot of the early experience with Arduino appears to be an exercise in not overwhelming the novice (not that I necessarily think of myself as one). I kick myself in these situations where I didn’t even dip in enough to see the water was inviting.

My lack of motivation overcome, I decided that the coolest and most interesting projects I could create would require a screen. And a few models existed, just for my game-controller-like board. They were a little pricey ($30), but as a potential creativity outlet, I thought it worth it.

Yet again, when I got it, I was quite happy, plugging it into the header pins immediately. But I didn’t even turn the thing on to test it or try it out until a month later, very recently. And it was severely cracked and displaying weird behavior.

Arduino Esplora TFT Screen Broken

I’m not sure what cracked the screen. I don’t remember touching the thing as it sat there, and of course shipping can be a likely source to blame. I emailed the digital store I got it from, mp3Car, and they shipped me a replacement with just the picture as proof. I appreciated that very much!

The new screen arrived today. I plugged it in immediately in hopes I would finally be able to tinker with some ideas I had. And unfortunately it looked like both images: horizontal bars of black and white with sporadic response from input. Knowing the old screen did the same thing, I didn’t believe my new one was defective, so I began my search for solutions.

Regular Google searches turned up surprisingly little. I began to get frustrated and run out of steam fast. I tinkered with the input to the screen, seeing what changed and what didn’t, what the behavior was. I’m usually good at discerning a problem from trial and error like that. But it was too opaque this time.

I was honestly wondering if this was another frustrating case of being alone with a problem and never knowing what to do about it.

But I remembered that the Arduino website has lots of great information. So I checked out their forums. And within a few minutes, I found someone else with my exact issue. Another minute? I found the solution: as simple as updating my Arduino libraries.

So finally, after having the motivation, the hardware, and finally the proper software, I loaded a game of “Pong” I found online.

…And it worked. And kept working, bouncing around while I wrote all this! It’s great!

Arduino Esplora TFT Screen PongI get excited about the tiniest, most emblematic things.

So I don’t know if the Arduino site is not Google searchable, or why its helpful forums aren’t more prominent in providing the answers to user questions from outside searches. I also don’t know if at any point it was suggested to me that the Esplora might need a more recent libraries version.

But that’s exactly why I wrote this post, in case someone has this same problem and gets roadblocked or as frustrated as I did. Not every time will the answer easily come, but when it’s as simple as this, I want to make sure it’s easier to find.

I hope to show off little creations here in the future and really break into the handheld market. 3DS, step aside!

Leave a Reply

Your email address will not be published. Required fields are marked *