My Arduino Giga Display Shield suddenly can't display the color white (0xffff). The white has a yellow tint while other colors do not seem affected. Is this a pin connection problem? Can I fix it?
It sounds like you may have damaged it with possible excessive voltage, ESD (Electric Static Discharge). If you use a different display is everything OK? Be sure to check voltages first. Also what is powering this.
I don't have other displays to test it on, but the display itself is connected to an Arduino Giga R1 Wifi which is connected to my PC.
Check the voltages on the Arduino and display.
What do you get when you run the SimpleBacklight.ino from the library?
/*
Changes the display backlight from very dim to 100%
This example code is in the public domain.
*/
#include <Arduino_GigaDisplay.h>
//Create backlight object
GigaDisplayBacklight backlight;
void setup() {
//init library
backlight.begin();
}
int i = 0;
void loop() {
backlight.set(i++ % 100);
delay(100);
}
Jes curious.
While running this code, the display goes through the different brightnesses in around 8 steps. Compared to how I remember it looking before, I dont see any difference in color. The yellow defect is only noticable while displaying the color white, or colors with a lower saturation.
All the voltages are slightly lower than what is said for the pins (e.g. 4,6V for 5V and 3,2V for 3V). Could the discoloration also be caused by connecting the shield while the Arduino is powered?
Just me sayin', but I would remove power from the board before mounting a display shield. Otherwise, this hobby of mine would become an expensive habit.
Well, that could be the problem. I am kinda new to this stuff and didn't think about it. Thanks for the help.
Try not despair to greatly. You still have a GIGA board and a display that is a bit challenged. You can figure out how to make it work in the end. Please come back and update with your progress. Aloha.
Welcome to the club, this was a FAIL (Forward Action In Life) and it still works. I suggest Purchasing a new display and use the old one to experiment on and save the new one until finished. But before doing that check with your vendor for a warranty replacement, you never know.
Its just a night light function which I can't disable
Update:
Display has now gone from yellow to green, and can't display anything anymore, i tried every example scetch. Accelerometer/Gyroscope can't be read either ("Failed to initialize imu"). Changing the backlight brightness and using the microphone still works though. In the image you can see the "Arduino_GigaDisplay>gfx>geometrical-shapes" example code.
/*
This example uses the Arduino_GigaDisplay_GFX library
to draw some geometrical shapes on a 800x480 canvas.
The circuit:
- GIGA R1 WiFi
- GIGA Display Shield
created 10 sept 2023
by Karl Söderby
This example code is in the public domain.
*/
#include "Arduino_GigaDisplay_GFX.h"
GigaDisplay_GFX display;
#define WHITE 0xffff
#define BLACK 0x0000
void setup() {
display.begin();
display.fillScreen(WHITE);
display.drawTriangle(100, 200, 300, 400, 300, 600, BLACK);
display.drawCircle(100, 100, 50, BLACK);
display.drawRect(10, 650, 300, 80, BLACK);
display.drawRoundRect(300, 50, 100, 100, 30, BLACK);
}
void loop() {}
Were you able to resolve this? If so what was the problem and fix?
My Gig Display is having very similar problems. I can see the backlight change using the demo, and other code seems to upload OK. But nothing shows up on the screen anymore, used to work OK.
No, sadly I was not able to fix the issue. Even after buying a new screen (which I thankfully was able to return), I wasn't able to display the right colors.
I just assumed that one of the pins connecting board and screen is broken.
My guess is that this happened because i...
1)... took the screen of the board multiple times.
2)... connected\disconnected the screen while the whole thing was powered.
Since this only seems to affect the connecting pins between board and screen, some other functions still work.
Sorry that I couldn't help.
I posted back in April regarding a screen that was not working properly and turned out it was the GIGA R1 board. Upon requesting replacement screen, was sent a replacement board instead. It solved the problem. Not what I was expecting. Someone on the A-Team has an idea what is going on here to figure out that the screens may not be the issue.
Just my two pfennigs.
I purchased 2 of the bundles. The display board and the giga R1. 1 of them did this exact thing. The display turned this chartreuse color if you want to call it. Not yellow, but not green. Like a mix. The whole screen did this. I'm working with tech support and am running lots of Sketches they send me and reporting the results. I know for a fact it's the Giga R1 board and NOT the display. I have my other board and display running the exact same code I was using when it "failed". And NO I never connected the board to the display backwards like a lot of folks did. Thats why those spacers are on the board to prevent the board from being connected backwards/upside down.
And let me say. It's not really a failure. If you do a display.fillScreen(BLACK);. At least you can use the display. The only thing I have found is that all the "text" ,"lines", etc. are that greenish color.
Arduino support has asked me for my serial number of my board and for the receipt from Arduino. I suspect they will just replace the board for me
Best of luck to all you
display.fillScreen(BLACK);
try this. It worked for mine. Wasn't a complete fix. But allowed me to use the board
and of course change the color in the tri, rec, circle
Its my work around
#include "Arduino_GigaDisplay_GFX.h"
GigaDisplay_GFX display;
#define BLACK 0x0000
#define WHITE 0xFFFF
#define RED 0xF800
#define GREEN 0x07E0
#define BLUE 0x001F
#define YELLOW 0xFFE0
#define ORANGE 0xFBC0
#define PURPLE 0xF0F0
#define screen_size_x 480
#define screen_size_y 800
void setup() {
display.begin();
display.fillScreen(BLACK);
display.drawTriangle(100, 200, 300, 400, 300, 600, RED);
display.drawCircle(100, 100, 50, RED);
display.drawRect(10, 650, 300, 80, RED);
display.drawRoundRect(300, 50, 100, 100, 30, RED);
}
void loop()
{
}
This wont fix the screen issue. But it did allow me to use it again.
Hope you got your board replaced. The replacement board I received last April (original board Dec 23) has been OK since received, just running a bedside clock thing.
Back some time ago I was curious if applying some sort of "spectrum-wide" color correction could be applied to the RGB565 value before displaying. If thinking a "+3 CYAN" would correct back to WHITE, how would that be added to RBG565 values?