- Obecnie brak na stanie
Headerless ShiftBrite V2.0
The ShiftBrite V2.0 is an RGB LED module with a built-in driver featuring 10-bit digital brightness control on each color channel (over one billion colors). Multiple modules can easily be chained together and controlled from a single microcontroller to create large LED displays. This version has several improvements over the original ShiftBrite, including mounting holes and better power handling. This configuration comes with no header pins.
![]() |
| A ShiftBrite RGB LED module can display over one billion different colors. |
|---|
![]() |
ShiftBrites are modules by macetech that integrate the Allegro A6281 3-channel constant current LED driver with a large, high-brightness RGB LED. Using just three digital output pins and a simple protocol, your microcontroller can control a long chain of these modules. Each ShiftBrite in the chain can be independently changed to any of the 1,073,741,824 possible colors to create dynamic displays and decorations. Adjustable current for each color channel lets you correct for slight differences in brightness. In addition, the LED driver is protected from overheating by automatic over-temperature shutdown.
The ShiftBrite V2.0 is a redesigned version of the original ShiftBrite that offers the following key improvements:
The ShiftBrite V2.0 comes in two configurations: one with male header pins and one without male header pins. The pin spacing is 0.1", making ShiftBrites compatible with breadboards and perfboards. Our custom six-conductor cables, available in lengths of 6" and 12" and 24", can also be used to easily chain together multiple modules.
The original ShiftBrite and new ShiftBrite V2.0 are pin-compatible and have the same basic functionality, so a mix of original and new ShiftBrites can be chained together on the same strand. Please note that several of the pictures, diagrams, and videos on this page show the original ShiftBrites (with green solder masks); the V2.0 model has a larger PCB with a black solder mask as shown in the main product picture.
Several ShiftBrite applications are shown below, including an example setup using a Micro Maestro as a ShiftBrite controller. In the Micro Maestro example, digital outputs 0, 1 and 2 are used to send the control signals to the clock, latch, and data lines, the enable line is connected directly to GND, and 6 V power to the Maestro is delivered from the ShiftBrite chain. Maestro source code to control a ShiftBrite is available in the Example Scripts section of the Maestro User’s Guide. Our Orangutan robot controllers can also be used to control ShiftBrites, as can the Arduino. Source code for the Orangutan is available at the bottom of this page.
|
|
Since ShiftBrites are controlled by Allegro’s A6281 LED driver, careful reading of the A6281’s datasheet (315k pdf) is recommended. Each ShiftBrite input is buffered and output on the corresponding output pin. This allows you to chain together ShiftBrites without increasing the number of IO pins dedicated to controlling the modules. The picture below shows three ShiftBrites chained together.
![]() |
| Three ShiftBrites chained together. |
|---|
Our 6", 12", and 24" cables for ShiftBrites make it easy to connect multiple modules, as shown below.
|
|
You can make your own shorter cables with our 3" wires with pre-crimped terminals and our 0.1" 6×1 crimp connector housings.
![]() |
| Pinout diagram for the ShiftBrite module. |
|---|
Each ShiftBrite has a 32-bit shift register. When a rising edge is detected at the clock in pin (CI), the data in pin (DI) value is shifted onto the first bit of the shift register, and the last bit sets the value of the data out pin (DO). After you have loaded a 32-bit packet into the shift register of each ShiftBrite in the chain, bringing the latch in pin (LI) from low to high causes the data to take effect (changing the color or updating a configuration setting). LI must be brought low again before clocking in additional data.
The data packet format is shown in the picture below. For more details about the data packet format, as well as timing and other electrical parameters, see the A6281 datasheet (315k pdf). You can find further documentation and Arduino sample code at macetech’s ShiftBrite documentation page.
![]() |
| ShiftBrite packet diagram. The second row shows a color packet, while the third row shows a command packet. |
|---|
To send data to the ShiftBrite, you need to use at least three digital I/O pins (four if you want to use the EI pin). Our Orangutan robot controllers work well for this. Here is some sample code for setting the colors of a chain of ShiftBrites using bit banging on the AVR. The chain can be arbitrarily long, but the changing color pattern will repeat on every sixth module.
// ShiftBrite communication for the AVR using bit banging.
//
// Pin Assignments (any four free digital I/O pins will do)
//
// Data PC2
// Latch PC3
// Enable PC4
// Clock PC5
//
// Feel free to modify and use this code for your AVR.
#include <avr/io.h>
typedef union ShiftBritePacket
{
unsigned long value;
struct
{
unsigned greenDotCorrect:7;
unsigned clockMode:2;
unsigned :1;
unsigned redDotCorrect:7;
unsigned :3;
unsigned blueDotCorrect:7;
};
struct
{
unsigned green:10;
unsigned red:10;
unsigned blue:10;
unsigned command:1;
};
} ShiftBritePacket;
// colorPacket returns a ShiftBritePacket for setting color brightnesses
//
// red, green, and blue are brightness values from 0 to 1023. 0 is off, and
// 1023 is brightest.
ShiftBritePacket colorPacket(unsigned int red, unsigned int green, unsigned int blue)
{
//Make a packet and initialize all of the bits to zero.
ShiftBritePacket shiftbrite_packet = {value:0};
shiftbrite_packet.red = red;
shiftbrite_packet.green = green;
shiftbrite_packet.blue = blue;
return shiftbrite_packet;
}
// commandPacket returns a ShiftBritePacket for sending commands to the A6281.
//
// redDotCorrect, greenDotCorrect, and blueDotCorrect lets you control what
// percentage of current is flowing to each color diode.
// Refer to page 8 of the datasheet for more information.
// clockMode lets you set the PWM frequency for the diodes.
// Refer to page 7 of the datasheet for more information.
ShiftBritePacket commandPacket(unsigned int redDotCorrect, unsigned int greenDotCorrect,
unsigned int blueDotCorrect, unsigned char clockMode)
{
//Make a packet and initialize all of the bits to zero.
ShiftBritePacket shiftbrite_packet = {value:0};
shiftbrite_packet.redDotCorrect = redDotCorrect;
shiftbrite_packet.greenDotCorrect = greenDotCorrect;
shiftbrite_packet.blueDotCorrect = blueDotCorrect;
shiftbrite_packet.clockMode = clockMode;
shiftbrite_packet.command = 1;
return shiftbrite_packet;
}
void sendPacket(ShiftBritePacket shiftbrite_packet)
{
for(int i = 1; i < 32 + 1; i++)
{
//Set the appropriate Data In value according to the packet.
if ((shiftbrite_packet.value >> (32 - i)) & 1)
PORTC |= (1 << PORTC2);
else
PORTC &= ~(1 << PORTC2);
//Toggle the clock bit twice.
PORTC ^= (1 << PORTC5);
PORTC ^= (1 << PORTC5);
}
}
void latch()
{
// Set Latch high
PORTC |= (1 << PORTC3);
// Set Latch low
PORTC &= ~(1 << PORTC3);
}
void sendColorWheelPacket(unsigned int location_on_wheel)
{
if (location_on_wheel < 400)
sendPacket(colorPacket(400,(location_on_wheel % 400),0));
else if (location_on_wheel < 800)
sendPacket(colorPacket(400-(location_on_wheel % 400),400,0));
else if (location_on_wheel < 1200)
sendPacket(colorPacket(0,400,(location_on_wheel % 400)));
else if (location_on_wheel < 1600)
sendPacket(colorPacket(0,400-(location_on_wheel % 400),400));
else if (location_on_wheel < 2000)
sendPacket(colorPacket((location_on_wheel % 400),0,400));
else if (location_on_wheel < 2400)
sendPacket(colorPacket(400,0,400-(location_on_wheel % 400)));
}
int main() {
// Set all to outputs.
DDRC |= (1 << PORTC2); // Data In
DDRC |= (1 << PORTC3); // Latch
DDRC |= (1 << PORTC4); // Enable
DDRC |= (1 << PORTC5); // Clock
// Set the Enable output low to enable the ShiftBrites.
PORTC &= ~(1 << PORTC4);
//Have the ShiftBrites change from red to yellow to green to cyan to blue
//to purple and back to red.
while(1)
{
for (int i = 0; i < 2400; i++)
{
sendColorWheelPacket(i);
sendColorWheelPacket((i+400) % 2400);
sendColorWheelPacket((i+800) % 2400);
sendColorWheelPacket((i+1200) % 2400);
sendColorWheelPacket((i+1600) % 2400);
sendColorWheelPacket((i+2000) % 2400);
latch();
}
}
//Loop forever
while(1);
}
![]() |
Mini Maestro 12-Channel USB Servo Controller (Assembled) |
Producent BTC Korporacja sp. z o. o. Lwowska 5 05-120 Legionowo Polska sprzedaz@kamami.pl 22 767 36 20
Osoba odpowiedzialna BTC Korporacja sp. z o. o. Lwowska 5 05-120 Legionowo Polska sprzedaz@kamami.pl 22 767 36 20
Mechaniczny Teatr UGears to drewniany model z ruchomymi elementami, który oferuje nie tylko radość z samodzielnego składania, ale również możliwość kreowania i obserwowania własnych bajkowych historii za pomocą obrotowego mechanizmu. UGears 70002
Brak towaru
Sejf UGears to kreatywna zabawka i model mechaniczny z działającym zamkiem szyfrowym, oferująca wyjątkowe doświadczenie konstrukcyjne oraz intelektualną rozrywkę w odkrywaniu tajemnic bezpiecznego skrywania przedmiotów wartościowych. UGears 70011
Brak towaru
Cysterna od UGears to nie tylko model mechaniczny, ale także fascynująca przygoda z inżynierią, która może ozdobić każde wnętrze i przynieść radość z konstrukcji zarówno młodszym, jak i starszym hobbystom. UGears 70021
Brak towaru
Model drewnianej lokomotywy UGears 70012 z tendrem to nie tylko zachwycający element kolekcjonerski, ale także doskonała okazja do zrozumienia i docenienia inżynierii XIX wieku, co sprawia, że jest idealnym prezentem dla miłośników modelarstwa i historii techniki. UGears 70012
Brak towaru
Ciężarówka UGM-11 od UGears to nie tylko model do złożenia, ale także naukowa zabawka, która z pewnością dostarczy godziny satysfakcjonującej zabawy i pozwoli na zrozumienie mechaniki pojazdów. UGears 70015
Brak towaru
UGears Linia Tramwajowa to nie tylko model, ale prawdziwa przygoda w świecie mechaniki i inżynierii. Z jego pomocą możesz zanurzyć się w niesamowicie realistyczny i detaliczny świat miejskiego transportu. Idealny zarówno dla początkujących, jak i zaawansowanych miłośników modelarstwa. UGears 70028
Brak towaru
UGears Straż Pożarna to zaawansowany i funkcjonalny model mechaniczny, który z pewnością dostarczy wiele godzin satysfakcji zarówno podczas montażu, jak i późniejszej zabawy czy prezentacji jako dekoracja wnętrza. UGears 70022
Brak towaru
Model minutnika jest jednym z najpiękniejszych modeli mechanicznych UGEARS. To wyjątkowe urządzenie mechaniczne, które można ustawić na dowolny czas od 1 do 20 minut. Po nakręceniu zegara i nastawieniu żądanego czasu do 20 minut - mechanizm powoli odmierza czas. Kiedy wybrany czas już minie, usłyszysz charakterystyczny dźwięk. UGears 70004
Brak towaru
UGears Pozytywka-Kwiat to więcej niż tylko etui. To wyjątkowy, mechaniczny model, który łączy w sobie piękno, funkcjonalność i kunszt rzemieślniczy, stanowiąc doskonały prezent dla bliskiej osoby. UGears 70019
Brak towaru
Oto magiczny schowek lub etui, które wniesie szczyptę mechanizacyjnej magii do Twojego biura lub domu. Etui może służyć jako ruchomy wizytownik, schowek na karty kredytowe lub miejsce, gdzie przechowuje się drobne, często znikające gdzieś drobiazgi. Ten model 3D jest wykonany ze sklejki o wysokiej jakości, sprawdzonej przez europejskie laboratoria. UGears 70001
Brak towaru
UGears Roadster VM-01 to nie tylko wysokiej jakości model mechaniczny do samodzielnego składania, ale również prawdziwa ozdoba i edukacyjna przygoda, która pozwala na praktyczne zrozumienie mechaniki, jednocześnie będąc doskonałym elementem dekoracyjnym każdego wnętrza. UGears 70052
Brak towaru
Puzzle 3D "Motocykl VM-02" to elegancki, realistyczny model do samodzielnego montażu, wykonany z wysokiej jakości sklejki, z potężnym silnikiem na gumę i szczegółowym wzornictwem, który stanowi doskonały prezent i atrakcyjną ozdobę wnętrza, a jednocześnie umożliwia obserwację mechaniki w akcji. UGears 70051
Brak towaru
UGears Sześcian Sferyczny Flexi-Cubus to znakomite połączenie łamigłówki i antystresu. Jego zaawansowana konstrukcja i wysoka jakość wykonania sprawiają, że jest to nie tylko interesujący model do złożenia, ale również efektywne narzędzie do poprawy koncentracji i redukcji stresu. Idealny dla osób w każdym wieku, które chcą się zrelaksować i jednocześnie pobudzić swoją kreatywność. UGears 70049
Brak towaru
Wolf-01 od Ugears to nie tylko model do składania, ale pełnoprawna, mechaniczna zabawka, która zapewni godziny ekscytującej, ale bezpiecznej zabawy. Z jego pomocą możesz urządzić prawdziwe strzeleckie mistrzostwa w gronie rodziny i przyjaciół, ciesząc się jednocześnie wysoką jakością i funkcjonalnością. UGears 70047
Brak towaru
Lira Korbowa od Ugears to nie tylko model do złożenia, ale pełnoprawny instrument muzyczny, który łączy w sobie piękno średniowiecznego rzemiosła z nowoczesnymi technologiami. Dzięki niemu możesz poczuć się jak prawdziwy lutnik i artysta, ciesząc się nie tylko procesem składania, ale i możliwością grania na wyjątkowym instrumencie. UGears 70030
Brak towaru
Mechaniczna Skrzynia Skarbów od Ugears to znacznie więcej niż zwykły model do złożenia. To piękna i funkcjonalna skrzynia, która jest również zagadką mechaniczną. Idealna do przechowywania cennych przedmiotów, stanowi wyjątkowy i oryginalny prezent, który z pewnością zaskoczy i zafascynuje. UGears 70031
Brak towaru
Headerless ShiftBrite V2.0