The seesaw has built in NeoPixel support for up to 170 RGB or 127 RGBW pixels. The output pin as well as the communication protocol frequency are configurable. Note: older firmware is limited to 63 pixels max.

The module base register address for the NeoPixel module is 0x0E.

Function Registers

Register Address

Register Name

Register Size

Notes

0x01

PIN

8 bits

Write Only

0x02

SPEED

8 bits

Write Only

0x03

BUF_LENGTH

16 bits

Write Only

0x04

BUF

32 bytes

Write Only

0x05

SHOW

none

Write Only

PIN (0x01, 8bits, Write Only)

This register sets the pin number (PORTA) that is used for the NeoPixel output.

SPEED (0x02, 8bits, Write Only)

The protocol speed.

0x00 = 400khz

0x01 = 800khz (default)

BUF_LENGTH (0x03, 16bits LE, Write Only)

the number of bytes currently used for the pixel array. This is dependent on when the pixels you are using are RGB or RGBW. 2 Bytes, little endian order

BUF (0x04, 32 bytes, Write Only)

The data buffer. The first 2 bytes are the start address, and the data to write follows. Data should be written in blocks of maximum size 30 bytes at a time.

Bytes 0 - 1

Bytes 2 - 32

Start address

Data

SHOW (0x05, no args, Write Only)

Sending the SHOW command will cause the output to update. There's no arguments/data after the command

This guide was first published on Nov 01, 2017. It was last updated on Sep 19, 2023.

This page (NeoPixel) was last updated on Sep 19, 2023.

Text editor powered by tinymce.