If you’ve gone through the “Dry Run” page, you already know how the basics work.

To reiterate: install either the nRF UART app (available for both Android and iOS) or the Adafruit Bluetooth LE Connect app (iOS only) on a late-model phone or tablet that supports Bluetooth LE.

The status LED on the Arduino board will flash quickly while it awaits a Bluetooth connection. Running one of the above apps on your phone or tablet, select “Connect” or “UART Monitor.” Once a connection has been established, the LED on the Arduino will flash slowly.

Type some text (up to 20 characters maximum) and press “Send” to update the scrolling message.

With seven rows of LEDs, certain lowercase letters like ‘j’ or ‘g’ get clipped. Messages tend to look better typed in ALL CAPS.

To change the text color, type a number sign (#) followed by a hexadecimal color value; each digit is in the range 0-F (where A-F equal 10-15). If you’re familiar with HTML color values, it’s essentially the same format, e.g.:
Download: file
#00ffff
…will set the text color to cyan.

You can also use three-digit hexadecimal color values. This has a smaller available palette, but the color fidelity of this project is limited anyway (more on that below).

Some common colors include:
Download: file
#f00    Red
#0f0    Green
#00f    Blue
#ff0    Yellow (Red + Green)
#0ff    Cyan (Green + Blue)
#f0f    Magenta (Red + Blue)
#fff    White (Red + Green + Blue)

Sometimes I enter a slightly different color value and it looks the same. Other times, the text disappears.

Because we’re trying to run a ton of NeoPixels off a fairly small battery supply, the Guggenhat sketch limits the maximum LED brightness (32 levels rather than 256), reducing the available palette. This is compounded by the NeoMatrix library, which uses a gamma-corrected 16-bit colorspace. Between these two, many color values end up falling into the same bins…and values below a certain threshold simply round down to zero. You’ll do best sticking to bright primary and secondary colors, not nuanced tones.

How long will the batteries last?

This depends on many factors…the choice of colors and messages, and the type of battery.

Primary colors (red, green, blue) will use less power, since only a single color within each RGB pixel is lit. White uses the most power; red, green and blue must all combine for this color.

I’ve successfully run the hat for over four hours using incredibly crappy dollar-store AA cells.

The message will freeze (not turn off) as the batteries approach depletion. This is the Arduino locking up as the voltage dips too low. It’s not harmful, just time to change the batteries.
This guide was first published on May 01, 2014. It was last updated on May 01, 2014. This page (Use It!) was last updated on Jul 15, 2019.