DEFCON Shenanigans: Hack the Hackaday Hat

We don’t want to call it a challenge because we fear the regulars at DEFCON can turn our piece of hardware into a smoking pile of slag, but we are planning to bring a bit of fun along with us. I’ll be wearing this classy headgear and I invite you to hack your way into the WiFi enabled Hackaday Hat.

I’ll be wearing the hat-of-many-scrolling-colors around all weekend for DEFCON 22, August 7-10th in Las Vegas. You may also find [Brian Benchoff] sporting the accessory at times. Either way, come up and say hello. We want to see any hardware you have to show us, and we’ll shower you with a bit of swag.

Don’t let it end there. Whip out your favorite pen-testing distro and hack into the hat’s access point. From there the router will serve up more information on how to hack into one of the shell accounts. Own an account and you can leave your alias for the scoreboard as well as push your own custom message to the hat’s 32×7 RGB LED marquee.

You can learn a bit more about the hat’s hardware on this project page. But as usual I’ve built this with a tight deadline and am still trying to populate all the details of the project.

PIC Up a NeoPixel Ring and C What You Can Do Using This Tutorial

lit ringAs [Shahriar] points out in the introductory matter to his latest video at The Signal Path, Arduinos are a great way for a beginner to dig into all kinds of electronic excitement, but they do so at the cost of isolating that beginner from the nitty gritty of microcontrollers. Here, [Shahriar] gives a very thorough walkthrough of a 60-neopixel ring starting with the guts and glory of a single RGB LED. He then shows how that ring can easily be programmed using a PIC and some C.

[Shahriar]‘s eval board is a simple setup that he’s used for other projects. It’s based on the PIC18F4550 which he’s programming with an ICD-U64. The PIC is powered through USB, but he’s using a separate switching supply to power the ring itself since he would need ~60mA per RGB to make them burn white at full brightness.

He’s written a simple header file that pulls in the 18F4550 library, sets the fuses, and defines some constants specific to the ring size. As he explains in the video, the PIC can create a 48MHz internal clock from a 20Mhz crystal and he sets up this delay in the header as well. The main code deals with waveform generation, and [Shahriar] does a great job explaining how this is handled with a single pin. Before he lights up the ring, he puts his scope on the assigned GPIO pin to show that although the datasheet is wrong about the un-delayed width of the low period for a zero bit, it still works to program the LEDs.

[Shahriar] has the code available on his site. He is also holding a giveaway open to US residents: simply comment on his blog post or on the video at YouTube and you could win either a TPI Scope Plus 440 with probes and a manual or a Tektronix TDS2232 with GPIB. He’ll even pay the shipping.

[Read more...]

Here Come the RGB LED Clones

ws2812 and clones timing

It seems like every third project on Hackaday uses WS2812 RGB LEDs in some way. We all love our blinkenlights, and bright, cheap, serial controlled RGB LEDs are the bees knees.

As with all products these days, competing manufacturers have discovered the huge market for these things, and clones are now available. [Tim] recently took a look at the PD9823, as well as three versions of the WS2812. [Tim] is considered something of a WS2812 guru here at Hackaday. You might remember him from his WS2812 driver optimization article, which should be required reading for any WS2812 hacker.

As many of us know, the timing characteristics for these LEDs can be a pain to work with. The values also differ between the WS2812S and WS2812B. [Tim] discovered that the new through hole WS2812D parts are different yet again, though rather close to the B parts. The PD9823’s designers must have studied the WS2812’s closely, as their 190ns time base falls directly between WS2812S 166ns time and the 208ns time of the WS2812B. The PD9823 also requires a slightly longer reset pulse.

The takeaway is that well written drivers such as [Tim's] should have no problem with the new parts, but compatibility is something to keep in mind as more clones hit the market.

The 200 LED Ring Clock


There are LED clocks, and then there are LED clocks that can blind you from 30 paces. [Stiggalicious's] LED ring clock is of the latter variety. 200 WS2812B/Neopixel RGB LEDs drive the ring clock to pupil searing levels. The clock runs on ATMega1284P, with timekeeping handled by an NXP PCF8563 real-time clock chip. Code is written in Arduino’s wiring language using Adafruit’s Neopixel library.

Building the clock with a single Printed Circuit Board (PCB) would be both expensive and wasteful. [Stiggalicious] cleverly designed his clock to be built with 8 copies of the same PCB. Each board makes up a 45° pie slice of the ring. All 8 PCBs have footprints for the CPU, clock chip, and other various discrete parts, but only the “master” section has these parts populated. 7 “slave” sections simply pass clock, data, power and ground through each LED. He used Seeedstudio’s board service to get 10 copies of his PCB made, just in case there were any mistakes.

[Stiggalicious] rolled the dice by buying exactly the 200 LEDs he needed. Either he got really lucky, or the WS2812 quality testing has improved, because only one LED had a dead blue LED.

If you’d like to find out more, [Stiggalicious] gives plenty of details in his Reddit thread. He doesn’t have a webpage setup for the clock but he’s uploaded his source code (pastebin link) and Altium schematic/PCB files ( link). We may be a bit biased, but would be a perfect spot for this or any other project!

Driving 1000 NeoPixels With 1k Of Arduino RAM


NeoPixels, or WS2812 RGB LEDs, are the display device du jour for impressive and blinding lighting projects. Commonly known for very tight timing requirements, [Josh] discovered this is, in fact, usually unnecessary. The timing requirements for NeoPixels aren’t as bad as they seem, once you get to know them.

The official WS2812 timing specs give values that are fairly constraining for anyone writing a library to drive these RGB LED pixels, but simplifying the timing diagram by assuming a 50% duty cycle on the data lines and ignoring the longer maximum times results in a surprising conclusion: the only tight timing parameter for NeoPixel signaling is the maximum width of the 0-bit pulse.

Realizing this, [Josh] wrote a simple demo program to drive over 1000 NeoPixels – an 11 meter long strip – using 1K of RAM on an Arduino. The trick comes by simply delaying the bitbanging a set number of cycles. No obtuse assembly required.

There is only one problem with [Josh]‘s method of driving a nearly unlimited amount of NeoPixels – building a display where every NeoPixel is an element in a larger image, such as in a video display, is impossible on systems with limited amounts of RAM. The code writes values to the NeoPixel strip algorithmically, so if you can’t build your animation with for loops, you’re out of luck. Still, Driving this many NeoPixels is a migraine trigger, and we have to give [Josh] credit for doing this with 1K of RAM.

Check out the video of [Josh]‘s extreme NeoPixel strip below.

[Read more...]

Huge RGB Ring Light Clock


After several months of work, [Greg] has completed one of the most polished LED clocks we’ve ever seen. It’s based on the WS2812 RGB LEDs, with an interesting PCB that allowed [Greg] to make a huge board without spending a lot of money.

The board is made of five interlocking segments, held together with the connections for power and data. Four of these boards contain only LEDs, but the fifth controller board is loaded up with an MSP430 microcontroller, a few capsense pads for a 1-D touch controller, and programming headers.

Finishing up the soldering, [Greg] had a beautiful LED ring light capable of being programmed as a clock, but no enclosure. A normal plastic case simply wouldn’t do, so [Greg] decided to try something he’d never done before: casting the PCB inside a block of resin.

A circular mold was made out of a piece of MDF and a router, and after some problems with clear resin that just wouldn’t cure, his ring light was embedded in a hard, transparent enclosure.  Conveniently stuck in the mold, of course. The MDF had absorbed a little bit of the resin, forcing [Greg] to mill the resin ring free from the wood, with a lot of finish sanding to make the clock pretty.

It’s a clock that demonstrates [Greg]‘s copious manufacturing skills, and also his ability to troubleshoot the problems that arose. While he probably won’t be casting things inside an MDF mold anymore, with the right tools [Greg] could easily scale this up for some small-scale manufacturing.


Breadboardable WS2812 LEDs


Hackaday sees a ton of projects featuring the WS2812 series of digitally controllable RGB LEDs, in the form of bare chips, RGB LED strips, or some form of Adafruit’s NeoPixels. All these WS2812 LED products have one thing in common – they’re chip LEDs, making some projects difficult to realize. Now there’s a new member of the WS2812 family – a through-hole LED version – that should be available through the usual sources sometime later this year.

The key difference between these and the usual WS2812 LEDs is the packaging; these are 8mm LEDs with pins for power, ground, data in, and data out. With the preexisting libraries, this 8mm LED should work just the same as any other WS2812 LED.

Aside from a through-hole package, these new LEDs are very diffuse and aren’t as blinding as the normal chip LEDs. If you want to pick up a few of these LEDs, they’re available here, 13 LEDs for $15. There’s a lot of potential here for RGB LED cubes, something we hope to see sooner rather than later.