The C word

It may seem like a long way off but tis the season to be planning.

What plans have people got for IMP powered holiday season lighting?

With Release 26 and above (which should be out before the holiday season), you can work with NeoPixels. NeoPixels are really great, and AdaFruit has a wholebunch of products (strips, individual pixels, etc) for you to play with.

I would love to see someone go to town with these, and build something really cool with an imp!

I’ve been thinking about NeoPixel Jack-o-Lanterns with proximity/motion sensors.

Digitally addressable lights are cool, how many neopixels will an imp support?

https://www.dropbox.com/s/x46v0fdh3di7jv4/2012-11-13%2017.02.37.mov

Not the best quality in the world but it hopefully gets the point across. :slight_smile:

This is using Sparkfun’s RGB LED strip which is a LOT more expensive then adafruit’s NeoPixels. I had considered launching a kickstarter but at the time felt it was too expensive… Maybe it’s worth looking back into…

@back_ache the issue is likely going to be a refresh rate problem more than anything else.
The more pixels you have, the longer it takes to update the string, slowing down how fast you can effectively change colors.

@beardedinventor has driven 120 of them at a time.

Right now I’m hooking the NeoPixels control line directly up to the SPI bus - so the NeoPixels are being controlled with 3v3. From the sounds of things… they behave better when they’re controlled with 5v… so we’re going to experiment with that.

It only takes .65 microseconds to write each pixel, so you should be able to write a fairly significant number of pixels before refresh rate becomes an issue.

How about other constraints like the amount of ram you need to store each pixel state imp side?

It takes 3 bytes to store each pixels (one byte per color). After a basic library for NeoPixels, you’re left with about 70KB free on the device.

You’ll likely run into other issues before you manage to string together 20,000+ Neopixels.

The biggest issue is likely going to be power…

…though, forming the SPI packet that needs to be sent takes a lot more memory as the neopixel bits are encoded as multi-byte SPI strings. The timing is very tight and hence you have to write the whole string in one transaction, which I believe was something around 30 bytes per pixel?

Right… I was thinking you could build the packet on the fly, but with the timings required thats probably unlikely.

But even at 30 bytes per pixel, you’re looking at 1000-2000 pixels before you run out of memory.

In the past years, I used my old (1984) TRS-80 Model 200 to control 8 solid state relays using the parallel printer port. The Model 200 ran a series of patterns to turn strings of lights on and off. The computer is in the house, and a ribbon cable goes out the window to my plastic box with some TTL latches and the SSRs. Extension cords connected to the solid state relays are coming out of the box, numbered 1 to 8.

Now, with my imp, I use a MAX3232 (sparkfire) breakout board to handle the voltage levels and communicate to the Model 200 using UART … the RS232 serial port. My webpage script POSTs to the agent and the imp sends the desired code to the Model 200.

A webpage I have (the URL) will be posted on a sign outside with a login code (changed daily). Visitors stop in front of my house, login, and get 2 minutes to turn 8 different displays on and off using their smartphones … via the website I made. People logging in get put on a queue to be in line for their 2 minute control, as there might be several cars in front all wanting to play.

I’ve completed the hardware, tested the concept. Now I’m working on the AJAX, PHP, JQuery webpage to handle the user control panel. It’s coming along nicely.

Will make a webpage with photos to show sometime in October.

Best use of a 30-year-old computer! Shame it could be replaced by a shift register though…

I didn’t want to spend time redoing the SSR hardware. Everything was already done except the imp breadboard. It also makes for good conversation when people see the Model 200 sitting on the table next to the window. “Where is the mouse?” … what mouse?

When you’re done I’d love to see pictures!

videos would be cool too, and I guess by using a web page you could even have a “tip-jar” for your favourite charity