Monthly Archives: December 2013

Updated libraries on GitHub

The main HPRGB2 library has been updated with three new functions:

  1. goToRGBHI() uses 1024 CIE lab brightness corrected values (vs. 256 for goToRGB) for smoother fading at low values and when fading slowly.
  2. goToHSB10() provides much improved HSB accuracy. goToHSB() uses 256 values for Hue, which depending on fading speed can result in visible steps. The new routine uses 768 values and provides much smoother fading.

The SoftI2CMaster library, which is needed in order to change the I2C address of the MCP4728 LDAC, contained an error, which resulted in the sketch not being able to read back the correctly programmed I2C address and made it appear like the address programming failed. A big Thanks! to Mark_H who posted a comment about this here on the blog.


Shield is on sale at

Finally I was able to put the shield up for sale at Tindie. If there are any questions in respect to volume discounts or shipping rates please contact me be before buying by posting the question to the the STORE section of thIs blog.
I still have some work to do on the library before I will commit it to GitHub but the shield will work fine with the library for the V2 of the shield.

Notes on the on-board Temperature Sensor – TMP421

As I’ve mentioned before in my own projects I’ve never used the temperature sensor. When redesigning the shield I decided to move the temperature sensor from its proximity to the LT3496 LED driver chip to the edge of the board in order to free up some surface close to the LT3496 for better cooling. The TMP421 temperature sensor has one on-die temperature sensor and one for remote temperature sensing by means of a cheap small-signal transistor. In the previous shields the on-die temperature sensor helped measuring or rather estimating the LT3496 temperature. Now that the TMP421 is moved to a different location on the shield far away from the LT3496 it still measures a temperature but it’s rather ambient temperature.

If measuring the LT3496 temperature is still desired this can still be accomplished through the remote sensing connections. In that case it is best to use a thermal adhesive and glue the transistor directly to the top of the LED driver chip. This provides much more direct measurement of the LED driver chip temperature. Another topic that just became clear to me when working on updating the documentation is that when more than one shield is used in an application, either stacked or otherwise connected to the same I2C bus, then only one shield should be populated with a temperature sensor. The current documentation mentions in more than one spot that there are two I2C components on the shield, but that is incorrect. There can be three I2C components on the board:

  1. The LED driver chip – LT3496 – data sheet
  2. The digital Analog Converter for analog dimming – MCP4728 – data sheet
  3. The optional temperature sensor – TMP421 – data sheet

While the LT3496 and the  MCP4728 have configurable I2C addresses the TMP421 in the current version 2.5 shield only has one fixed I2C address. That means only one temperature sensor can be addressed on one I2C bus. However, if for example you have 2 or more shields on the same I2C bus and all of those shields are populated with the temperature sensor the PWM and analog dimming functions will still work. Only the temperature sensor functions cannot be used in that case. In a previous post I mentioned that all chips with the exception of the temperature sensor are FM+ components and can be operated at I2C bus frequencies of up to 1MHz. The data sheet states in the SERIAL INTERFACE section that the chip can actually be operated up to 3.4 MHz.

Quick reference

The first shields have shipped and meanwhile I have created a little reference that at a later date will  be complemented by updated more complete instructions. However, this should be enough to get anyone started with the basic operation of the shield. Yellow indicates default configuration and the basic connections needed to operate the shield. Blue indicates additional options and configurations:

HP-LED Shield 2.5

Production Boards

Finally after what seems like an eternity I was able to make a small series of 32 boards over the thanksgiving holidays. All of the first run of boards do not have the Temperature Sensor or the Heatsink. However, both of these can be added relatively easy.

While I will ultimately will sell these on, however realistically this will be early next year. Of these 32 boards only 9 are still available. I may add another batch of 8 soon if supplies run short. That’s all I can make in an evening after work. Over the Christmas Holidays I am hoping to make another 40-50.

Also, after all the blog of the original creator of these previous versions of this shield – neuroelec – seems to have gone offline. So over the next few weeks I’ll also be updating the instructions.

Enough of the talk. Here are some photos:

HP-LED Shield 2.5HP-LED Shield 2.5_bottom