Close
0%
0%

thingSoC NEOLED Driver

The TSOC_NEOLED is a WS2812 (a.k.a Adafruit NeoPixel) driver using programmable logic for fast updates

Similar projects worth following
Driving an array of WS2812 LEDs is not all that difficult, however, it can present problems for some platforms, like the Raspberry PI, Beaglebone, or the Edison; and it can also create timing problems in your projects, if for example, you are doing several real-time tasks like audio or motion control in addition to controlling the LEDs.

We decided to make it very simple (and inexpensive) for people to drive arrays of WS2812 LEDs using the Cypress PSoC, configured as an I2C (or SPI) memory device. That way, all the specific real-time timing problems of driving WS2812 LEDs are eliminated, and you simply access the LEDs as you would a standard memory device.

The TSOC_NEOLED driver board incorporates a Cypress PSoC4 device with a 74HCT245 driver chip to support longer wires for your LED arrays. The same firmware project can be loaded in any Cypress CY8CKIT-049 prototyping board as well.

TSOC_NEOLED - LED Driver Embedded Module :

The TSOC_NEOLED connects any thingSoC (or Mikrobus) module to strings of programmable color LEDs. To the "Host" the TSOC_NEOLED appears to be a static memory of 2048 bytes, either I2C bus access (default), or SPI bus access for higher reads/write performance. Each color LED uses four (4) bytes of the memory as a 32 bit (eight bits each Green, Red, Blue, White/Yellow) word. The memory is organized as eight(8) strings of sixty-four(64) LEDs per string, by default. Other geometries can be programmed as well.TSOC_NEOLED Model

;-) Tom

If you find this project useful, please consider supporting our Crowd Funding campaign at
http://bit.ly/2kkKddJ

we could really use your help and support - thanks!


@PatternAgents

  • 1 × Arduino
  • 1 × WS2812
  • 1 × thingSoC

  • 1
    Step 1

    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

View all instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates