thingSoC NEOLED/WS2812 Driver (Eight to Sixteen Strings of LEDs)
Eagle
Pull request Compare This branch is 1 commit behind thingSoC:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
TSOC_NEOLED
examples/TSOC_NEOLED_I2C
tutorials
.gitignore
LICENSE
README.md
library.properties

README.md

TSOC_NEOLED

TSOC_NEOLED is a Eight-Channel WS2812 LED driver expansion board, and can drive eight (8) to sixteen(16) strips of individually addressable Light Emitting Diodes (LEDs).

TSOC_NEOLED uses a programmable system on chip (PSoC4) with an eight (8) channel driver to drive hundreds of WS2812 Color LED's, with a default arrangement of 8 (eight strings) of sixty-four(64) LEDs each.

The TSOC_NEOLED can provide several different intefaces in order to make interfacing large numbers of LEDs easy. The default protocol is an I2C interface :

1) I2C Serial DMX-512, Memory Mapped (TSOC_NEOLED looks like a 2048 byte I2C SRAM)

Other Interface protocols are possible (Firmware update using FTDI/USB-UART or JTAG) :

  • UART Serial DMX-512 (200K Baud, N, 8, 1) with four DMX universes.

  • SPI Serial DMX-512, Memory Mapped (TSOC_NEOLED looks like a 2048 byte SPI SRAM)

thingSoC TSOC_NEOLEDTSOC_NEOLED

thingSoC Reference Designs are example thingSoC implementations that implement various reference and testing circuits for demonstrating the use of the thingSoC libraries. These reference designs can serve as starting templates for user designs.


TSOC_NEOLED Application Pictures

Using the TSOC_NEOLED to drive eight(8) strings of color LEDs for lighting our tandem bike for Portland PedalPolooza 2016

thingSoC TSOC_NEOLEDTSOC_NEOLED


TSOC_NEOLED Arduino Sketch Examples

Under the "examples" directory are several Arduino IDE examples for using the TSOC_NEOLED board with Arduino IDE. Using the Arduino "Wire" library for I2C communications, it is simple to control the TSOC_NEOLED

  // Start the Arduino I2C Interface
  wire.begin();


  // Turn the first LED On (i.e. green LED #1) 
  // the LED's are (GRBY) color order in memory
  byte row, column = 0;
  Wire.beginTransmission(TSOC_NEOLED_I2CADDRESS);  // Start the I2C transaction
  Wire.write(row);                                 // Send the high byte of 16 bit memory address
  Wire.write(column);                              // Send the low byte of 16 bit memory address
  Wire.write(TSOC_NEOLED_LED_ON);                  // Send a single data byte  (we could send more...)
  Wire.endTransmission();                          // End the I2C transaction

  // Turn the first LED Off (i.e. green LED #1) 
  // the LED's are (GRBY) color order in memory
  Wire.beginTransmission(TSOC_NEOLED_I2CADDRESS);  // Start the I2C transaction
  Wire.write(row);                                 // Send the high byte of 16 bit memory address
  Wire.write(column);                              // Send the low byte of 16 bit memory address
  Wire.write(TSOC_NEOLED_LED_OFF);                  // Send a single data byte  (we could send more...)
  Wire.endTransmission();                          // End the I2C transaction


TSOC_NEOLED Programming

You can reprogram the board using any FTDI compatible USB to UART adapter :

thingSoC TSOC_NEOLEDTSOC_NEOLED with FTDI basic

thingSoC TSOC_NEOLEDTSOC_NEOLED with TSOC_USBUART2

thingSoC TSOC_NEOLEDTSOC_NEOLED with TSOC_USBUART2

In order to reprogram the Cypress PSoC4 device, you will need to download and install the PSoC Creator tool, which includes a serial bootloader host application.

Select Tools -> Bootloader Host

Then select the hex (cyacd) file that you wish to program, and the COM: port of your device. Proess the "Upload" button to reflash teh device.

thingSoC TSOC_NEOLEDPSoC Creator Bootloader Host


Other Applications

The TSOC_NEOLED can also drive other devices, such as Servos, Motors, Realys and more. This requires custom firmware at the current time.

thingSoC TSOC_NEOLEDTSOC_NEOLED with Servo


TSOC_NEOLED Status

04/28/2016: Revision 1.1 - Initial Layout with Eight(8) channel driver.

06/27/2016: Revision 1.2 - Added extra power connections for higher current support.

07/26/2016: Revision 2.0 -

           Moved extra jumpers to the Digital Programming Connector (i.e. boot-mode control).

           Added SAR Bypass capactitors in their place.  

           Misc Silkscreen clean up.  

           Add Fiducials and DFM cleanup.

TSOC_NEOLED Model Images

thingSoC TSOC_NEOLEDTSOC_NEOLED

thingSoC TSOC_NEOLEDTSOC_NEOLED


TSOC_NEOLED Documentation Index

TSOC_NEOLED Project

TSOC_NEOLED Hardware


thingSoC Documentation Index

thingSoC Organization Website

thingSoC FAQ - Frequently Asked Questions


thingSoC thingSoC