LED Matrix Clock Proudly Shows Its Inner Wiring

Some projects take great care to tuck away wire hookups, but not [Roberto Alsina]’s Reloj V2 clock. This desktop clock makes a point of exposing all components and wiring as part of its aesthetic. There are no hidden elements, everything that makes it work is open to view. Well, almost.

The exception is the four MAX7219 LED matrices whose faces are hidden behind a featureless red panel, and for good reason. As soon as the clock powers up, the LEDs shine through the thin red plastic in a clean glow that complements the rest of the clock nicely.

[Roberto]’s first version was a unit that worked similarly, but sealed everything away in a wedge-shaped enclosure that was just a little too sterile, featureless, and ugly for his liking. Hence this new version that takes the opposite approach. Clocks have long showcased their inner workings, and electronic clocks — like this circuit-sculpture design — are no exception.

The only components, besides the Raspberry Pi Zero W and the LED matrices, are the 3D-printed enclosure with a few hex screws and double-sided tape. Design files and code (including the FreeCAD project file) are available should you want to put your own spin on [Roberto]’s design.

A hex dump of the first iteration of the small ELF file

How Small Can A Linux Executable Be?

With ever increasing sizes of various programs (video games being notorious for this), the question of size optimization comes up more and more often. [Nathan Otterness] shows us how it’s done by minifying a Linux “Hello, World!” program to the extreme.

A naive attempt at a minimal hello world in C might land you somewhere about 12-15Kb, but [Nathan] can do much better. He starts by writing everything in assembly, using Linux system calls. This initial version without optimization is 383 bytes. The first major thing to go is the section headers; they are not needed to actually run the program. Now he’s down to 173 bytes. And this is without any shenanigans!

A hexdump of the final ELF file, significantly smaller than the original
The final tiny ELF file

The first shenanigans are extreme code size optimizations: by selecting instructions carefully (and in a way a C compiler never would), he shaves another 16 bytes off. But the real shenanigans begin when he starts looking for spaces in the ELF header that he can clobber while the program is still accepted by Linux: now he can move his already tiny x86_64 code into these “vacant” spaces in the ELF and program headers for a final tiny ELF file weighing in at just 120 bytes.

P.S.: We know it is possible to make this smaller, but leave this as an exercise to the viewer.

An Oscilloscope The Way They Used To Be

It’s likely that Hackaday has a readership with the highest percentage of oscilloscope ownership among any in the world, and we’re guessing that most of you who fit in that bracket have a modern digital instrument on your bench. It’s a computer with a very fancy analogue front end, and the traces are displayed in software. Before those were a thing though, a ‘scope was an all-analogue affair, with a vacuum-tube CRT showing the waveform in real time. [Joshua Coleman] has made one of these CRT ‘scopes from scratch, and we rather like it.

Using a vintage two inch round tube, it includes all the relevant power supplies and input amplifiers for the deflection plates. It doesn’t include the triggers and timebase circuitry you’d expect from a desktop instrument though, so unless you add a sawtooth on its X input it’s only good for some Lissajous figures. But that’s not the point of a project like this one, because it’s likely even the cheapest of modern ‘scopes way exceeds any capabilities it would have even if it were fully formed. It’s a talking point and an attractive demonstration of a bit of early-20th-century physics, which probably many of us would appreciate if it were ours.

A video of the device is below the break, meanwhile we’ve taken a look in the past at the prehistory of the oscilloscope.

Continue reading “An Oscilloscope The Way They Used To Be”

Art of 3D printer in the middle of printing a Hackaday Jolly Wrencher logo

Improving FDM Filament Drying With A Spot Of Vacuum

Keeping your filament safely away from moisture exposure is one of the most crucial aspects of getting a good 3D print, with equipment like a filament dryer a standard piece of equipment to help drive accumulated moisture out of filament prior to printing or storage. Generally such filament dryers use hot air to accomplish this task over the course of a few hours, but this is not very efficient for a number of reasons. Increasing the vaporization rate of water without significantly more power use should namely be quite straightforward.

The key here is the vapor pressure of a liquid, specifically the point at which it begins to transition between its liquid and gaseous phases, also known as the boiling point. This point is defined by both temperature and atmospheric pressure, with either factor being adjustable. In a pressure cooker this principle is for example used to increase the boiling temperature of water, while for our drying purposes we can instead reduce the pressure in order to lower the boiling point.

Although a lower pressure is naturally more effective, we can investigate the best balance between convenience and effectiveness.

Continue reading “Improving FDM Filament Drying With A Spot Of Vacuum”

A laptop communicating with the drone via an Arduino

Reverse-Engineering The Holy Stone H120D Drone

There are plenty of drones (and other gadgets) you can buy online that use proprietary control protocols. Of course, reverse-engineering one of these protocols is a hacker community classic. Today, [Zac Turner] shows us how this GPS drone can be autonomously controlled by a simple Arduino program or Python script.

What started as [Zac] sniffing some UDP packets quickly evolved into him decompiling the Android app to figure out what’s going on inside. He talks about how the launch command needs accurate GPS, how there’s several hidden features not used by the Android app, et cetera. And it’s not like it’s just another Linux SoC in there, either. No, there’s a proper Real-Time Operating System (RTOS) running, with a shell and a telnet interface. The list of small curiosities goes on.

After he finished reverse-engineering the protocol, he built some Python scripts, through which you can see the camera feed and control the drone remotely. He also went on to make an Arduino program that can do the latter using an Arduino Nano 33 IoT.

Solar Balconies Take Europe By Storm

Solar power has been around for a long time now. Once upon a time, it was mostly the preserve of research projects and large-scale municipal installations. Eventually, as the technology grew ever cheaper, rooftop solar came along, and cashed-up homeowners rushed to throw panels on their homes to slash their power bills and even make money in some cases.

Those in apartments or rented accommodations had largely been left out of the solar revolution. That was, until the advent of balcony solar. Popular in Germany, but little known in the rest of the world, the concept has brought home power generation to a larger market than ever.

Continue reading “Solar Balconies Take Europe By Storm”

Refill UV Printer Ink Cartridges Like It’s The Late 90s

The Eufymake E1 is a recently-released prosumer UV printer that can print high-resolution color images onto pretty much anything. It also uses proprietary ink cartridges (which integrate a magnetic stirrer, nice) which are far more expensive than UV ink in bulk. So [charliex] set out to figure out how to refill the ink cartridges, including the cleaning cartridge.

If one doesn’t mind a bit of fiddling, cartridges can be refilled without having to add any new holes.

UV printing in general is a bit of a maintenance hog, which has helped keep it from hobbyist use. UV ink doesn’t really like sitting idle in a machine, but the E1 automates cleaning and flushing of the print head as well as having swappable cartridges for each ink. This makes it a lot more user-friendly than UV printing has historically been.

The cartridge hardware can have a longer serviceable life than the ink inside, so it makes sense to try to refill them. There are more reasons to do this than just limiting costs. What if one wishes to print and the parent company is sold out of cartridges? What if they shut down? Refilling cartridges, and emptying waste from the cleaning cartridge, would become imperatives — lest an expensive prosumer UV printer turn into a paperweight. Thankfully software DRM control of the cartridges seems limited, at least so far.

Refilling cartridges can be carefully done with syringes combined with manual bypass of spring-loaded valve mechanisms. Emptying the cleaning cartridge can similarly be done by syringe, and it even has a hidden refill port under some plastic at its top.

[charliex] approaches all of this from a reverse-engineering perspective, indeed, he has a whole separate blog post about the software for the printer. So his solution is much more informed and elegant than, for example, just melting a new refill hole in the side of the things. It’s an interesting read, so check it out.

Our own Tom Nardi took a close, hands-on look at the E1 printer last year and came away pretty impressed with its capabilities. The cartridges are a big part of the user-friendliness of the system, but we hope there remains a viable option for manual refill for those of us who want to control costs or don’t wish to be locked in, and don’t mind violating a warranty or two in the process.