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 Tindi.com, 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:
Actually, most of the components are in already. A small shipment from Mouser will arrive soon and I still have enough conductors to build 20 shields. More are on order and will here within 2-3 weeks. As with the ones needed for the prototypes I have not been able to find these at any source her in the US so I sourced them again from the UK through Allied Electronics / RS components.
I’ve also decided to invest in a laser-cut stainless steel stencil from Stencils Unlimited. The mylar stencil from Pololu.com was fine for the prototypes and likely would have lasted a good number of boards longer but the print quality of a stainless steel stencil is simply better and more consistent. Also of course a SS stencil is much more durable.
Another project I have been working on is a micro controller project with the aim to have “something” that can take advantage of the capabilities of this LED shield. One of the unique features of this shield is that it is controlled through the I2C bus. All components on the LED shiled (with the Exception of the temperature sensor) are FM+ capable. The FM+ specification allows I2C bus frequencies of up to 1MHz. Instead of 3mA FM+ components can drive 30mA, which allows much longer connections between I2C components. On the other hand most normal Arduino’s allow max 400KHz. So here is the Frankenduino I’ve described in a previous post:
It features an I2C bus extender based on the PCA9600 chip from NXP. I’ve successfully used a shield on 5 meters of CAT5 Ethernet cable and on my oscilloscope signals looked crisp even at 1.5MHz, so there is quite a bit of headroom to use even longer cables and more devices such as the shield.
Also, what can’t be seen on the Photo is a IR receiver and the Teensy3 happily receives and decodes IR signals from my Apple Aluminum remotes. A nice feature of the Apple remotes is that they can be paired to a device. I have not quite yet finished the code but I have determined the codes that the remote uses to be paired. However, before I do that I need to make a second prototype, which features an SD card slot for permanent data storage. It would not make much sense to having to re-pair a remote every time the micro controller has been powered down.
In order to function together with the I2C bus extender I also re-designed the little Arduino I2C extender board. It has SMD pads for different pull-up resistors and also needs a small Schottky diode when operated in conjunction with the PCA9600 I2C bus extender. Below is a picture of a “complete” system, including a micro controller, WiFi Ethernet Hub for remote control ability through OSC / TouchOSC and a LED shield with the I2C extension board. More shields can simply be daisy chained onto each other using inexpensive pre-configured CAT5 Ethernet cable.
Another interesting idea I had is that it could be quite useful to expose all the functions of the LED shield through the OSC protocol. That way you could create LED effects code directly from a computer e.g. with MaxMSP or Pure Data without having to program the micro controller.
Yesterday I received the 100 boards I ordered from Hackvana.com. It’s a surprisingly small packet, mainly due to the fact that with 0.8mm these boards (for thermal performance reasons) are only half as thick as standard boards. The different thickness also did not cost any extra, it was actually a little less expensive. Most services I had checked before actually charge more for non-standard thicknesses.
Below is a photo of one of these. I focussed my point-&-shoot camera on a more intricate part of the board. Due to the shallow depth-of-field much else is rather unsharp, but enough can be seen to say that these are doggone gorgeous!
And, Yes, it’s been just two weeks since I ordered these. That’s pretty speedy if taking into account that these boards come from Shenzen/China!
On the other hand, due to the number of boards I chose DHL and not China-, or Hong Kong post.
A while ago I had done some more research on possible PCB manufacturing. Not the full assembly just the bare board. The difficulty was finding a source that had acceptable prices but at least offered 2oz copper.
Now I’ve placed an order of 100 pcs with hackvana.com after having a very fruitful email conversation and an IRC chat with Mitch who runs Hackvana. Ive read some very good reviews of the quality of these boards and am looking forward to receiving them. I will likely take 2-3 weeks as the actual manufacturing happens in Hong Kong.
Board specs are as follows:
- Blue Stop Mask
- White Silk Screen (top and bottom)
- RoHS finish (not ENIG)
- 2oz copper plated
- 0.8mm thick
- tab routed into single pieces
After a discussion with Mitch who runs Hackvana.com I decided not to get the immersion gold finish (ENIG) . Yes, it looks great on a bare board but on a populated board with tented vias there is nothing left visible of the gold plating. The real purpose for the ENIG finish is to have e very flat surface and a longer shelf life. The flatness of the boards will be fine for the intended purpose with the RoHS finish – no BGA chips in the design – and I don’t intend to have the bare board laying around for more than 3 months.
I also chose the 0.8mm thickness for better thermal performance as described in an earlier post. In fact and quite to my surprise, this was actually a little cheaper so there was no reason not do do it. I’ll post some pictures of the boards as soon as they have arrived.!
It’s been a while since the last update and unfortunately not much has happened in terms of getting the Tindie Fundraiser started. Not only our private and professional lives have kept us very busy but our initial idea to have the shield manufactured by a Company in Germany is associated with complications that have nothing to do with the LED shield itself but are rather of logistical, and possibly financial nature. For business insurance reasons the small company is not able to conduct business with a private person in the US. I’ve looked into registering a business and will eventually do that, but that is rather a long term goal and may not happen within the next two months.
Given that Tindie is a US website, pledges on a project would be trickling in in $US and once successfully funded we’d have to transfer funds per PayPal to Germany and into Euros. Then my partner would have to ship most of the assembled boards back into the US through customs. For a single shield customs would unlikely a problem, however, for a larger number one needs to make sure these are declared properly and customs fees have to be paid. Wile I have done some research it is unlikely that there would be FCC implications, these are all consideration that in the end will somehow result in additional cost and may render the project unfeasible.
Long story short, I’ve found two sources for low volume PCB manufacturers that offer PCBs with 2oz copper plating and have requested quotes. I have also found a company that can assemble the boards. While they don’t provide turnkey including sourcing the parts, the price that was provided in the initial contact is very attractive. While we have not spoken about details I am hoping to have more information by the end of this week.
Another area of concern is that I’ve never tested these shields under the full load of 40W. Buying enough LEDs, heat sinks would of course work but is rather inflexible. But I’ve found a product on Tindie that fits the bill perfectly, the Re:load 2, an adjustable Dummy Load. I’ve ordered three of those and will test one of my prototype LED shields as soon as they arrive.
Once all the above has settled to my satisfaction I will start the Fundraiser.
Well, both, kinda sorta eehhh….. But let’s take a step back.
A good while ago I designed and made an adapter board that combines a Teensy++2 and a WIZ812MJ Ethernet Module and currently the hardware in the photo below is installed and happily working in a Lighting system that employs five(5) HP LED shields (the older version). To the left is a TP-Link TL WR703n pocket router that connects to the WIZ812MJ Ethernet Module. An additional Ethernet Jack and Cable is used on the board to connect the I2C bus signals to another little adapter board plugged into the LED shield . This way 5 LED shields are daisy-chained together in the said LED lighting system.
I had to modify it from what is shown in the photo though and that was one of the reasons that I wanted to upgrade the concept for future installations. I had a Teensy3 as a Reward from the Kickstarter Project and as shown in the last post it works quite nicely and uncomplicated with the LED shield. It has to be said though that the shown configuration is NOT recommended. The Teensy3 is a 3.3V micro-controller and the outputs are not 5V tolerant. An I2C level converter should be used, e.g the one from DSS circuits or from Adafruit.
Also, the system above had some limitations. The Teensy++2 employs an Atmel processor that can run the I2C bus at max 400KHz, so it is not FM+ compatible, however all the components on the the HP LED shield are FM+ compatible (with the Exception of the temperature sensor!) so can be operated up to 1MHz. Also FM+ compliant components allow for much more drive current (30 mA vs. 3 mA) allowing for much higher allowable bus capacitance (4000pF vs. 400pF). In essence one can operate the I2C bus much more populated with devices and/or longer cable length at higher bus frequencies resulting in higher data transfer rates. The Teensy3 is able to operate the I2C bus at frequencies well in excess of 1MHz. Alltough it is not per-se FM+ compatible.
Another problem that I ran into and which is the reason I had to modify the hardware shown above, is that the power supply for the whole equipment to the left of the LED shield came from the little on-board 5V switching power supply of the HP LED shield. As long as it only has to operate an additional Arduino or Teensy that’s fine but the Ethernet & WiFi router hardware is more demanding and instead of the +5V from the LED shield I had to hardwire the VIN from the HP LED shield to an extra TSR-1xxx switched mini power supply to supply power to the Teensy++2 WIZ812MJ adapter board.
It would be nice as well to be able to just stack a processor board directly onto an HP LED shield or onto a stack of these, without the immediate need for an Ethernet cable.
So I started to lay out a board with all the necessities, but noticed it looked rather bare in terms of traces. The WIZ820io needs the usual SPI connections (+3.3V, GND, MISO, MOSI, SS, SCK) and the I2C bus only requires 3 traces (SCL, SDA, GND). That would have been a total waste of all the pins the Teensy3 has to offer and I decied to see if I could route at last some of these these to the usual Arduino pins on the periphery of the board. And the results of that effort is what I jokingly call an Ueber Arduino or perhaps its more a Frankenduino :
While I am waiting for Tindie.com to re-activate the fundraisers I am continuing to play with the hardware and software at hand.
The photo below shows a Teensy3 connected toe the LED shield and illustrates how little is necessary to connect a non Arduino microcontroller to the LED shield. Only three wires – SCL, SDA GND – are required, a 4th one to supply +5V from the LED shield’s on-board switched power supply to the Teensy 3. The Teensy3 is an Arm Cortex M4 powered board and has much more capable I2C hardware allowing it to run I2C frequencies up to 2.4MHz. Most Arduinos only support 100KHz and 400KHz. The hardware on the LED shield OTOH all supports FM+ mode so up to 1MHz. The Arm Cortex M4 is a 32bit microcontroller and can be operated at 96MHz. All for $19. Pretty sweet deal!
I am currently in process of getting the EthernetBonjour and ArdOSC libraries to compile and run on the Teensy3 to allow zeroConf networking and OSC control through TouchOSC from any iPhone/iPad and many supported Android devices. This already works on a Teensy++2 which is an Atmel processor based board and I hope not to run in too many obstacles.
As I was editing the necessary information on Tindie.com I noticed that I can add a product to the Tindie store but it was not obvious how to create a fundraiser. I just got offline with them and as it turns out they’ve taken fundraisers down for the time being.
They are working on a project to put them back online within the “next few weeks”. Until then, unfortunately we have to be patient.
So the Arduino team has announced an new product, the Arduino Yún.
Looks like a very interesting product. My own LED lighting projects tend to be installed in places where plugging in a USB cable is inconvenient at the least. So one main feature for me will be the programmability of the Yún per WiFi!
While the High Power RGB LED shield only requires three pins from any Arduino or other Microcontroller board (SCL, SDA, GDN) it would be nice to be able to just stack it on top of an Arduino and not have to worry about wiring it up on a breadboard etc.
Looking at some of the photos the Ethernet Jack on the Yún looks very close to the Header and also looks tall enough to interfere with a lot of other shields.
Our led shield is very short and it should fit. Should it not fit a little filing on the interfering edge of the board should do the trick. There are no traces close to that area and its save to file of a mm or so.
I have not posted in a while so a little update is overdue.
After completing the first prototype I received some of the little SMD containers from Adafruit and labeled them. I also prepared a simple little PDF file with about 15 sheets outlining which components were to be installed next. While it still was not as fast as I’d hoped I was able to make 4 more prototypes in about 3 hours. Obviously there is still potential for optimization!
So far, so good. Meanwhile several people have voiced interest in purchasing the shield when it becomes available. A guesstimate is that currently about 75 shields are accounted for. We have requested an updated quote for 100 shields from our chosen manufacturer and we are waiting to receive it to determine the price. Once we have received it we will start a fundraiser on Tindie.com.
I also have not just been sitting around but have worked some on the library. The one thing the library is really missing is a good fading algorithm. For my LED lighting system I developed an adapted 3D Bresenham algorithm.
The original algorithm was developed when most computers did not have specialized hardware to support floating point operations but only integer. While calculating floating point was possible, it was very slow. (Anyone remember Fractint ?) Equivalently most Arduino compatible micro controllers do not support floating point operations using specialized CPU operations thus are very slow when compared to integer operations. The initial Bresenham algorithm was developed to draw a line across a rasterized computer screen and uses only integer math, thus is very fast. For a RGB fading algorithm a 3D version of that algorithm was needed and I found an implementation on the Internet that suited our needs. It had to be modified and taken apart to allow fading several RGB LEDs synchronously but it works very nicely. As I recently found out, depending on what Microcontroller it runs on it can also be blistering fast.
In my own projects I have moved away from the original Arduino’s and have toyed around with a Teensy3. It is a fraction of the size of an Arduino UNO, costs only $20, is US made and employs a Freescale Arm Cortex M4 processor running at up to 98MHz. The new I2C library recently written by user nox771 also better supports the faster I2C hardware on the Teensy3 and supports I2C bus speeds of up to 2.4MHz. Ohh…. I forgot to mention, when using Teensyduino a plugin for the Arduino IDE the Teensy3 is fully Arduino compatible and comes with many libraries that one would have to dig around quite a bit somewhere else to find.
The hardware on our shield supports FM+ mode so up to 1MHz bus speed.
At that bus frequency a complete fade from RGB(0, 0, 0) to RGB(255, 255, 255) using the CIElab lightness corrected library function takes 53 ms!