A long, rectangular electronic device is shown in front of a book of colour swatches. A small LCD display on the electronic device says “PANTONE 3005 C,” with additional color information given in smaller font below this.

A Spectrophotometer Jailbreak To Resolve Colorful Disputes

The human eye’s color perception is notoriously variable (see, for example, the famous dress), which makes it difficult to standardize colours. This is where spectrophotometers come in: they measure colours reliably and repeatably, and can match them against a library of standard colors. Unfortunately, they tend to be expensive, so when Hackaday’s own [Adam Zeloof] ran across two astonishingly cheap X-Rite/Pantone RM200 spectrophotometers on eBay, he took the chance that they might still be working.

Continue reading “A Spectrophotometer Jailbreak To Resolve Colorful Disputes”

A screenshot of the software in action is shown. A sidebar on the left shows an icon of a skull-shaped drone above the text “DAMN VULNERABLE DRONE.” Below this, it lists controls for the simulator, and resources for using the software. In the rest of the screen, a rendered scene is shown. A rendered computer monitor showing “DRONE HACKER” is at the bottom of the scene. Above this is a hovering drone, and behind it is a table labeled “Ground Control Station” with a man sitting at it.

A Vulnerable Simulator For Drone Penetration Testing

The old saying that the best way to learn is by doing holds as true for penetration testing as for anything else, which is why intentionally vulnerable systems like the Damn Vulnerable Web Application are so useful. Until now, however, there hasn’t been a practice system for penetration testing with drones.

The Damn Vulnerable Drone (DVD, a slightly confusing acronym) simulates a drone which flies in a virtual environment under the command of of an Ardupilot flight controller. A companion computer on the drone gives directions to the flight controller and communicates with a simulated ground station over its own WiFi network using the Mavlink protocol. The companion computer, in addition to running WiFi, also streams video to the ground station, sends telemetry information, and manages autonomous navigation, all of which means that the penetration tester has a broad yet realistic attack surface.

The Damn Vulnerable Drone uses Docker for virtualization. The drone’s virtual environment relies on the Gazebo robotics simulation software, which provides a full 3D environment complete with a physics engine, but does make the system requirements fairly hefty. The system can simulate a full flight routine, from motor startup through a full flight, all the way to post-flight data analysis. The video below shows one such flight, without any interference by an attacker. The DVD currently provides 39 different hacking exercises categorized by type, from reconnaissance to firmware attacks. Each exercise has a detailed guide and walk-through available (hidden by default, so as not to spoil the challenge).

This seems to be the first educational tool for drone hacking we’ve seen, but we have seen several vulnerabilities found in drones. Of course, it goes both ways, and we’ve also seen drones used as flying security attack platforms.

Continue reading “A Vulnerable Simulator For Drone Penetration Testing”

Two views of a motor are shown. On the left, a ring of copper-wire-wound stator arms is visible inside a ring of magnets. Inside this, a planetary gearbox is visible, with three mid-sized gears surrounding a small central gear. On the right, the same motor is shown, but with the internal components mostly covered by a black faceplate with brass inserts.

A Budget Quasi-Direct-Drive Motor Inspired By MIT’s Mini Cheetah

It’s an unfortunate fact that when a scientist at MIT describes an exciting new piece of hardware as “low-cost,” it might not mean the same thing as if a hobbyist had said it. [Caden Kraft] encountered this disparity when he was building a SCARA arm and needed good actuators. An actuator like those on MIT’s Mini Cheetah would have been ideal, but they cost about $300. Instead, [Caden] designed his own actuator, much cheaper but still with excellent performance.

The actuator [Caden] built is a quasi-direct-drive actuator, which combines a brushless DC motor with an integrated gearbox in a small, efficient package. [Caden] wanted all of the custom parts in the motor to be 3D printed, so a backing iron for the permanent magnets was out of the question. Instead, he arranged the magnets to form a Halbach array; according to his simulations, this gave almost identical performance to a motor with a backing iron. As a side benefit, this reduced the inertia of the rotor and let it reverse more easily.

To increase torque, [Caden] used a planetary gearbox with cycloidal gear profiles, which may be the stars of the show here. These reduced backlash, decreased stress concentration on the teeth, and were easier to 3D print. He found a Python program to generate planetary gearbox designs, but ended up creating a fork with the ability to export 3D files. The motor’s stator was commercially-bought and hand-wound, and the finished drive integrates a cheap embedded motor controller. Continue reading “A Budget Quasi-Direct-Drive Motor Inspired By MIT’s Mini Cheetah”

A 3D printer is in the process of printing a test piece. The printer has two horizontal linear rails at right angles to each other, with cylindrical metal rods mounted horizontally on the rails, so that the rods cross over the print bed. The print head slides along these rods.

An Open-Concept 3D Printer Using Cantilever Arms

If you’re looking for a more open, unenclosed 3D printer design than a cubic frame can accommodate, but don’t want to use a bed-slinger, you don’t have many options. [Boothy Builds] recently found himself in this situation, so he designed the Hi5, a printer that holds its hotend between two cantilevered arms.

The hotend uses bearings to slide along the metal arms, which themselves run along linear rails. The most difficult part of the design was creating the coupling between the guides that slides along the arms. It had to be rigid enough to position the hotend accurately and repeatably, but also flexible enough avoid binding. The current design uses springs to tension the bearings, though [Boothy Builds] eventually intends to find a more elegant solution. Three independent rails support the print bed, which lets the printer make small alterations to the bed’s tilt, automatically tramming it. Earlier iterations used CNC-milled bed supports, but [Boothy Builds] found that 3D printed plastic supports did a better job of damping out vibrations.

[Boothy Builds] notes that the current design puts the X and Y belts under considerable load, which sometimes causes them to slip, leading to occasional layer shifts and noise in the print. He acknowledges that the design still has room for improvement, but the design seems quite promising to us.

This printer’s use of cantilevered arms to support the print head puts it in good company with another interesting printer we’ve seen. Of course, that design element does also lend itself to the very cheapest of printers.

Continue reading “An Open-Concept 3D Printer Using Cantilever Arms”

Four brown perf board circuits are visible in the foreground, each populated with many large DIP integrated circuits. The boards are connected with grey ribbon cable. Behind the boards a vacuum fluorescent display shows the words “DIY CPU.”

Designing A CPU With Only Memory Chips

Building a simple 8-bit computer is a great way to understand computing fundamentals, but there’s only so much you can learn by building a system around an existing processor. If you want to learn more, you’ll have to go further and build the CPU yourself, as [MINT] demonstrated with his EPROMINT project (video in Polish, but with English subtitles).

The CPU began when [MINT] began experimenting with uses for his collection of old memory chips, and quickly realized that they could do quite a bit more than store data. After building a development board for single-chip based programmable logic, he decided to build a full CPU out of (E)EPROMs. The resulting circuit spans four large pieces of perfboard, weighs in at over half a kilogram, and took several weeks of soldering to create. Continue reading “Designing A CPU With Only Memory Chips”

A blue 3DBenchy is visible on a small circular plate extending up through a cutout in a flat, reflective surface. Above the Benchy is a roughly triangular metal 3D printer extruder, with a frost-covered ring around the nozzle. A label below the Benchy reads “2 MIN 03 SEC.”

Managing Temperatures For Ultrafast Benchy Printing

Commercial 3D printers keep getting faster and faster, but we can confidently say that none of them is nearly as fast as [Jan]’s Minuteman printer, so named for its goal of eventually printing a 3DBenchy in less than a minute. The Minuteman uses an air bearing as its print bed, feeds four streams of filament into one printhead for faster extrusion, and in [Jan]’s latest video, printed a Benchy in just over two minutes at much higher quality than previous two-minute Benchies.

[Jan] found that the biggest speed bottleneck was in cooling a layer quickly enough that it would solidify before the printer laid down the next layer. He was able to get his layer speed down to about 0.6-0.4 seconds per layer, but had trouble going beyond that. He was able to improve the quality of his prints, however, by varying the nozzle temperature throughout the print. For this he used [Salim BELAYEL]’s postprocessing script, which increases hotend temperature when volumetric flow rate is high, and decreases it when flow rate is low. This keeps the plastic coming out of the nozzle at an approximately constant temperature. With this, [Jan] could print quite good sub-four and sub-thee minute Benchies, with almost no print degradation from the five-minute version. [Jan] predicts that this will become a standard feature of slicers, and we have to agree that this could help even less speed-obsessed printers.

Now onto less generally-applicable optimizations: [Jan] still needed stronger cooling to get faster prints, so he designed a circular duct that directed a plane of compressed air horizontally toward the nozzle, in the manner of an air knife. This wasn’t quite enough, so he precooled his compressed air with dry ice. This made it both colder and denser, both of which made it a better coolant. The thermal gradient this produced in the print bed seemed to cause it to warp, making bed adhesion inconsistent. However, it did increase build quality, and [Jan]’s confident that he’s made the best two-minute Benchy yet.

If you’re curious about Minuteman’s motion system, we’ve previously looked at how that was built. Of course, it’s also possible to speed up prints by simply adding more extruders.

A plywood box with a clear plastic front is shown. Three needle gauges are visible on the front of the box, as well as a digital display, several switches, and some indicator lights. At the right of the box, a short copper tube extends from the box.

Building An X-Ray Crystallography Machine

X-ray crystallography, like mass spectroscopy and nuclear spectroscopy, is an extremely useful material characterization technique that is unfortunately hard for amateurs to perform. The physical operation isn’t too complicated, however, and as [Farben-X] shows, it’s entirely possible to build an X-ray diffractometer if you’re willing to deal with high voltages, ancient X-ray tubes, and soft X-rays.

[Farben-X] based his diffractometer around an old Soviet BSV-29 structural analysis X-ray tube, which emits X-rays through four beryllium windows. Two ZVS drivers power the tube: one to drive the electron gun’s filament, and one to feed a flyback transformer and Cockroft-Walton voltage multiplier which generate a potential across the tube. The most important part of the imaging system is the X-ray collimator, which [Farben-X] made out of a lead disk with a copper tube mounted in it. A 3D printer nozzle screws into each end of the tube, creating a very narrow path for X-rays, and thus a thin, mostly collimated beam.

To get good diffraction patterns from a crystal, it needed to be a single crystal, and to actually let the X-ray beam pass through, it needed to be a thin crystal. For this, [Farben-X] selected a sodium chloride crystal, a menthol crystal, and a thin sheet of mica. To grow large salt crystals, he used solvent vapor diffusion, which slowly dissolves a suitable solvent vapor in a salt solution, which decreases the salt’s solubility, leading to very slow, fine crystal growth. Afterwards, he redissolved portions of the resulting crystal to make it thinner.

The diffraction pattern generated by a sodium chloride crystal. A slide is shown with a dark black dot in the middle, surrounded by fainter dots.
The diffraction pattern generated by a sodium chloride crystal.

For the actual experiment, [Farben-X] passed the X-ray beam through the crystals, then recorded the diffraction patterns formed on a slide of X-ray sensitive film. This created a pattern of dots around the central beam, indicating diffracted beams. The mathematics for reverse-engineering the crystal structure from this is rather complicated, and [Farben-X] hadn’t gotten to it yet, but it should be possible.

We would recommend a great deal of caution to anyone considering replicating this – a few clips of X-rays inducing flashes in the camera sensor made us particularly concerned – but we do have to admire any hack that coaxed such impressive results out of such a rudimentary setup. If you’re interested in further reading, we’ve covered the basics of X-ray crystallography before. We’ve also seen a few X-ray machines.