Ever since I got my hands on an Orca 3D printer in 2013, the world of 3D printing started to fascinate me. In 2020, I bought myself a Creality Ender 3. Although this printer lies in the lower price segment and is targeted at beginners, it provides much room for extensions; some of which can be made on the printer itself. I added the following mods to my Ender 3:
- Two-color printing using a 2-in-1-out hotend and two extruders
- SKR v1.4 mainboard with silent stepper drivers
- Glass bed
- LED strip illumination
Automatic bed leveling
- Silent fans
Unfortunately, I had to give up automatic bed leveling (BLTouch) when adding the new mainboard. I've spent a lot of time debugging the firmware, checking the cabling et cetera, but had no success with that so far. Things that are still in the making:
- WiFi (Octoprint server) + Webcam
- Proper housing for the mainboard
- Automatic bed leveling
- Printer housing with 2020 extrusions
Pictures of the printer and my prints coming soon :-)
Hard Disk Eraser (Hades)
At Computerwerk Darmstadt, incoming hard drive donations often contain sensitive data from previous owners. We see it as our responsibility to wipe all data from these drives safely, since we plan to hand these devices over to their future owners. Merely deleting files by "right-click -> delete" is not an option, as this usually removes only the reference to a file but not its contents.
Instead, data are erased by overwriting them with zero-bits. Especially for older drives, it makes sense to repeat this process with random bits or patterns as well. Zero'ing can be done on Linux machines with a single command:
sudo dd if=/dev/zero of=/dev/sdaX status=progress && sync However, this is somewhat cumbersome for us, as we are dealing with multiple hard drives and selecting the wrong block device can lead to fatal mistakes (happened more than once).
I therefore developed Hades to automatize the process of safe hard-disk erasing. This software distribution comprises the following parts:
- Hadesd – Daemon that communicates with UDisks2 via dbus to fetch SATA-drive information. Manages "jobs", which are basically threads that write data (zeroes, Linux images, random numbers,...) to hard drives.
- hadesctl – Command-Line utility to query Hadesd info and to trigger jobs.
- QHades – Easy-to-use PySide2 (QT) GUI for Hadesd