A Nested Gear Clock

One of the most common projects we see here at Hackaday is a clock. It could just be that we as humans are fascinated by the concept of time or that making a piece of functional art appeals to our utilitarian sense. In that spirit, [Alexandre Chappel] set out to make a large mechanical clock with complex gears.

The initial design was made in Fusion360 over a week and then in a somewhat bold move, [Alexandre] started up the CNC and cut all the parts out of valchromat. The basic idea of the clock is that the numbers move on the clock, not the hands. So the clock should show 10:25 instead of moving hands to the 10 and the 5. Most of the clock is made of up stacked gear assemblies, geneva drives, and many bearings. A single stepper motor drives the whole clock, which [Alexandre] admits is a bit of a cheat since trying to add springs and an escapement would add complexity to an already complex clock. He did have to adjust and recut a few gears but most of the assembly came together nicely. Some 3d printed numbers dropped into the CNCed slots offers much-improved readability.

A few problems became apparent once the system was together. The numbers don’t quite line up perfectly, which is unfortunate. He mentioned that tighter tolerances on the gears would likely help there. A fatal design flaw on the smallest disk became apparent as it needs to turn a sixth of the circle whereas the outer circle is just turning a tenth of the circle. Mechanical advantage isn’t in [Alexandre’s] favor and the stepper skips some steps and it slowly makes its way towards the next second digit of the hour.

If you’re looking for more beautiful artistic clocks, why not check out this circuit sculpture one?

Continue reading “A Nested Gear Clock”

Cracking The Spotify Code

If you’ve used Spotify, you might have noticed a handy little code that it can generate that looks like a series of bars of different heights. If you’re like [Peter Boone], such an encoding will pique your curiosity, and you might set out to figure out how they work.

Spotify offers a little picture that, when scanned, opens almost anything searchable with Spotify. Several lines are centered on the Spotify logo with eight different heights, storing information in octal. Many visual encoding schemes encode some URI (Uniform Resource Identifier) that provides a unique identifier for that specific song, album, or artist when decoded. Since many URIs on Spotify are pretty long (one example being spotify :show:3NRV0mhZa8xeRT0EyLPaIp which clocks in at 218 bits), some mechanism is needed to compress the URIs down to something more manageable. Enter the media reference, a short sequence encoding a specific URI, generally under 40 bits. The reference is just a lookup in a database that Spotify maintains, so it requires a network connection to resolve. The actual encoding scheme from media reference to the values in the bars is quite complex involving CRC, convolution, and puncturing. The CRC allows the program to check for correct decoding, and the convolution enables the program to have a small number of read errors while still having an accurate result. Puncturing is just removing bits to reduce the numbers encoded, relying on convolution to fill in the holes.

[Peter] explains it all in his write-up helpfully and understandably. The creator of the Spotify codes stopped by in the comments to offer some valuable pointers, including pointing out there is a second mode where the lines aren’t centered, allowing it to store double the bits. [Peter] has a python package on Github with all the needed code for you to start decoding. Maybe you can incorporate a Spotify code scanner into your custom Spotify playing mini computer.

Shady Air Umbrella Given New Lease On Life

Many infamous Kickstarter projects have ultimately flopped or failed, leaving backers frustrated and angry. Often pitched with a splashy convincing video that happens to have critical components conveniently offscreen. [Allen Pan] was reminiscing about one such project, the air umbrella, and decide to redeem the project by making his own.

The basic idea of the air umbrella was a device that could create a cone of fast-moving air over your head to deflect air. Going off of the specs listed on the original Kickstarter page, [Allen] made a simple prototype that did nothing. Suspicions confirmed, he decided to keep going by buying a powerful electric leaf blower. A nozzle was 3d printed that could direct the air into the needed disc. Early testing with the mist function on a garden hose seemed promising, and they worked their way up to progressively larger raindrops.

Finally, the clouds of California smiled upon them, and it rained. [Allen] was ecstatic that his umbrella worked. He couldn’t hear much out of one ear as he was holding a leaf blower next to it for a few minutes, but it’s a small price to pay to stay dry with the Air Umbrella.

If you’re curious about more false Kickstarter claims, why not read up on this tiny Arduino compatible board making some dubious claims.

[Header image courtesy of Air Umbrella Kickstarter page]

Continue reading “Shady Air Umbrella Given New Lease On Life”

What’s The Deal With UEFI?

It seems like there are two camps, the small group of people who care about UEFI and everyone else who doesn’t really notice or care as long as their computer works. So let’s talk about what UEFI is, how it came to be, what it’s suitable for, and why you should (or shouldn’t) care.

Continue reading “What’s The Deal With UEFI?”

Sam testing the motor on his ebike

E-MonoWheel

Generally, monowheels are that wacky, wildly futuristic transport that we lump in the same category as hoverbikes and jetpacks: strange, currently impractical, but very cool. Not content with waiting for the distant future, [Sam Barker] made his own electric monowheel. (Video, embedded below.)

The hardest part of any monowheel is that the outside rim needs to stand enormous abuse. It supports the weight of the vehicle and provides most of the structural integrity, but also is the means of propulsion. [Sam]’s first thought was to use a trampoline frame as it is a round and reasonably sturdy tube steel. He 3D printed the rollers that connected the subframe to the trampoline frame. Flat bar stock was used to make the angles inside the subframe and straight tube steel connected the inner frame into a trapezoid. The trampoline frame was welded together and on the first test spin, it broke apart from the stress. It simply wasn’t strong enough.

Not to be dissuaded, he found a company that bends steel into custom shapes. He stole the e-bike kit from another bike he had converted earlier, and the wheel was turning. Some handles and foot-pedal later, it was time for a proper test drive. Overall, the result is pretty impressive and the double-takes [Sam] gets while riding down streets in town are wonderful. If you’re looking to scratch the monowheel itch, check out this wooden monowheel.

Continue reading “E-MonoWheel”

Firefox logo displayed on screen

Firefox Brings The Fire: Shifting From GLX To EGL

You may (or may not) have heard that Firefox is moving from GLX to EGL for the Linux graphics stack. It’s an indicator of which way the tides are moving in the software world. Let’s look at what it means, why it matters, and why it’s cool.

A graphics stack is a complex system with many layers. But on Linux, there needs to be an interface between something like OpenGL and a windowing system like X11. X11 provides a fundamental framework for drawing and moving windows around a display, capturing user input, and determining focus, but little else. An X11 server is just a program that manages all the windows (clients). Each window in X11 is considered a client. A client connects to the server over a Unix process socket or the internet.

OpenGL focuses on what to draw within the confines of the screen space given by the window system. GLX (which stands for OpenGL Extension to the X window system) was originally developed by Silicon Graphics. It has changed over the years, gaining hardware acceleration support and DRI (Direct Rendering Interface). DRI is a way for OpenGL to talk directly to the graphical hardware if the server and the client are on the same computer. At its core, GLX provides OpenGL functions to X11, adds to the X protocol by allowing 3d rendering commands to be sent, and an extension that reads rendering commands and passes them to OpenGL.

EGL (Embedded-System Graphics Library) is a successor of GLX, but it started with a different environment in mind. Initially, the focus was embedded systems, and devices such as Android, Raspberry Pi, and Blackberry heavily lean on EGL for their graphical needs. Finally, however, Wayland decided to use EGL as GLX brought in X11 dependencies, and EGL offers closer access to hardware.

When Martin Stránský initially added Wayland support to Firefox, he used EGL instead of GLX. Additionally, the Wayland implementation had zero-copy GPU buffer sharing via DMABUF (a Linux kernel subsystem for sharing buffers). Unfortunately, Firefox couldn’t turn on this improved WebGL’s performance for X11 (it existed but was never stable enough). Nevertheless, features kept coming making Wayland (and consequently EGL) a more first-class citizen. Now EGL will be enabled by default in Firefox 94+ with Mesa 21+ drivers (Mesa is an implementation of OpenGL, Vulkan, and other specifications that translate commands into instructions the GPU can understand).

Continue reading “Firefox Brings The Fire: Shifting From GLX To EGL”

Zac shows off his sound diffusion panels

Taking The Bark Out Of Reverb With Wood Scraps

For the past few years, many have become used to having virtual meetings in their homes. Spaces like kitchen tables, couches, spare bedrooms, and hammocks in the yard have all become “offices”. As you can imagine, many of these spaces aren’t well known for their acoustic qualities. [Zac] built a sound diffusion art piece out of scrap pieces of wood to help his office sound better when recording.

Reverb is caused by sound bouncing off hard, flat surfaces like drywall. These reflections are picked up by the microphone and lead to a noticeable drop in perceived sound quality. There are generally two ways to kill reverb in a space: diffusion and absorption. Diffusion is the technique that [Zac] is going for, with thousands of faces at different angles and locations, it breaks up the harsh reflections into millions of tiny reflections. Absorption is usually accomplished with foam and other typically soft substances.

[Zac] happened to have a large pile of offcuts and extra material from past projects of various wood species, making it easy to make a visually interesting piece. He used a table saw to rip them to a consistent width and a drum sander reduced them all to the same depth. Next, the long sticks were cut with a miter saw into 5 different lengths, leaving him with thousands of little pieces of wood. The hard part began when he had to glue several thousand pieces to a plywood backer board with CA glue. Sanding, finishing with poly, and a french cleat made the three pieces ready to hang on the wall.

Overall, the effect is stunning. While we’d love more hard data on the improvement, it certainly does sound better anecdotally. If you’re interested in more woodworking, take a look into making an inlay without a CNC. Video after the break.

Continue reading “Taking The Bark Out Of Reverb With Wood Scraps”