Smart Mirror Talks To 3D Printers

As time goes by, it’s only getting easier to make a magic mirror. You know, a mirror connected to the internet that shows information like news, weather, or whatever you want, right there on top of your stunning visage. In [Forsyth Creations]’ case, that data includes 3D printer activity on the network — something that’s way more relevant to daily life than say, headlines about Kim Jong Un’s weight loss progress. The build video is embedded below.

Thanks to projects like [MichMich]’s MagicMirror, everything is done with modules, including really useful things such as OctoMirror that let you keep an eye on your 3D printer(s) using OctoPrint.

The electronics are pretty simple here — [Forsyth Creations] used the guts of an old monitor for the display and a Raspberry Pi to serve up the modules as a web page. The only tricky part is power, because the LCD is going to need so much more voltage than the Pi and the absolutely necessary LEDs around the edge, but a couple of buck converters do the trick.

After stripping the monitor of all of its unnecessary plastic, [Forsyth Creations] cut rear and front frames to support the electronics. That isn’t a piece of mirror glass, it’s actually one-way acrylic which is lighter and somewhat cheaper. [Forsyth Creations] designed and printed some corner support brackets that double as leveling screw holders to get the acrylic panel dialed in just right, and you can get these for yourself from GitHub. We think this would be a good early woodworking project or something for a long weekend. [Forsyth Creations] built this in three days on an apartment balcony using a minimum of tools.

We especially admire that once it was done, he hung it up with a French cleat. Those are so useful.

Continue reading “Smart Mirror Talks To 3D Printers”

Software Defined… CPU?

Everything is better when you can program it, right? We have software-defined radios, software-defined networks, and software-defined storage. Now a company called Ascenium wants to create a software-defined CPU. They’ve raised millions of dollars to bring the product to market.

The materials are a bit hazy, but it sounds as though the idea is to have CPU resources available and let the compiler manage and schedule those resources without using a full instruction set. A system called Aptos lets the compiler orchestrate those resources.

Continue reading “Software Defined… CPU?”

DIY Camera Dolly Costs More Time Than Money

A camera dolly can be fantastic filmmaking tool, and [Cornelius] was determined to create his own version: the “Dope” DIY Dolly. The result not only upped his production quality, but was also entirely in line with his DIY approach to filmmaking in general.

A basic dolly design is straightforward enough: a flat platform with wheels, and some aluminum tubing upon which to roll. But while dolly assemblies are easy to purchase or rent, [Cornelius] found that his DIY version — which used easily sourced parts and about 80 hours worth of 3D printing — provided perfectly acceptable results, while opening the door to remixing and sharing with like-minded filmmakers.

Interested? Download the STL files to get started on your own version. As for the track, smooth metal pipe is best, but sometimes track made from PVC can do the job. [Cornelius] has a few additional STL files for those planning to make a base from 1″ PVC pipe, and those are on a separate download link near the bottom of the project page (here’s that link again.) Watch the Dope Dolly in action in the brief video embedded below.

On the other hand, if you prefer your DIY camera equipment to be on the smaller and more complicated end of the spectrum, be sure to check out this multi-axis camera slider.

Continue reading “DIY Camera Dolly Costs More Time Than Money”

Reimagine Supportive Tech For The Newest Hackaday Prize Challenge

Beginning right now, the 2021 Hackaday Prize challenges you to Reimagine Supportive Tech. Quite frankly, this is all about shortcuts to success. Can we make it easier for people to learn about science and technology? Can we break down some barriers that keep people from taking up DIY as a hobby (or way of life)? What can we do to build on the experience and skill of one another?

For instance, to get into building your own electronics, you need a huge dedicated electronics lab, right? Of course that’s nonsense, but we only know that because we’ve already been elbow-deep into soldering stations and vacuum tweezers. To the outsider, this looks like an unclimbable mountain. What if I told you that you could build electrics at any desk, and make it easy to store everything away in between hacking sessions? That sounds like a job for [M.Hehr’s] portable workbench & mini lab project. Here’s a blueprint that can take a beginner from zero to solder smoke while having fun along the way.

What about breaking down complex topics into something us newbies can swallow? Radio signals are all around us, but again the barriers to getting into SDR are many and varied. A great bit of supportive tech would be a project that shows simple hardware and shares a virtual machine with the open source software toolchain already set to go. A beginner could pick something like this up and be listening for transponders from airplanes passing by in a matter of hours.

If you’re reading this, chances are you’ve spent countless joyful hours learning how to do some difficult and fascinating stuff. Share the wealth!  Take an existing hardware concept and make it modular and easy to use. Refine an existing design to make it more approachable for users with any range of mobility challenges. Or pull together a beginner-friendly project to move STEM education forward.

Ten finalists from this round will win $500 and be shuttled onto the final round judging in October for a chance at the $25,000 Hackaday Prize and four other top prizes. Start your project page on and use the dropdown in the left sidebar to enter it into the 2021 Hackaday Prize.

An OLED Photo Frame Powered By The ATtiny85

Rolling your own digital picture frame that loads images from an SD card and displays them on an LCD with a modern microcontroller like the ESP32 is an afternoon project, even less if you pull in somebody else’s code. But what if you don’t have the latest and greatest hardware to work with?

Whether you look at it as a practical application or an interesting experiment in wringing more performance out of low-end hardware, [Assad Ebrahim]’s demonstration of displaying digital photographs on an OLED using the ATtiny85 is well worth a look. The whole thing can put put together on a scrap of perfboard with a handful of common components, and can cycle through the five images stored on the chip’s flash memory for up to 20 hours on a CR2032 coin cell.

As you might expect, the biggest challenge in this project is getting all the code and data to fit onto the ATtiny85. To that end [Assad] wrote his own minimal driver for the SSD1306 OLED display, as the traditional Adafruit code took up too much space. The driver is a pretty bare bones implementation, but it’s enough to initialize the screen and get it ready for incoming data. His code also handles emulating I2C over Atmel’s Universal Serial Interface (USI) at an acceptable clip, so long as you bump the chip up to 8 MHz.

For the images, [Assad] details the workflow he uses to take the high-resolution color files and turn them into an array of bytes for the display. Part of that it just scaling down and converting to 1-bit color, but there’s also a bit of custom Forth code in the mix that converts the resulting data into the format his code expects.

This isn’t the first time we’ve seen somebody use one of these common OLED displays in conjunction with the ATtiny85, and it’s interesting to see how their techniques compare. It’s not a combination we’d necessarily chose willingly, but sometimes you’ve got to work with whats available.

SOL75 Uses AI To Design Standard Mechanical Parts

[Francesco] developed a parametric design tool called SOL75 which aims to take the drudgery out of designing the basic mechanical parts used in projects. He knows how to design things like gears, pulleys, belts, brackets, enclosures, etc., but finds it repetitive and boring. He would rather spend his time on the interesting and challenging portions of his project instead.

The goal of SOL75 is to produce OpenSCAD and STL files of a part based on user requirements. These parameters go beyond the simple dimensional and include performance characteristics such as peak stress, rigidity, maximum temperature, etc. The program uses OpenSCAD to generate the geometries and a core module to evaluate candidate designs. In an attempt to overcome the curse of dimensionality, [Francesco] has trained an AI oracle to quickly accept or reject candidate solutions.

In the realm of parametric design aids, you have projects like NopSCADlib which dimensionally parameterize a large collection of common objects by numbers alone ( a 100 cm long, 6.35 mm diameter brass tube with 1.22 mm wall thickness ) or industry standard specifications ( a 10 mm long M3 socket head cap screw ). This approach doesn’t take into account whether the object will hold up in your application nor does it consider any 3D printing issues. At the other extreme, there are the generative design and optimization tools found in professional packages like Fusion 360 and SolidWorks which can make organic-looking items that are optimized precisely for the specified conditions.

SOL75 seems to fall in the middle, combine characteristics of both approaches. It gives you the freedom to select dimensional parameters and performance requirements, yet bounds the solution space by only offering objects that have been prepared ahead of time by domain experts — if you ask for an L-bracket, you’ll get an L-bracket and not something that looks like a spider web or frog leg.

Once you compile the design, SOL75 generates the OpenSCAD and/or STL files and a bill of materials. But wait — there’s more– it also makes a thorough design handbook documenting the part in great detail, including the various design considerations and notes on printing. Here is a demonstration link for an electronics enclosure which is pretty interesting. There is also an example of using SOL75 to make a glider, which you can read about on the project page.

For now, [Francesco] has only made SOL75 available in a register-by-email online Beta version, as he’s still undecided on what form the final version will be. Do you have any success (or failure) stories regarding generative designs? Let us know in the comments below.

The Newlib Embedded C Standard Library And How To Use It

When writing code for a new hardware platform, the last thing you want to do is bother with the minutiae of I/O routines, string handling and other similarly tedious details that have nothing to do with the actual project. On bigger systems, this is where the C standard library would traditionally come into play.

For small embedded platforms like microcontrollers, resources are often tight enough that a full-blown stdlib won’t fit, which is why Newlib exists: to bring the portability benefits of a standard library to microcontrollers.

Whether you use C, C++ or MicroPython to program an MCU, Newlib is likely there under the hood. Yet how exactly does it integrate with the hardware, and how are system calls (syscalls) for e.g. file and input/output handling implemented? Continue reading “The Newlib Embedded C Standard Library And How To Use It”