Raspberry Pi Chiptune Player Rocks a Sound Chip from the 80’s

Sometimes it’s worth doing something in an inefficient way. For example, it might be worth it in order to learn something new, or just to use a particular part. [Deater] did just that with the Raspberry Pi AY-3-8910 Chiptune Player (with LED visualizers!)

The venerable General Instrument AY-3-8910 series sound chips were common in older hardware like home computers and game consoles as well as sound cards for the Apple II family. They were capable of generating three channels of square waves with various effects. Developers eventually squeezed every little bit of performance out with clever hacks. The Raspberry Pi has more than enough power to do all this in software, but as [Deater] puts it, it’s far more interesting to use an actual AY-3-8910 from the 80’s. Some LED bar graphs and matrices round out the whole system.

All the code for the Raspberry Pi AY-3-8910 chiptune player can be found on [deater]’s github repository for the project. A video of the player banging out some sounds is embedded after the break.

Continue reading “Raspberry Pi Chiptune Player Rocks a Sound Chip from the 80’s”

Realize the Truth… There Is No Word Clock

Do you always look at it encoded? – Well you have to. The image translators work for the construct program.

Word clocks are supposed to de-encode time into a more readable format. Luckily [Xose Pérez] managed to recover the encoded time signal of the simulation we are all living in with his word clock that displays time using a stylish Matrix code animation.

[Xose] already built his own versions of [Philippe Chrétien’s] Fibonacci Clock and [Jeremy Williams’s] Game Frame, and while doing so he designed a nice little PCB. It’s powered by an ATmega328p, features an RTC with backup battery, an SD-card socket, and it’s ready to drive a bunch of WS2812Bs aka NeoPixels. Since he still had a few spare copies of his design in stock, his new word clock is also driven by this board.

Continue reading “Realize the Truth… There Is No Word Clock”

Ikea Projection Lamp Makeover Adds LED Matrix and Raspberry Pi Zero

If you’re like us, it’s hard to walk through an Ikea without mentally hacking everything there into something else. The salad bowl? Parabolic antenna. Drawer slides? Linear motion rails. Storage containers? Etching tank. We admit that we still haven’t figured out what to do with that 1,000-pack of tea lights.

[Alain Mauer] pulled off an Ikea hack that we’ve always dreamed about. In particular, he took the Sprida projector lamp and wedged an 8×8 LED matrix and Raspberry Pi Zero into it.

The lamp in question is essentially a slide projector for kids. Before [Alain] got to it, it had an LED in the back, a mount for a slide in the middle, and a focusing lens on the front. His mod is simplicity itself: remove the LED and transparency, and place the LED matrix in the focal plane where the slide used to be. Reverse images on the LED in software to compensate for the lens, and you’re done.

The video says “Raspberry Pi Zero with WiFi” and the project title promises “IoT”, but we don’t see the WiFi in the build. We’re guessing that [Alain] will get around to it — it’s easily doable. (Doh! There’s a tiny USB WiFi dongle providing the obligatory wireless connection.) Anyway, the point is the projection, and we love it, and we’d be lying if we said it didn’t make us think about RGB matrices.

Continue reading “Ikea Projection Lamp Makeover Adds LED Matrix and Raspberry Pi Zero”

1575 Bottles of Beer on the (LED) Wall

Say hello to my little friend, lovingly named Flaschen Taschen by the members of Noisebridge in San Francisco. It is a testament to their determination to drink Corona beer get more members involved in building big displays each year for the Bay Area Maker Faire. I pulled aside a couple of the builders for an interview despite their very busy booth. When you have a huge full-color display standing nine feet tall and ten feet wide it’s no surprise the booth was packed with people.

Check out the video and then join me after the break for more specifics on how they pulled this off.

Continue reading “1575 Bottles of Beer on the (LED) Wall”

Exquisite LED Handbag in the Wild

There is a lot of spectacle on display at Maker Faire. But to be honest, what I love seeing the most are well-executed builds pulled off by passionate hackers. Such is the case with [Debra Ansell]. She wasn’t exhibiting, just taking in all the sights like I was. But her bag was much better than my drab grey camera-equipment filled backpack; she build a handbag with an LED matrix and did it so well you will scratch your head trying to figure out if she bought it that way or not.

Gerrit and I walked right up and asked if she’d show it to us. We weren’t the only ones either. [Debra’s] bag started drawing a crowd as she pulled out her cellphone and sent “Hackaday” to the 10×15 matrix over Bluetooth. Check out our video interview below.

Continue reading “Exquisite LED Handbag in the Wild”

Real-time Driving of RGB LED Cube using Unity3D

RGB LED cubes are great, but building the cube is only half the battle – they also need to be driven. The larger the cube, the bigger the canvas you have to exercise your performance art, and the more intense the data visualization headache. This project solves the problem by using Unity to drive an RGB LED cube in real-time.

Landscape animation RGB Cube - smallWe’re not just talking about driving the LEDs themselves at a low level, but how you what you want to display in each of those 512 pixels.

In the video, you can see [TylerTimoJ]’s demo of an 8x8x8 cube being driven in real-time using the Unity engine. A variety of methods are demonstrated from turning individual LEDs on and off, coloring swaths of the cube as though with a paintbrush, and even having the cube display source image data in real-time (as shown on the left.)

Continue reading “Real-time Driving of RGB LED Cube using Unity3D”

LED Matrix Plus Geiger Counter

A lot of projects get made because someone just has the parts lying around. In this case, [Ed Nisley] got given a nice 8×8 RGB LED matrix, and needed something to display. [Ed] details the transformation of stuff-lying-on-the-desk into a unique matrix display for a Geiger counter (which he also presumably had sitting around somewhere). The result is a lightshow that’s as random as radioactive decay, and that’s pretty darn random.

img_5583-random-led-dots-circuit-layout-rb-smd-resistorsThe first post covers the hardware layout. It’s build on protoboard, but ends up looking a lot nicer than our projects because [Ed] spent some time hiding the shift-register ICs and row-driver transistors underneath the matrix itself, which was nicely socketed above. A sweet touch is the use of SMT resistors soldered upright underneath the board to save space. Cute.

The second post covers the circuit design, and is worth a look if you’re new to driving many LEDs from a minimum number of microcontroller pins. There are eight rows, and three colors each for eight LEDs per row. Without using shift registers, this would require 8*8*8*8 = way too many pins to control. If you want a worked example of how to do this with just four microcontroller pins, have a look. (Spoiler: cascaded shift registers driven by the AVR’s hardware SPI peripheral.)

The third post starts to flesh out the software. [Ed] settled on seven colors (and off) for the display, so the matrix’s total state can be crammed into just 32 bytes, which fits nicely in even a tiny microcontroller, much less the gargantuan ATmega328. Wrapping this all up in an array of structs and providing a couple of helper functions makes quick work of the software side. The addition of a sync pulse to trigger an oscilloscope at the end of a row is a nice touch.

aware-rm-60-geiger-pulseNext up is the Geiger counter interface software post. When a radioactive decay event is detected, the code reads out the time in milliseconds and uses that as the source of randomness. To whiten the noise, the times are run through a simple hash function: the Jenkins hash (link). This hash function was new to us and seems pretty useful for quick-and-dirty microcontroller applications.

The last post details pre-loading the matrix on startup and running a test sequence that blinks each LED to make sure they’re all working. Using a single random value to seed a software pseudo-random number generator ensures that it will (almost) never start off with the same display twice.

Phswew! That’s a lot of well-documented writeup of a well-polished project! Hope it inspires you to dig out something cool from your junk drawer and build.