The behavior of the RGB LED in the CubeCell V2.2 seems to be faulty. I observed that calling the show() function turns the green part of the LED on, although the value of the getPixelColor(0) doesn’t reflect it.
To show this, I modified the RGB example:
#include “CubeCell_NeoPixel.h”
CubeCell_NeoPixel pixels(1, RGB, NEO_GRB + NEO_KHZ800);
void setup() {
// put your setup code here, to run once:
pinMode(Vext,OUTPUT);
digitalWrite(Vext,LOW); //SET POWER
pixels.begin(); // INITIALIZE NeoPixel strip object (REQUIRED)
pixels.clear(); // Set all pixel colors to 'off'
}
uint8_t i=0;
void loop() {
// put your main code here, to run repeatedly:
pixels.setPixelColor(0, pixels.Color(1, 0, 0));
pixels.show(); // Send the updated pixel colors to the hardware.
delay(100); // Pause before next pass through loop
pixels.setPixelColor(0, pixels.Color(0, 1, 0));
pixels.show(); // Send the updated pixel colors to the hardware.
delay(100); // Pause before next pass through loop
pixels.setPixelColor(0, pixels.Color(0, 0, 1));
pixels.show(); // Send the updated pixel colors to the hardware.
delay(100); // Pause before next pass through loop
i+=10;
}
This should cycle the channels at a low brightness. However, green flashes can be observed:
https://www.youtube.com/watch?v=1UpJDWJ2uMM
I tested this in two different devices (same revision), and seems consistent. It also happens when I set the color to 0.
This is a bummer, since I need the RGB for my specific application, and this board seemed to be very promising.
Edit:
Found http://community.heltec.cn/t/htcc-ab01-v2-color-problem/13476/7 , which seems to indicate it’s a widespread problem.