OpenGL Shaders And An LED Cube

Back in February at the Hacker Hotel camp in the Netherlands, among the many pieces of work around the venue was a rather attractive LED cube. Very pretty, but LED cubes have been done many times before.

If a casual attendee had taken the time to ask though, they might have found something a little more interesting, for while the cube in question might have had the same hardware as the others it certainy didn’t have the same software. [Polyfloyd] had equipped his LED cube with OpenGL shaders to map arbitrary images to the cube’s pixels in 3D space.

Hardware-wise it’s the same collection of AliExpress LED panels and Raspberry Pi driver board that the other cubes use, in this case mounted on a custom laser-cut frame. Driver software comes from an open-source library round which he’s put a wrapper allowing input through a UNIX pipe. This can take the RGB output of an OpenGL shader, of which he has created both 2D to 3D and spherical projection versions. The must-see demo is a global map of light pollution, and the result is a rather impressive piece of work.

If LED cubes are your thing, don’t forget this recent Hackaday Prize entry.

Need A Small Keyboard? Build Your Own!

If you want keyboards, we can get you keyboards. If you want a small keyboard, you might be out of luck. Unless you’re hacking Blackberry keyboards or futzing around with tiny tact switches, there’s no good solution to small, thin, customization keyboards. There’s one option though: silicone keyboards. No one’s done it yet, so I figured I might as well.

Unfortunately, there is no readily available information on the design, construction, or manufacture of custom silicone keypads. There is a little documentation out there, but every factory that does this seems to have copy and pasted the information from each other. Asking a company in China about how to do it is a game of Chinese Whispers. Despite this, I managed to build a custom silicone keypad, and now I’m sharing this information on how to do it with you.

Continue reading “Need A Small Keyboard? Build Your Own!”

Vintage Slide Viewers Make Beautiful Retro Emulators

35mm still photography is still hanging on out in the wild, with its hardcore fans ensuring it never quite dies out despite the onward march of digital imaging. Slides are an even more obsolete technology, forgotten long ago when the quality of color negative films improved. The related paraphernalia from the era of the photographic slide continues to clutter up attics and garages the world over. [Martin Burlus] was in possession of some retro slide viewers, and found they made an excellent basis for a RetroPie build.

The build relies on stock standard fundamentals – a Pi Zero runs the show, combined with a USB hub and a power supply. [Martin] then chose to build this all inside the case of the slide viewer, combined with a 2.8″ PiTFT display. This neatly slots directly on to the Pi Zero’s 40-pin header, and comes complete with a touch screen. It’s the perfect size to slide into most slide viewers, though some models required removal of the tact buttons.

The slide viewers make for a charming enclosure, and the classic 1970s optics make for pleasant viewing. Throwing a modern display behind a vintage lens is a great way to give a project a more classic look and feel. One thing’s for sure – we’ll be keeping an eye out for a slide viewer of our own next time we’re passing through the local junk shops.

Making A Dash Button Update Your To-do List

Amazon’s Dash Buttons are useful little devices, that let you automatically order a wide variety of common household goods at the press of a button. They’re cheap and wireless and readily available, and that makes them ripe for hacking. In just this vein, [Inbar] and [Ezra] found a way to make the Dash buttons update their to-do list.

[Inbar] uses Any.do to manage his to-do list. There’s no public API, but the service can be configured to respond to Alexa commands. Naturally, this meant that if a Dash Button could be configured to trigger a voice command, Alexa would then make the necessary additions to the list.

This was achieved with lashings of Python, a Raspberry Pi, and Apple’s text-to-speech engine. The Raspberry Pi is set up as a wireless hotspot, to which the Dash Buttons are connected. When the button is pressed, a DHCP request goes out as the button tries to phone home. By scraping the MAC address from this request, the Raspberry Pi can identify which button has been pressed, and then plays a recorded voice sample of Apple’s Samantha voice. This voice was specifically chosen to be the one most reliably understood by Alexa, which is responsible for parsing the voice command and updating the list on Any.do.

It’s a cheeky hack that doesn’t bother itself with the nitty-gritty of interfacing with various services and tools. Instead, it laces up a bunch of easy-to-use software and hardware, and gets the job done just as well.

As we’ve seen, Amazon’s Dash Button has been thoroughly pwned. Video after the break. Continue reading “Making A Dash Button Update Your To-do List”

Etch-A-Snap Will Sketch Your Selfies

The Etch-a-Sketch was a hugely popular toy in the days before video games and the Internet became ubiquitous. These days, they’re a fun amusement, but can still be difficult to master. Rather than learn the necessary skills himself, [Martin Fitzpatrick] decided to build a machine to draw for him. Enter the Etch-a-Snap.

The build starts with a Raspberry Pi Zero, equipped with the requisite camera. Images taken are processed into a 100×60 pixel image with 1-bit color. At this stage, a network graph representation is built of the image and used to generate commands for the plotting mechanism to draw the scene. Plotting is achieved with stepper motors that turn the knobs through 3D-printed gears. Plotting is slow, with images taking 15 minutes to an hour to “develop”. The system can also be used to draw manually processed images, which can improve results when images are chosen carefully.

It’s a project that combines modern hardware with a classic toy for some interactive fun. We could imagine a large-scale version of this being a great installation at a science museum or MakerFaire. We’ve seen others tackle a computer-controlled Etch-A-Sketch, too. Video after the break.

Continue reading “Etch-A-Snap Will Sketch Your Selfies”

Automated Tuning Of Linux Audio

Audio systems in Linux are terrible. You’ve never known true pain until you’ve tried to set up a recording or broadcasting workstation running Linux. I did, twenty years ago, and nothing has changed since. This wasn’t really a problem when Linux was either used in server spaces or some nerd’s battle station, but now we have small single board computers that everyone uses and wants to turn into a modular synth. Welcome to paintown, because the Linux audio stack is terrible.

For the past ten years, [Dynobot] has been working on improving audio in Linux. This is a decade of reading manuals from IBM and Oracle, and a deep knowledge of how to adjust settings so audio actually works. All of this work is now combined into a single script that improves everything. This means the priority of the Audio group is changed, the thread priority is better, the latency is better, and for anyone who wants to set up a local streaming service, the network latency is better. It’s not everything, and there’s no mention of recording multitrack audio, but we’ll accept the baby steps here.

There are two relevant Github repositories for this, the first containing audio adjustments for Debian-based systems, including the Raspberry Pi. This should work on any single board computer running Debian, and has been tested on all the Raspberry Pis, the Allo Sparky, ASUS Tinkerboard, and the Odroid C2. There’s also a version for TinyCore-based Linux systems that improves the priority of the audio threads, changes the thread scheduling from ‘whatever’ to FIFO, and improves the latency. If you’re running Linux, and you’re doing something with audio, this is what you need.

Portable Pi Power Pack Makes For Petite Projects

Since the Pi Zero was released, there have been many attempts to add a power bank. Cell phone batteries are about the same size as a Pi Zero, after all, and adding a USB charging port and soldering a few wires to a Pi is easy. The PiSugar is perhaps the cutest battery pack we’ve seen for the Pi Zero, and it comes in a variety of Hats compatible with the Pi, capable of becoming a small display, a keyboard, or any other thing where a small, portable Linux machine is useful.

The core of this build is a small circuit board the size of a Pi Zero. Attached to this board is a 900mAh battery, and the entire assembly is attached to the Pi Zero with a set of two spring clips that match up with with a pair of pads on the back of the Pi. Screw both of these boards together, and you have a perfect, cableless solution to adding power to a Pi Zero.

But the PiSugar doesn’t stop there. There are also cases, for a 1.3 inch LCD top, a 2.13 inch ePaper display, an OLED display, a camera, a 4G module, and something that just presents the pins from the Pi GPIO header. This is an entire platform, and if you print these parts in white plastic, they look like tiny little sugar cubes filled to the brim with electronics and Linux goodness.

Yes, you’ve seen 3D printed Pi cases before, but nothing in the way of an entire platform that gives you a Pi Zero in an extensible platform that can fit in your pocket and looks like sweet, sweet cubes of sucrose.