Glitchy Synthesizer Meets Honeycomb LED Matrix

Don’t watch [Jason Hotchkiss]’s video if flashing lights or bleepy-bloopy synthesizer noises give you seizures. Do watch, however, if you’re interested in a big honeycomb-shaped LED matrix being driven at audio frequencies through a dedicated square-wave synthesizer that’s built in.

The LED panel in question is housed in a snazzy laser-cut, honeycomb-shaped bezel: a nice change from the standard square in our opinion. The lights are 1/2 watt (whoa!) whites, and the rows and columns are driven by transistor drivers that are in turn controlled by shift registers. We’re not entirely sure how the matrix is driven — we’d love to see a circuit diagram — but it looks like it’s some kind of strange, non-scanning mode where all of the column and row drives are on at once. Whatever, it’s art.

And it’s driven by logic chips making audio-frequency square waves. Two of these are fed into an LFSR and into an R-2R DAC and then into the shift registers. The output is chaos, but the audio and the visuals do seem to influence each other. It’s an audio-visual embodiment of some of my wildest Logic Noise fantasies. Pretty cool. Enjoy the video.

Continue reading “Glitchy Synthesizer Meets Honeycomb LED Matrix”

A Very MIDI Christmas Lightshow

Christmas light displays winking and flashing in sync to music are a surefire way to rack up views on YouTube and annoy your neighbours. Inspired by one such video, [Akshay James] set up his own display and catalogued the process in this handy tutorial to get you started on your own for the next holiday season.

[James], using the digital audio workstation Studio One, took the MIDI data for the song ‘Carol of the Bells’ and used that as the light controller data for the project’s Arduino brain. Studio One sends out the song’s MIDI data, handled via the Hairless MIDI to serial bridge, to the Arduino which in turn sets the corresponding bit to on or off. That gets passed along to three 74HC595 shift registers — and their three respective relay boards — which finally trigger the relay for the string of lights.

From there, it’s a matter of wiring up the Arduino shift register boards, relays, and connecting the lights. Oh, and be sure to mount a speaker outdoors so passers-by can enjoy the music:

Continue reading “A Very MIDI Christmas Lightshow”

A Heart for His Girlfriend

[Decino] made a nice LED animated blinking heart box for his girlfriend. That’s a nice gesture, but more to the point here, it’s a nice entrée into the world of custom hardware. The project isn’t anything more than a home-etched PCB, a custom 3D-printed case, a mess of LEDs and current-limiting resistors, a shift register, and a microcontroller. (OK, we’re admittedly forgetting the Fifth Element.) The board is even single-sided with pretty wide traces. In short, it’s a great first project that ties together all of the basics without any parts left over. Oh, and did we mention Valentine’s day?

Once you’ve got these basics down, though, the world is your oyster. Building almost anything you need is just a matter of refining the process and practice. And if you’ve never played around with shift registers, a mega-blinker project like this is a great way to learn hands-on.

Not everything we write up on Hackaday has to be neural nets and JTAG ports. Sometimes a good beginner project that hits the fundamentals with no extra fat is just the ticket. What’s your favorite intro project?

Colorful, Touch-Sensitive Light Table is Ready for Gaming

It’s an ambitious build for sure — you don’t start with $500 worth of wood if you don’t intend for the finished product to dazzle. And this 240-pixel touch-sensitive light box coffee table does indeed dazzle.

Sometimes when we see such builds as these, fit and finish take a back seat to function. [dasdingo89] bucks that trend with a nicely detailed build, starting with the choice of zebrawood for the table frame. The bold grain and the frosted glass top make for a handsome table, but what lurks beneath the glass is pretty special too. The 240 WS2812 modules live on custom PCBs, each thoughtfully provided with connectors for easy service. There’s also an IR transmitter-receiver pair on each board to detect when something is placed over the pixel. The pixel boards are connected to custom-built shift register boards for the touch sensors, and an Arduino with Bluetooth runs the whole thing. Right now the table just flashes and responds to hand gestures, but you can easily see this forming the basis of a beautiful Tetris or Pong table.

This build reminds us a little of this pressure-sensitive light floor we featured recently, which also has some gaming possibilities. Maybe [dasdingo89] and  [creed_bratton_] should compare notes and see who can come up with the best games for their platform.

[via r/DIY and a tip from emptycanister]

Run a RepRap on an ESP8266

What can’t the little $5 WiFi module do? Now that [lhartmann] has got an ESP8266 controlling the motors of a 3D printer, that’s one more item to check off the list.

What’s coolest about this project is the way that [lhartmann] does it. The tiny ESP8266 has nowhere near the required number of GPIO pins, the primary SPI is connected to the onboard flash memory, and the secondary SPI is poorly documented and almost nobody uses it. So, [lhartmann] chose to use the I2S outputs.

I2S is most often an audio protocol, so this might at first seem like a strange choice. Although I2S sounds like I2C, it’s really essentially an SPI protocol with a fourth wire that alternates to designate the right or left channel. It’s actually just perfect for sending 16×2 bits of data at high data rates.

[lhartmann] takes these 32 bits and feeds them into four shift registers, producing 32 outputs from just the four I2S data lines. That’s more than enough signals to run the stepper motors. And since it updates at 192 kHz sample rate, it’s plenty fast enough to drive them.

The other side benefit of this technique is that it can work on single-board computers with just a little bit of software. Programming very complicated stepper movements then becomes just a matter of generating the right “audio” file and playing it out. [lhartmann] demonstrated this earlier with an Orange Pi. That’s pretty cool, too.

The code for turning the ESP8266 and a short handful of 74HC595s into a 3D printer controller are up on GitHub, so go check it out.

Thanks [CNLohr] for the tip!

Blinktronicator’s POV Sends Our Eyebrows Rocketing Skyward

You think you’ve seen everything that there is to see regarding blinking LEDs and then a simple little trick proves you wrong. Our friend [Zach Fredin], aka [Zakqwy], added a pander mode to his blinky board which shows the Hackaday Jolly Wrencher in a Persistence of Vision mode. We love pandering, and obviously you just need to start the mode and wave the board back and forth. But in thinking the obvious you’d be wrong.

blinktronicator-board
Badass deadbug soldering to “fix” a mirrored shift register footprint

In the video after the break [Zach] demonstrates all the features of the blinktronicator and it’s recently finalized firmware. The tiny little board is a USB dongle featuring two buttons and an arc of sixteen LEDs in a rainbow of colors. When we say tiny, we mean it. Those LEDs are 0402 components and the board was small enough (and interesting enough) to receive an honorable mention in the Square Inch Project.

You would think that soldering all those LEDs by hand would be the trick, but [Zach] pulled off a much more difficult feat. Look closely at the image here (or click to embiggen). The two shift register footprints on the prototype were mirrored. He deadbug soldered each of them using — get this — the individual strands from some 28 AWG stranded wire. You sir, get the hardcore hand soldering badge and then some.

Okay, we’ll stop beating around the bush. The ATtiny45 on this board isn’t connected to the USB data lines, they’re only for power. That means, at its heart this is purely a blinking LED project, albeit one that uses the huge range of colors of the PICOLED family of parts. [Zach] did well with just two user inputs, but it’s the very simple POV party trick that really sucked us in. Instead of waving the board around, [Zach] uses a metal offset spatula as a mirror. Moving it back and forth unfolds the carefully timed flashes to draw your message in the air. Such a simple concept, but so satisfying to see it applied in a slightly different way.

Continue reading “Blinktronicator’s POV Sends Our Eyebrows Rocketing Skyward”

Hacking The IM-ME To Open Garages

If you have a wireless controlled garage door, a child’s toy can wirelessly open it in a few seconds. [Samy Kamkar] is a security researcher who likes to”think bad, do good”. He’s built OpenSesame, a device that can wirelessly open virtually any fixed-code garage door in seconds, exploiting a new attack he’s discovered in wireless fixed-pin devices, using the Mattel IM-ME toy.

The exploit works only on a gate or garage which uses “fixed codes”. To prevent this type of attack, all you need to do is to upgrade to a system which uses rolling codes, hopping codes, Security+ or Intellicode. These are not foolproof from attack, but do prevent the OpenSesame attack along with other traditional brute forcing attacks. It seems there are at least a couple of vendors who still have such vulnerable products, as well as several more whose older versions are affected too.

Before you read further, a caveat – the code released by [Samy] is intentionally bricked to prevent it from being abused. It might work, but just not quite. If you are an expert in RF and microcontrollers, you could fix it, but then you wouldn’t need his help in the first place, would you?

The IM-ME is a defunct toy and Mattel no longer produces it, but it can be snagged from Amazon or eBay if you’re lucky. The Radica Girltech IM-ME texting toy has been extensively hacked and documented. Not surprising, since it sports a TI CC1110 sub-GHz RF chip, an LCD display, keyboard, backlight, and more.  A good start point is the GoodFET open-source JTAG adapter, followed by the work of [Travis Godspeed] , [Dave] and [Michael Ossmann].

One issue with fixed code systems is their limited key space. For example, a remote with 12 binary dip switches supports 12 bits of possible combinations. Since its binary and 12 bits long, that’s 2^12, which is 4096 possible combinations. With a bit of math, [Samy] shows that it takes 29 minutes to open an (8-12)-bit garage, assuming you know the frequency and baud rate, both of which are pretty common. If you have to attempt a few different frequencies and baud rates, then the time it takes is a multiple of 29 minutes. If you don’t transmit the codes multiple times, and remove the pauses in between codes, the whole exercise can be completed in 3 minutes.

The weak link in the hardware is how the shift registers which decode the received codes work. Each bit is loaded in the register sequentially, gradually moving as additional bits come in and push the previous ones. This, and using an algorithm [Samy] wrote based on the De Bruijn sequence, the whole brute force attack can be completed in just over 8 seconds. OpenSesame implements this algorithm to produce every possible overlapping sequence of 8-12 bits in the least amount of time.

You can take a look at understanding how the code works by checking it out on Github. [Samy] loves doing such investigative work – check out his combo lock code breaker we featured recently, the scary, keyboard sniffing wall wart and the SkyJack – a drone to hack all drones.

Continue reading “Hacking The IM-ME To Open Garages”