For quite some time now, Marlin has been the firmware of choice for any kind of custom 3D printer, with only Klipper offering some serious competition in the open-source world. [Liam Powell] aims to introduce some more variety with the development of Prunt, a 3D printer control board and firmware stack.
Smooth motion control is Prunt’s biggest advantage: Klipper and Marlin use trapezoidal (three-phase) motion profiles, which aim for acceleration changes with physically impossible rapidity, leading to vibrations and ringing on prints. By contrast, Prunt uses a more physically realistic 31-phase motion profile. This lets the user independently adjust velocity, acceleration, jerk, snap, and crackle (the increasingly higher-order derivatives of position with respect to time) to reduce vibration and create smoother prints. To avoid sharp accelerations, Prunt can also turn corners into 15-degree Bézier curves.
The focus on smooth motion isn’t just a software feature; the Prunt control board uses hardware timers to control step generation, rather than the CPU. This avoids the timing issues which Klipper sometimes faces, and avoids slowing other parts of the program down. The board also seems to have a particular focus on avoiding electrical damage. It can detect short circuits in the heaters, thermistors, fans, and endstops, and can cut power and give the user a warning when one occurs. If the board somehow experiences a serious electrical fault, the USB port is isolated to prevent damage to the host computer. The firmware’s source is available on GitHub.
If you’re more interested in well-established programs, we’ve given a quick introduction to Klipper in the past. We’ve also seen people develop their own firmware for the Bambu Lab X1.
Weighing An Airplane As It Flies Overhead
Recently, [AlphaPhoenix] weighed an airplane. Normally, that wouldn’t be much of an accomplishment. Except in this case, the airplane happened to be in flight at the time. In fact we’re not sure what is more remarkable, as he not only weighed real actual airplanes but a paper airplane too!
To test the concept, a large scale is made from foamcore and four load cells which feed into an Arduino which in turn is connected to a laptop for a visualization. After a brief test with a toy car, [AlphaPhoenix] goes on to weigh a paper airplane as it flies over the scale. What we learn from the demonstration is that any weight from a flying object is eventually transferred to the ground via the air.
In the second part of the video a new, smaller, type of scale is created and taken to the airport where airplanes flying overhead are weighed over the course of three days. This new apparatus is basically a pressure sensor enclosed in a nominally air-tight box, essentially a fancy type of barometer. Measurements are taken, assumptions are made, and figures are arrived at. Unfortunately the calculated results are off by more than one order of magnitude, but that doesn’t stop this experiment from having been very cool!
If you’re interested in weighing things for fun or profit be sure to check out Hackaday Prize 2022: Arduino-Powered Weighing Scale Has A Real Analog Display or Reverse Engineering A Bathroom Scale For Automated Weight Tracking.
Continue reading “Weighing An Airplane As It Flies Overhead”
Capturing Screenshots Using A Fake Printer
If you have very old pieces of analogue test equipment with CRTs on your bench, the chances are they will all have surprisingly similar surrounds to their screens. Back when they were made it was common to record oscilloscope screens with a Polaroid camera, that would have a front fitting for just this purpose.
More recent instruments are computerized so taking a screen shot should be easier, but that’s still not easy if the machine can’t save to a handy disk. Along comes [Tom] with a solution, to hook up a fake printer, and grab the screen from a print.
Old instruments come with a variety of ports, serial, IEE-488, or parallel, but they should usually have the ability to print a screen. Then capturing that is a case of capturing an interpreting the print data, be it ESC/P, PCL5, Postscript, or whatever. The linked page takes us through a variety of techniques, and should be of help to anyone who’s picked up a bargain in the flea market.
This isn’t the only time we’ve touched on the subject of bringing older computerized equipment into the present, we’ve also shown you a disk drive emulator.
Thanks [JohnU] for the tip.
StatusNotifierItem: How Standard Non-Standards Tear Linux Desktops Apart
Theoretically when you write a GUI-based application for Linux there are standards to follow, with these all neatly documented over at the Freedesktop website. However, in reality, Freedesktop is more of a loose collection of specifications, some of which are third-party specifications that have somehow become the de facto standard. One example of this is the StatusNotifierItem spec that provides a way for applications to create and manage a ‘system tray’ icon.
This feature is incredibly useful for providing a consistent way to users for quickly accessing functionality and to see application status. Unfortunately, as [Brodie Robertson] notes in a recent video, not everyone agrees with this notion. Despite that Windows since 95 as well as MacOS/OS X and others provide similar functionality, Gnome and other Linux desktop environments oppose such system tray icons (despite a popular extension), with an inevitable discussion on Reddit as a result.
Although the StatusNotifierItem specification is listed on the Freedesktop website, it’s under ‘Draft specifications’ along with another, apparently internal-but-unfinished System tray proposal. Meanwhile DEs like KDE have integrated first-party support (KStatusNotifierItem) for the specification. There’s currently an active Freedesktop Gitlab discussion on the topic, whether StatusNotifierItem should even be in the list, or become an approved specification.
With the specification mired in bureaucracy and multiple camps pushing their own idea of what ‘the Linux desktop’ should look like, it feels like a real shame that the Linux Standard Base effort died a decade ago. Users and developers just want their desktop environment to come with zero surprises, after all.
Continue reading “StatusNotifierItem: How Standard Non-Standards Tear Linux Desktops Apart”
Making A Brushless DC Motor Winding Machine
Over on his YouTube channel our hacker [Yuchi] is building an STM32 BLDC motor winding machine.
This machine is for winding brushless motors because manual winding is highly labor intensive. The machine in turn is made from four brushless motors. He is using the SimpleFOC library to implement closed-loop angle control. Closed-loop torque control is also used to maintain correct wire tension.
The system is controlled by an STM32G431 microcontroller. The motor driver used is the DRV8313. There are three GBM5208 75T Gimbal motors for close-loop angle control, and one BE4108 60T Gimbal motor for torque control. The torque control motor was built with this machine! [Yuchi] says that the Gimbal motors used are designed to be smooth, precise, and powerful at low speeds.
Continue reading “Making A Brushless DC Motor Winding Machine”
The Most Trustworthy USB-C Cable Is DIY
We like USB-C here at Hackaday, but like all specifications it is up to manufacturers to follow it and sometimes… they don’t. Sick of commercial cables either don’t label their safe wattage, or straight up lie about it, [GreatScott!] decided to DIY his own ultimate USB-C-PD cable for faster charging in his latest video, which is embedded below.
It’s a very quick project that uses off-the-shelf parts from Aliexpress: the silicone-insulated cable, the USB-C plugs (one with the all-important identifier chip), and the end shells. The end result is a bit more expensive than a cable from Aliexpress, but it is a lot more trustworthy. Unlike the random cable from Aliexpress, [GreatScott!] can be sure his has enough copper in it to handle the 240W it is designed for. It should also work nicely with USB PPS, which he clued us into a while back. While [GreatScott!] was focusing here on making a power cable, he did hook up the low-speed data lines, giving him a trustworthy USB2.0 connection.
This isn’t the first time we’ve seen someone test USB gear and find it wanting, though the problem may have improved in the last few years. Nowadays it’s the data cables you cannot trust, so maybe rolling your own data cables will make a comeback. (Which would at least be less tedious than than DB-25 was back in the day. Anyone else remember doing that?) USB-C can get pretty complicated when it comes to all its data modes, but we have an explainer to get you started on that. Continue reading “The Most Trustworthy USB-C Cable Is DIY”
Dead Amstrad Becomes Something New
When you run into old hardware you cannot restore, what do you do? Toss it? Sell it for parts? If you’re [TME Retro], you hide a high-end mini PC inside an Amstrad-shaped sleeper build.
The donor laptop is an Amstrad ALT-286 with glorious 80s styling that [TME Retro] tried to save in a previous video. Even with help from the community there was no saving this unit, so we can put away the pitchforks and torches. This restomod is perhaps the best afterlife the old Amstrad could have hoped for.
At first [TME Retro] was going to try and fit an iPad Pro screen, but it turned out those don’t have the driver-board ecosystem the smaller iPads do, so he went with a non-retina LCD panel from Amazon instead. Shoving an LCD where an LCD used to live and sticking an expensive mini-PC inside a bulky 80s case is not the most inspiring of hacks, but that’s not all [TME Retro] did.