Share this project

Done

Share this project

Done
KromaLights: FPGA based LED controller and LED panels's video poster
Play

Open application FPGA based LED controller and modular full color LED panels. Read more

12
backers
$2,397
pledged of $35,000 goal

Funding Canceled

Funding for this project was canceled by the project creator on March 22, 2014.

Open application FPGA based LED controller and modular full color LED panels.

KromaLights
Project by

KromaLights

First created  |  0 backed

See full bio Contact me

About this project

Introduction

KromaLights recently became involved in a project that used the popular Worldsemi WS2812B RGB LED. While researching the web for an LED controller for this LED, we noticed that most of the solutions involved programming a development board such as the Teensy or one of the Arduino boards.

Right off the bat we realized these solutions work, but they aren't easy to use.These controller solutions drive the LEDs with either I/O bit-banging or forcing an SPI interface into generating an NZR data stream that is required for the LED. To put it simply, the CPU could spend most of its processing power generating the LED drive signal.

We also researched the available LED panels on the market and found some improvements we could make there as well.

We were determined to create a better solution.

Project Description

One great solution is to use an FPGA to generate the complex LED NZR data stream. Using an FPGA also off-loads the CPU so it can concentrate on other tasks. Our team includes a hardware engineer with many years of FPGA experience making this a very exciting project to work on.

We developed a multi-function microcontroller board based on the same 32-bit ARM CPU used on the Arduino DUO board and coupled it with an Xilinx Spartan6 FPGA. Combining both these devices into a single board created a very powerful, easy to use LED controller. We also added hardware support for audio input allowing the LEDs to be synchronized to music or other audio sources, an optional Bluetooth module and Arduino shield connectors for limited shield compatibility with existing shield boards on the market.

Our innovative product was born, and we named it Khon.

Finally, we had a hardware package that could both simplify the process and remove the hardware limitations of the CPU. Khon can control over 16,000 LEDs with a full 30 Hz update rate.

Khon Lite
Khon Lite

But we didn't stop there.

The last piece was to simplify the programming interface of Khon so you didn't need an advanced degree in hardware or software engineering to program the controller. The KromaLights Designer Studio came together quickly and exhibits a full stack of features including drag-and-drop panels which make even complex lighting designs very easy to program.

We did our research and tried to develop something that everyone could use from advanced programming of animations to small children wanting to paint a picture that glows from their dresser at night. Talk about a nightlight!

All of our application source code will be available on GitHub, Our hope is that the LED lighting community will adopt Khon and the KromaLights Designer and it will grow through the contributions of our peers into more than we could have dreamed. With an open source platform, that dream is very obtainable and we can all benefit and share in the improvements of others.

KromaLight LED Panels  

One limitation we noticed with existing LED panels was the ability to easily create different sized shapes and designs. Kroma64 is a 3" square board with 64 RGB LEDs arranged in an 8 x 8 pattern. The Kroma256 is a 6" square board with 256 LEDs in a 16 X 16 pattern. Both KromaLights panels feature a 3/8" dot pitch.

Our panels are interchangeable and attach together simply using a Phillips screw driver. In fact, you would use a combination of Kroma64 and Kroma256 panels to build many different odd shapes. The connectors necessary to attach to another panel come standard with each Krom64 and Kroma256 panel. Power and control signals can be transferred to adjacent panels with the included connectors reducing the amount of wiring necessary.

Another limitation of existing solutions on the market is the necessity of the controller to be physically near the LED panels. We incorporated RS-422 receivers into each of our Kroma64 and Kroma256 panels allowing drive distances of up to 100 meters when using the available KromaBreakout board.

During our prototyping phase we noticed that the WS2812B LEDs have a susceptibility to electrostatic discharge. As a result, we have also included ESD input protection on each Kroma64 and Kroma256 panels improving our product's reliability over others available in the market.

The Future of KromaLights

This has been a very rewarding project. In the short time since we built the first prototype, we have come up with many different ideas using this powerful hardware combined with easy to use software. Some of those ideas include pixel art, picture light sticks, animations, marquees, holiday displays, night lights, and overhead starlight simulations and of course all of these can be synchronized to music or other sound sources.

With your help, we are very excited about the possibility of bringing these products to market.


Hardware Specifications

Khon Controller

CPU:  Atmel --  ATSAM3X8EA

  • 32-bit ARM Cortex-M3 running @ 84 MHz
  • 512 KB FLASH
  • 96 KB SRAM
  • DMA controller
  • Static Memory Controller  (used for FPGA interface, 16 bit bus)
  • 12 bit ADC, 16 total inputs, 4 used for audio input, 4 available
  • 12 bit DAC, 2 total outputs, both used for stereo audio output
  • Crystal controlled clocks, CPU and 32 KHz real-time clock

FPGA:  Xilinx Spartan6  -- XC6SLX9

  • 9,152 Logic cells, 1,430 logic slices
  • 576 Kb block ram
  • 16 I/O signals + LVDS RX/TX for multi-controller synchronization
  • SDRAM interface (8 bit parallel)
  • SD microCard Interface
  • 2 Clock management blocks, DCM/PLL
  • 16 DSP slices

FPGA Memory (Khon Plus) :  

  • 256 Mbit SDRAM  -- 32 x 8 (133 MHz) TSOPII 54 pin

SD Micro Memory Card slot: 

  • 1 - 32 GB storage capacity

I/O:

  • USB: High speed 2.0
  • MicroSD Card Interface
  • FPGA LED Drivers: 16 channel bi-directional high-speed digital buffers (can be strapped for either 5.0 or 3.3 volt signals)
  • LVDS input/output supports multi-Khon configurations
  • Limited Arduino Shield compatibility (12 GPIO, 4 Analog, ICSP)
  • PCB connector pads for the TI CC3000EM WiFi module

 Additional connectors:

  •  (1x3) USART RX/TX 
  •  (1x2) CAN RX/TX
Audio: (Khon Plus)
  • Stereo In: 2.5 mm pin jack
  • Stereo Out: 2.5 mm pin jack
  • Microphone In: 2.5 mm pin jack, MAX9814 AGC Mic Amp IC             
  • Software controlled input volume control
  • Stereo MSGEQ7 Seven Band Graphic Equalizer ICs for music synchronization
Push-button Switches:
  •  CPU Reset switch
  •  Two micro push-button switches connected to the ARM for software debug / programming

LEDs(on board): 

  • Power On LED
  • ARM - 2 LEDs used for  indicators / debug
  • FPGA - 2 LEDs used for indicators / debug
  • FPGA Done LED (code loaded without errors)

Bluetooth (Khon Plus):

  • BlueGiga BLE-112 low-power 4.0 Bluetooth module
  • SPI interface to ARM
  • JTAG for BlueGiga Smart SDK, BGScript, BGLib host

Physical Size:  3" x 3" x 0.50"

Voltage (auto switching power source): 

  • DC 3.5 mm:   6 - 18 volt
  • USB : 5 Volt
  • 5 Volt direct:

Current: Full configuration (running @ 84 MHz) 180 mA @ 5.0 Volts

Led Panels

Kroma256 LED Panel

  • Worldsemi WS2812B LED
  • 256 LEDs, 16 x 16 array mounted in 3/8" LED dot pitch
  • RGB - 24-bit, 16,777,216 Colors
  • Single Wire Interface (Khon FPGA driven NZR protocol @ 800 KHz)
  • ESD protected input
  • LED: 4-pin, 5050 package
  • Board Size: 6" x 6" x 0.28"
  • Power: 5.0 Volt @ 52 mA per LED (full white)  
  • Panel total amps (full white) 13.3 Amps, 66.5 Watts
  • I/O: Power / Gnd / Signal (RS-422 or 5 Volt TTL) input connector
  • Thermal Relief: Four thermal pads for attachment of heat sinks if needed
  • Mounting Holes:Two mounting holes, 6/32 hole size

Kroma64 LED Panel

  • Worldsemi WS2812B LED
  • 64 LEDs, 8 x 8 array mounted in 3/8" LED dot pitch
  • RGB - 24-bit, 16,777,216 Colors
  • Single Wire Interface (Khon FPGA driven NZR protocol @ 800 KHz)
  • ESD protected input
  • LED: 4-pin, 5050 package
  • Board Size: 3" x 3" x 0.28"
  • Power: 5.0 Volt @ 52 mA per LED (full white)
  • Panel total amps (full white) 3.3 Amps, 16.6 Watts
  • I/O: Power / Gnd / Signal (RS-422 or 5 Volt TTL) input connector
  • Thermal Relief: Four thermal pads for attachment of heat sinks if needed
  • Mounting Holes:Two mounting holes, 6/32 hole size

Kroma1 LED Board

  • Worldsemi WS2812B LED
  • 1 LED per board
  • RGB - 24-bit, 16,777,216 Colors
  • Single Wire Interface (Khon FPGA driven NZR protocol @ 800 KHz)
  • LED : 4-pin, 5050 package
  • Board Size: 0.28" x 0.38" x 0.28"
  • Wire in-line from board-to-board, wire guage is dependent on total number of LEDs in the string
  • Power: 5.0 Volt @ 52 mA  (full white), 260 mWatt

KromaBreakout Board

  • 16 Channel, RS-422 LED driver outputs, 1,024 LEDs per channel real-time, or unlimited LEDs non real-time, (actual LED limit based on maximum power supply current and microSD card size)
  • 1 Sync RS-422 sync input
  • 1 Sync RS-422 sync output
  • RJ11 connectors (4 conductor)
  • LED driver distance 100+ meters
  • Size 3" x 3" x 1.10" - stacks with Khon
  • Power 5.0 Volts from Khon I/O connector

Software 

Khon Controller Programming

Atmel  ARM:

  • Atmel  Studio 6  with Arduino support, GNU C/C++ compiler / debugger (this software tool can be downloaded from Atmel's website free of charge)
  • Atmel SAM-BA Bootloader- load code through the USB port, similar to the Arduino DUE bootloader using the USB native port
  • JTAG header (programming pod required)
Xilinx Spartan6
  • 8 Mb SPI FLASH memory loads FPGA code on power-up
  • SPI port connected to the ARM for bit stream loaded updates using the microcontrollers USB port
  • Xilinx: Webpack ISE Design Tools (this software tool can be downloaded from Xilinx's website free of charge)
  • JTAG header (programming pod required)
Application Software SDK (Open Source)
KromaLights Designer Software
KromaLights Designer Software
VB.NET Application
VB.NET Application

Arduino Software Support 

  • Arduino Sketch support
  • Arduino Library support
  • Adafruit NeoPixel Library support 
Third Party Software Application
Khon Pixel Loader
Khon Pixel Loader
This third-party application is available and has support for the following:

  • Text / Windows Fonts
  • Animation
  • Scrolling Text  Left / Right / Top / Bottom
  • Grabbers  Rain / Spiral / Spinner
  • Random Fill Text
  • Rainbow Color Text

Light Stick Painting 

This light painting stick was built using an off-the-shelf LED strip (60 total LEDs) inserted into a clear acrylic tube and controlled by Khon.

The Eye (4 second exposure)
The Eye (4 second exposure)
Superman (4 second exposure)
Superman (4 second exposure)

Rewards

* The RS-422 Breakout Board is optional, it attaches to Khon and provides 16 (LED control) + 2 (Sync In/Out) RJ11 connectors.  See hardware specifications above.

Pledging for Multiple Rewards 

To pledge for multiple rewards, add the totals together for all the rewards you would like to back, then increase your pledge to cover the additional rewards. When the projects ends, you will be sent a survey, respond with a list of the reward levels and quantity you pledged for.


Meet Our Team

Jamie Mascherino - Software and QA  
Jamie has over twenty years of experience in software development and quality assurance in a variety of markets including: flight simulation, genetic research, e-learning, health care, medical devices, e-commerce and the financial industry.

James Bentley - Hardware
James has over twenty years of electronics hardware design experience. Design expertise includes both digital and analog designs. He enjoys finding new ways to incorporate FPGA technology in low-cost electronic consumer applications.

Greg Mascherino - Software
Greg has over ten years of experience with integrated systems automation and nearly a decade of experience in software development. 


KromaLights On The Web

You can learn more about KromaLights and our available products by visiting us at www.kromalights.com. We are also on facebook at www.facebook.com/kromalights. Like our page to receive routine updates throughout the campaign. You can also follow us on twitter using @KromaLights.


Timeline

We have completed our initial design and development, successfully built prototypes of each design, and incorporated any minor changes. All design files are ready for full production.

  • Mid - March  Kickstarter Begin
  • Mid - April     Kickstarter End
  • May               Procurement of all parts / place orders with vendors
  • Mid - May     Full production start
  • July                Product delivery

Risks and challenges

We have built full functioning prototypes of each of our boards, we have also incorporated all changes into our designs and we are ready to start building our first production runs.

We have suppliers both domestic and abroad ready to start building with deliveries within 8-10 week time frame.

We plan on continuing to develop and support the software. All of the software we developed for this project will be open source. We hope others will follow this trend and continue to develop software advancements in the future.

The only thing we are lacking is the ability to have high enough quantities allowing large cost reductions in our products.

We are financing our initial production run with KickStarter funding.

Learn about accountability on Kickstarter

FAQ

  • The simple answer is the integrated FPGA, and RS-422 drivers, for a more in-depth answer, read on...

    Obviously there are a number of differences between the BeagleBoard Black and Khon from a hardware standpoint. But when it comes to controlling LEDs, the main difference is the on-board dedicated FPGA ---

    Khon's Xilinx Spartan6 FPGA is used to generate the 16 simultaneous LED channel outputs, there is enough logic gates and memory in the FPGA to double this to 32 channels, but we decided to use the additional logic and 16 I/O signals for the SDRAM interface. (This could be changed in the future)

    The Beaglebone Black could probably use its integrated PRU controllers to generate the LED data stream with very little CPU intervention, otherwise the CPU would be tied-up in dedicated tight-timing loops (I/O bit-banging) or possibly use timer resourced interrupts to generate the LED data stream.

    Either way, there is really no comparison between a PRU (or CPU I/O bit-banging) and a dedicated FPGA for LED control, especially when it comes to added features like real-time support for synchronizing special effects, adding an alpha channel, or masking pixel data to an external event. From a hardware point of view, the FPGA is simply a better solution with parallel processing capability and programmable dedicated logic, it ends up being a very powerful simple to use LED controller.

    With integrated FPGA hardware, the real advantage is when it comes to high-level programming, Khon's FPGA is a 24-bit RGB LED pixel controller with a very powerful user programmable interface. Also the full LED pixel framebuffer is located in the FPGA's dual-ported block RAM, giving simultaneous access to Khon's ARM CPU DMA engine for writing data and read access to the 16 parallel output controllers that generate the LED data streams.

    Our FPGA pixel controller includes registers for the pixel output start address and pixel count, also the DMA pixel write address is programmable so any portion of the LED pixel framebuffer can be written quickly to generate very fast frame update rates.

    The FPGA and CPU have direct access to the microSD card, giving all kinds of possibilities, including extremely long animations/messages or a host of special effects.

    Our FPGA Framebuffer ICD document will be published shortly on the KromaLights website, also our open source application SDK will be on GitHUB soon. We have example programs written in Java and VB.net showing how easy it is to use Khon to program LED panels or light sticks with advanced features, including full color animations, scrolling rainbow marquee text banners, LEDs synchronized to sound sources, and the list goes on and on... your imagination is the limit.

    In the end, would you rather spend your time concentrating on your feature rich LED lighting application using Khon's FPGA based RGB LED controller or programming the Beaglebone PRU's in assembly language, which in itself can be hard to document and maintain?

    Khon-Plus also includes an on-board Bluetooth 4.0 module for smart phone based remote control applications and hardware audio support for synchronizing music or other sound sources.

    Our breakout board includes RS-422 drivers, with RJ11 connectors, this simplifies and provides a more robust connection to the LED panels. Khon will also drive other vendor panels that support the Worldsemi WS2812B RGB LED, you would then connect the control lines directly to Khon's buffered I/O LED connector.

    Last updated:
  • Khon can easily control your configuration. If we understood your question correctly you are planning on building 8 arrays of 6 X 27 LEDs (162 each) for a total of 1,296 RGB LEDs.

    Khon will control up to 1,024 RGB LEDs per channel with support of up to 16 channels at a full frame rate of 30 Hz. When channels contain less than the 1,024 LEDs the refresh rate will be faster.

    Here are the configurations we suggest:

    #1. 2 Channels of 24 X 27 LEDs (648 LEDs per channel and equivalent to four of your described arrays) at approximately 60 Hz refresh.

    #2. 8 Channels of 6 X 27 LEDs (162 LEDs per channel and equivalent to one of your described arrays) at approximately 200 Hz refresh.

    If you are comfortable with less than a 30 Hz refresh rate you could drive all of the LEDs in a single channel as well.

    Sending dynamic text messages is easy, Khon will receive the messages via USB or Bluetooth (phone / tablet, using Khon Plus) for immediate display. For your graphics, you can either store them locally on Khon's microSD card, then select the graphic you want dynamically or send the dynamic graphic using the above methods to be stored and/or displayed if desired.

    Last updated:
  • We suggest taking your best guess, in this case $20 + $10 should be enough, if there is a big difference in the actual shipping cost, we will notify you and ask for additional funds or in the case of a surplus, if you want a refund or credit toward additional products.

    Last updated:
  • Yes, an email explaing that you want to upgrade Khon and pledging an extra $50 for a Khon Plus is correct, this is the best way to upgrade one of the Kickstarter reward kits while taking advantage of the special Kickstarter rewards pricing.

    Last updated:
  • The Xilinx Spartan6 FPGA is connected to the ARM's 16 bit static memory interface, this allows the ARM processor to map the FPGA into the cpu's extended memory space @ bandwidths over 150 Mbytes/sec.

    Last updated:
  • Yes, no more worries when connecting an Arduino shield board to Khon, it has a user selectable jumper allowing either a 5 volt or 3.3 volt interface. The selection includes the ICSP output voltage and all the I/O signal levels are translated on Khon for both Master and Slave modes.

    Last updated:

Rewards

  • You selected
    Pledge $10 or more

    1 backer

    (5) - Kroma1 RGB LED boards. Each Kroma1 board has one WS2812B LED.

    Estimated delivery:
    Ships anywhere in the world
  • You selected
    Pledge $45 or more

    0 backers

    Kroma64 - 8 x 8 panel, 64 WS2812B RGB LEDs. Built in RS-422 receiver. One power and one signal connector. Six 2-56 screws.

    Estimated delivery:
    Ships anywhere in the world
  • You selected
    Pledge $80 or more

    0 backers

    Kroma256 - 16 x 16 panel, 256 WS2812B RGB LEDs. Built in RS-422 receiver. One power and one signal connector. Six 2-56 screws.

    Estimated delivery:
    Ships anywhere in the world
  • You selected
    Pledge $80 or more

    1 backer Limited (19 left of 20)

    **EARLY BIRD REWARD**
    Khon Lite - ARM/FPGA 16 Channel LED Controller Board - Arduino shield connectors. Without Bluetooth and audio processing. Add $19 for RS-422 breakout board.

    Estimated delivery:
    Ships anywhere in the world
  • You selected
    Pledge $95 or more

    0 backers

    Khon Lite - ARM/FPGA 16 Channel LED Controller Board - Arduino shield connectors. Without Bluetooth and audio processing.

    Add $19 for RS-422 breakout board.

    Estimated delivery:
    Ships anywhere in the world
  • You selected
    Pledge $130 or more

    7 backers Limited (13 left of 20)

    **EARLY BIRD REWARD**
    Khon Plus - ARM/FPGA 16 Channel LED Controller Board - Arduino shield connectors. Bluetooth and audio processing included. Add $19 for RS-422 breakout board.

    Estimated delivery:
    Ships anywhere in the world
  • You selected
    Pledge $145 or more

    0 backers

    Khon Plus - ARM/FPGA 16 Channel LED Controller Board - Arduino shield connectors. Bluetooth and audio processing included.

    Add $19 for RS-422 breakout board.

    Estimated delivery:
    Ships anywhere in the world
  • You selected
    Pledge $420 or more

    0 backers

    8x48 LED Display KIt - (6) Kroma64 RGB Panels, Khon Lite with RS-422 breakout board and (1) Slim 5 Volt 60 Amp Power Supply.

    Estimated delivery:
    Ships anywhere in the world
  • You selected
    Pledge $685 or more

    1 backer

    32x48 LED Display Kit - (6) Kroma256 Panels, Khon Lite with RS-422 breakout board and (2) Slim 5 Volt 60 Amp Power Supply.

    Estimated delivery:
    Ships anywhere in the world

Funding period

- (32 days)