Pixie Chroma

Chainable RGB LED-matrix displays for Arduino

Dec 20, 2021

Project update 3 of 4

New Features and Future Updates

Breadboard version of project

Welcome back! This is our second update during the campaign, and one to say the Pixie Chroma Arduino Library is nearing completion!

Because of this, the final features we’ve added for v1.0 are detailed below, and further updates will begin to resemble an educational series on how to get started with Pixies and fun things to use them with! Each of these "Tutorial" updates will also have current information and news regarding our hardware production when the campaign ends!

Alright, on to a few new tricks your Pixie Chromas learned this week!

SCROLLING

(Dev Note: You may be surprised to learn this wasn’t added yet! I had it working before Shortcodes were added, but the technique I used at the time was difficult to adapt as-is, so scrolling was rewritten.)

Pixie Chroma can use dead-space outside of the display to build scrolling images, similar to an old NES! The next character to appear is rendered in an extra space outside of the displays and is then shifted into view!

Like original Pixies, there are three types of scrolling:

SMOOTH is a constant scroll, moving single pixels at a time.

SHIFT is similar to a SMOOTH scroll, but the text will momentarily "snap" into place for a moment at each display.

INSTANT doesn’t scroll at the pixel level, but instead by entire displays!

To use scrolling, only two functions are needed:

// Accepts SMOOTH, SHIFT, or INSTANT. (Default SMOOTH) Best used in setup();
pix.set_scroll_type( t_scroll_type type );

// Begins a blocking scroll of the message requested
pix.scroll_message( char* message );

TEXT JUSTIFICATION

Getting fancy now! You can even decide how text is automatically aligned on each show() call! Pixie Chroma will center or otherwise align text however you’d like!

pix.set_justification( t_justification justification, int16_t row = -1 )

justification can be LEFT, RIGHT, or CENTER. (Default LEFT)

row is which row of the display these rules will apply on, or all rows if not specified.

set_justification() is best used in setup().

(You’d be correct in saying that strings with odd number lengths can’t be perfectly centered. When an odd-length string is processed, it biases one character to the left.)

INLINE PRINT COLORING

Yet another color tool at your disposal, you can preselect what color following print() calls will render in! This is particularly useful for displays that mix specific colors in a single line, such as a stock ticker:

pix.clear(); // ...................... Clear the display buffer

pix.print_color( CRGB::White ); // ... Set the printing color to white
pix.print("AAPL: "); // .............. Print Apple's NYSE stock name

pix.print_color( CRGB::Green ); // ... Set the printing color to green (or red, if our price fell!)
pix.print(174.33); // ................ Print the floating-point value of the stock
pix.print(" [:ARROW_UP:]"); // ....... Print an "up arrow" icon with a Shortcode

pix.show(); // ....................... Send the updated image to the displays!

Our result would appear like this:

Inline coloring demo

TEENSY 3.x SUPPORT

Inline coloring demo on teensy

What can I say, it works! The only specific difference for Teensy users are the hardcoded Quad Mode pins:

NEXT TIME

As always, Chroma’s new code is 100% documented and open.

Our code is easy to use because no one has used Pixies more than we have. We’ve suffered through compilation errors and dead LEDs. We’ve built hundreds of past Pixies, and so far we’re going to need hundreds of Chromas as well. We’ve found all the best shortcuts for quick customization and simple code - so whether you’re a beginner or a pro, Pixie Chroma is exactly as complex as you need it to be. (We’ve never been prouder of a product than this!)

In our next update, we’ll discuss what your first Chromas will be like upon delivery and how we snuck bitmap data into short bits of text you can use!

Screenshot showing shortcode examples

Thank you all for the lovely and continued support. This campaign is going above and beyond our hopes and so has your help!


Sign up to receive future updates for Pixie Chroma.

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects