A render of the moon, on a circular display.

Put The Moon On Your Desk

Most people take the Moon for granted, not considering its slow cycle where the sun gradually illuminates different parts of it. A recent project from [Karsten Mueller] helps you keep our nearest celestial neighbor in mind by putting a tiny version on your desk. (German)

The device itself is made with a circular display, an ESP32-S3, and a simple 3D printed case. But the interesting part is the software — it’s not just a moon phase display, it actually takes your local time, latitude and longitude into account. The resulting image is an approximation of what the moon looks like if you were to look at it, even if you wouldn’t actually be able to see it, such as when it is obscured by the Earth or barely visible during the daylight sky. Initially the project actually used a photograph of the Moon that [Karsten] personally snapped, but there’s also an option to pull the imagery from NASA.

The original write-up is in German, but there’s also an English page for the project on Hackaday.io, and the source is available on GitHub if you’d like to put one together yourself.

Between-Device Sharing Still Sucks

Once upon a time, computing was simple. You had files on a floppy disk. If you wanted to take them to a different computer, you ejected the disk from one machine and put it in another. It wasn’t fast, but it was easy and intuitive. Besides, you probably only had one computer of your own, anyway.

Life has since gotten a lot more complex. You’ve got a desktop, a laptop, a work laptop, your personal and business phones, and a smart watch to boot. You live amongst a swirling maelstrom of terabytes of data. Despite all the technical advances that got you here, it’s still a pain to get a file from one device to another, even when they’re sitting on the same desk. Why?!

Continue reading “Between-Device Sharing Still Sucks”

Bring Back That Aged Scanner, In Your Browser

We have probably all at some point had to replace a peripheral not because it is faulty, but because it is no longer supported by our operating system. It’s especially bad for Windows users, but for older hardware this is increasingly a part of the Linux experience too. [George MacKerron] is here with what may prove to be a valuable technique to keep these devices active. He’s running a minimalist x86 computer in the browser, with just enough OS to support the device.

In this case the hardware is a USB scanner, and the resulting software takes a WebAssembly x86 emulator and adds a bit of glue software allowing it to use WebUSB to talk to the real-world hardware. It runs a minimal Alpine Linux environment with SANE — something that’s normal for Linux users but which has never been there on a Windows machine. The result is something which needs no installation, but can be run on any machine with a powerful enough web browser.

While such an approach might at first seem like overkill, we’re told it runs surprisingly quickly. In this case it’s for scanner, but we can see it could find a use with many other pieces of aged hardware.

If WebAssembly is new to you, we gave it a primer a few years ago.


Header image: Fir0002/Flagstaffotos, GFDL 1.2.

DecayDock Keeps Track Of Spoilage

Many of us have suffered the common experience of buying a great deal of (now very expensive) food, only to have it go off before it can be consumed. [ptallthings93] has whipped up a simple device to try and tackle this problem.

The result is DecayDock, which lives on a fridge and tries to keep track of what’s going on inside. It achieves this with the use of an ESP32-CAM module, which combines the capable microcontroller with a camera for image detection work. With the aid of an Edge AI model, it’s able to detect common food items that are held in front of the camera, which are in turn added to an internal inventory. The items are tracked over time based on expected shelf lives, and the freshness of various items in the fridge is displayed on an attached LCD screen with a green/yellow/red color coding system.

The system is only making estimates—it’s not able to actually identify when the cheese has gone moldy or the milk has gone sour. Still, if you struggle to remember what you should be prioritizing to use in your fridge, it might be a handy aid.

Ultimately, we never really saw smart fridges dominate the market, even though the idea has long been a popular one in futurist circles. Perhaps none of them thought that nobody really wants to stand staring down at a screen on the fridge all day. In reality, some areas of the home are best left unsmartified.

Two printed circuit boards made from 3D prints and copper foil. One white and one black substrate.

Using 3D Printers To Make Circuit Boards

Custom printed circuit boards have become more and more accessible to the average hobbyist over the last decade. But one problem still remains: your circuits will take at least a couple days to make. But what if you needed some really rapid prototypes? [The Raccoon Lab] shows us how to do it with a 3D printer.

You start with the usual hobby PCB pipeline: take your idea, make a schematic, and then lay it out in KiCad. That’s where the changes start: to keep traces strong, they are made very thick. The PCB is then exported and opened in 3D CAD software, where the traces are extruded to be 2 mm tall. Off to the printer! The newly printed “circuit board” is made conductive by applying copper tape to it, and traces are cut out along their raised edges.

The result is a very quick and dirty PCB. Sure, it isn’t exactly production-ready, but for just about any simple microcontroller project it’ll do just fine, and it’s a whole lot more accessible than milling one using a CNC! We’ve seen a few variations on this approach recently, including some custom software designed to help along the process.
Continue reading “Using 3D Printers To Make Circuit Boards”

Building A Device To Map Magnetic Fields

Magnetic fields are all around us. We can’t really feel or see them ourselves, per se, but we can map them with the right hardware, like this device built by [edosari50].

The build uses an ESP32 microcontroller, which is built on to a board with an integrated 4.3″ touchscreen LCD. It’s paired with an Arduino Nano, which does the work of actually talking to a pair of EMS100 Fluxgate magnetic sensors. The slower, less capable Arduino handles the low-level chatter and then passes the readouts to the ESP32 over a UART connection. Power is courtesy of a pair of 18650 lithium-ion cells, and a XL4005 DC-DC converter. A lithium-ion charging module is on hand to keep the batteries topped off safely.  Scan results are visualized on the device itself using a heatmap representation, and can also be exported to SD card for later analysis if so desired.

Unless you’re in the geological field or otherwise hunting for stuff underground, this probably isn’t a tool you’ll have a lot of use for. However, if you like finding magnetic anomalies and investigating them, it might be very much in your wheelhouse. We’ve featured other tools for magnetic visualization before, too. Video after the break.
Continue reading “Building A Device To Map Magnetic Fields”

The 8-bit Web Server

Even [maurycyz] doesn’t think it is a good idea, but it is possible to use an AVR 8-bit CPU to serve web pages. Of course, it is a vastly simplified web server, but it does serve pages — OK, technically just one page — to the public Internet.

Working backward, it is fairly easy to get the microcontroller to note an HTTP request and then simply spit out a prerecorded HTTP response to provide the page. The hard part is connecting the little processor to the network. The server is dead simple, just a CPU and a scant number of components like filter caps and LEDs. The trick is to use SLIP, an ancient protocol used to connect dial-up modem terminals to the network.

Linux supports SLIP, so the MCU connects to a Linux computer via SLIP. Then the Linux computer uses WireGuard to network with the remote web server that serves [maurycyz’s] site. The SLIP implementation assumes that IP packets aren’t fragmented, which is normally true these days. TCP was a bit more complicated since you have to track the connection state and possibly re-transmit lost packets. Still, nothing the AVR with 8 K of RAM and 64 K of flash can’t handle.

Practical? No. Cool? Sort of. Funny that a disposable vape has more CPU power. Of course, something like an ESP32 is an obvious choice.