A drone is shown flying above some trees and a building. A pink cloud of dots appears above the drone, and a purple cloud below the drone. Grey crosshairs are to the right of the drone.

Seeing The World In Radio Waves With The QuadRF

Although the basic principle of radio direction finding is easy to understand (measure the phase difference between different antennas, then calculate the angle of arrival from this difference), the radio hardware to actually implement this has historically been hard for hackers to access. The QuadRF project aims to change this by building a phase-coherent four-channel SDR which makes direction mapping easy (GitHub repository).

The QuadRF uses two boards: one to receive and pre-process radio waves, and a Raspberry Pi 5 for additional processing. The RF board has four patch antennas, each capable of either transmitting or receiving in the 4.9 GHz to 6.0 GHz range, with switchable right- or left-hand polarization. For on-device processing, it uses a Lattice ECP5 FPGA, which uses two MIPI cables to connect to the camera and display interfaces on the Raspberry Pi. These form a very high-speed data exchange, and after further processing, the Pi can pass data on over Ethernet or Wi-Fi. Individual QuadRF boards can connect together in a lattice grid to form larger phased arrays.

The QuadRF’s software shows off its real strength: it’s compatible with standard programs like GNU Radio, but it also hosts a few of its own programs. The most striking of these is an “RF camera” which scans its entire frequency range at 30 fps, tracking the direction of detected signals and visualizing them on a spatial plot. When overlaid on a camera feed, this plot lets one easily see the radio signals emitted from electronics; as an example, the creators tracked a drone in flight, even distinguishing the two radio transmitters on the drone.

This isn’t the first multi-antenna SDR we’ve seen, though this is the first that could transmit. It’s important to be careful, though: some applications of this kind of hardware run afoul of arms regulations.

Thanks to [Swake] for the tip!

A selection of materials sits on a counter. There is a fluorescent light bulb, two papers stained with dyes, and a few other pieces of paper with no obvious staining.

Building Your Own X-Ray Detector Screen

Fluoroscopy is probably the best-known method of X-ray imaging: an X-ray beam passes through the subject to be imaged, and the transmitted X-rays illuminate a phosphor screen. Dense objects, such as metal or bone, cast a shadow on the screen, which provides a real-time image of the subject’s interior. Already having access to X-ray sources, [MarcellF]’s next step was to investigate common phosphor materials, then synthesize his own.

Most common materials that fluoresce under ultraviolet light showed no activity under X-rays: fluorescein, quinine, UV fluorescent paint, and common fluorescent minerals emitted no noticeable glow under 80 kV X-ray stimulation. However, strontium aluminate phosphors did fluoresce well, with a strong afterglow, as did the phosphors in a fluorescent light bulb, some LEDs, and an electroluminescent panel. The electroluminescent panel, which used a zinc sulfide phosphor, was almost as bright as the gadolinium oxysulfide screen from a CT scanner’s detector and had no noticeable afterglow.

Continue reading “Building Your Own X-Ray Detector Screen”

A boiling flask is mounted in a heating manted, with a tube leading from it to a U-shaped tube. From here, the tube continues to a bottle of yellow fluid, from which another tube emerges. A flame is emitted from this last tube.

Building A Desktop Catalytic Cracker

Although crude oil contains a vast diversity of hydrocarbons, a comparatively small number of these make up the bulk of demand for oil. Cracking solves this mismatch: most of the demand is for light, short-carbon-chain molecules, so a cracker breaks down long-chain hydrocarbons into lighter, more commercially-valuable chemicals. This is usually done in massive industrial plants, but as [Markus Bindhammer] showed, it’s possible even in a tabletop apparatus.

There are several methods of cracking, but [Markus] used catalytic fluid cracking: a feedstock high in alkanes (hydrocarbons containing fully saturated carbon-carbon bonds) is heated in the presence of a catalyst, whereupon its long alkane chains split to form alkenes (hydrocarbons with a carbon-carbon double bond) with the loss of a hydrogen molecule. In [Markus]’s setup, a heating mantle heated a boiling flask containing paraffin oil and an amorphous silica-alumina catalyst. Vapors from this flask passed through a condenser tube and a bottle of bromine water, then escaped through a flashback arrestor. Bromine reacts far more readily with alkenes than with alkanes, so the disappearance of its characteristic yellow color would visually indicate the production of alkenes.

To avoid unwanted oxidation, [Markus] purged the cracker with argon before using it. While running the cracker, a flammable mixture of light hydrocarbons and hydrogen escaped from the flask of bromine water. The yellow color of bromine disappeared, and two phases formed: one aqueous, and a lighter phase of hydrocarbons and brominated hydrocarbons. The hot side of the reactor did not survive well; the catalyst turned black with coke, and the heating mantel’s cover fused to the boiling flask. However, the reaction undoubtedly succeeded: while a pool of normal paraffin oil wouldn’t ignite, the cracked oil lit easily.

To go the other way, from small molecules to larger hydrocarbon chains, [Markus] has also used the Fischer-Tropsch process.

Continue reading “Building A Desktop Catalytic Cracker”

Three brown pancakes are sitting in a frying pan.

Optimizing Pancakes From Chemical Principles

Although parents and teachers like to point out the deep link between cooking and chemistry, most people don’t deliberately apply any chemical principles beyond acid/base reactions to their recipes. Not so [Ben Kazez]: he’s written a thorough exploration of the chemical journey to the perfect pancake, and made a calculator for others to use with their own ingredients.

The goal is to optimize the pancakes along four dimensions: interior texture (light and smooth), a tangy flavour, rise, and a crisp, brown exterior layer. The tang comes from residual acids, and since lactic acid produces the best taste, dairy-based acid sources (such as Greek yoghurt or buttermilk) are preferable. Acids also react with baking soda to release carbon dioxide, making them a part of one of the four rising agents. The other three are carbon dioxide released when double-acting baking powder is heated, steam released from the batter, and air bubbles stabilized by egg white foam.

Dairy products, besides contributing acid, also provide a protein structure to keep the interior smooth. In a normal wheat-heavy pancake, two proteins (glutenin and gliadin) interact to form tough strands of gluten. Fats bind to hydrophobic amino acids in these proteins and shorten the gluten chains, hence the name shortening. Adding ricotta cheese also replaces some of this gluten network with a smoother structure of previously-denatured dairy proteins. Dairy products also contribute to the Maillard reaction between reducing sugars (such as lactose, glucose, and fructose) and amino acids, which causes the browning of the pancake’s surface. Besides being brown, the surface should be crisp; since amylose, found in corn starch, forms a brittle, glassy, crackly network when dehydrated, corn starch was added.

The result is a set of chemical equations which can be tuned to create perfect pancakes, combined in the calculator. This summary doesn’t do justice to the depth of the research here; [Ben] also investigated optimal batter resting times, fermentation, cooking fats, cooking surfaces, and spatula properties. If all this has you interested in more about dairy proteins, check out our article on cheesemaking.

Featured image: “Buttermilk pancakes from a recipe by Darina Allen” by [Didym]. 

A small, orange 3D printer is shown on a desk with a filament dry box. The printer is printing a waving cat figurine. The printer is a CoreXY configuration, and the side panels are 3D-printed orange plastic.

3D Printing A Miniature CoreXY Printer

Although no longer so common as during the heyday of the RepRap movement, it’s easier than ever to build your own largely-printed 3D printer, with designs such as Voron’s delivering excellent quality. Nevertheless, there are still niches to be filled by new designs, such as [Alex Yu]’s mostly-printed Encore design.

The Encore uses CoreXY kinematics and linear rails for the X and Y axes. Its has no internal frame; the linear rails are mounted directly to the side panels, which were printed but provided sufficient rigidity. The printer is modular, and all the parts are designed to fit within a 225 mm print bed. The Encore itself uses a 120 mm bed, a Bowden extruder, and a lightweight Bambu-style hotend. The drive motors are NEMA 17 stepper motors, and they use sliding mounts for belt tensioning. The power supply sits behind the rods supporting the Z axis, and the controller board is in the base of the printer.

Building the printer was simple; tuning it, less so. The combination of a Bambu-type hotend with a Bowden extruder created some complications, and the hotend initially received too little cooling. [Alex] solved the cooling issues by using a stronger fan on the hotend, redesigning the ventilation shroud, and adding two inward-blowing fans along the sides of the build volume. After correcting some issues with Z-axis stability, the Encore produced some quite good-looking parts. [Alex] is still improving and documenting some aspects of the printer, but he’s uploaded his progress so far to GitHub.

We’ve seen some mostly-printed printers before, including a high-speed printer, one which printed all structural components, and one which was entirely 3D printed.

Continue reading “3D Printing A Miniature CoreXY Printer”

A black plastic box is shown, with a green circuit board inside. The circuit board is wired to an RS-232 connector and an RJ-45 connector.

A High-Vacuum Controller For An Eventual Electron Microscope

[Chris Doble] has high ambitions: he’s making his own scanning-electron microscope, and as the first step he’s built a high-vacuum system. This required its own controller to manage the various electronics involved in the system, which he’s documented and open-sourced.

The vacuum system itself starts with a rotary-vane roughing pump, which can bring a chamber down from atmospheric pressure to about 10-3 millibar. This is still too high a pressure, so the second stage is a turbomolecular high-vacuum pump, which can operate from 18 millibar down to 10-7 millibar. To protect the turbomolecular pump in case the roughing pump suddenly stops, it includes an anti-suckback valve. Connected to these pumps is a pressure gauge which uses a pair of sensors to sense the entire pressure range. All this setup worked well, but the turbomolecular pump and the pressure sensor each used their own interfaces, while [Chris] wanted a single interface for the eventual microscope.

[Chris] therefore designed his own controller based on the Raspberry Pi Pico 2, with firmware written in Rust. The pressure gauge uses an RS-232 interface, which he connected to the Pico’s UART pins using an RS-232 level shifter, with a null modem to swap over the transmitting and receiving pins. The turbomolecular pump used an RS-485 interface, which required a converter circuit and some level-shifting resistors. A custom PCB and 3D-printed case hold the final circuit, which provides a host computer with a single USB interface. When [Chris] tested the controller, the vacuum chamber reached a pressure of 10-6 millibar, and was still slowly falling when he ended the test.

This isn’t the first vacuum chamber controller we’ve seen. Of course, this assumes that the pressure gauge already has a controller; if not, we’ve also covered one of those. To see the inspiration for [Chris]’s project, check out [Ben Krasnow]’s scanning-electron microscope.

A 3D printer hotend with four filament leads in positioned on an arm above a hole in a glass plate. Wires lead from a carbon fiber frame under the glass to four stepper motors with pulleys.

The Final Steps To A Sub-Minute Benchy

In 2024, [Jan Roetz] decided to see whether he could 3D print a Benchy – the boat-shaped benchmarking tool used in 3D printer calibration – in less than one minute. Two years later, after experiments with air bearing print beds, dry ice cooling, multi-filament hotends, and more, he’s finally broken the one-minute mark.

There are three primary factors limiting the speed of the printer: the extrusion flow rate, the cooling rate for extruded plastic, and the motion system itself. The printer’s hotend combines four strands of filament in one hotend and can extrude about 400 cubic millimeters of plastic per second. For cooling, an air duct around the nozzle could deliver about 400 liters of air per minute, which left the motion system as the only bottleneck.

The original print bed was on top of an air bearing on a granite base, and its motion could be controlled by cords connected to stepper motors. This whole system had very low friction, but its inertia was too high. [Jan] therefore replaced the build plate with a lighter carbon-fiber frame. This had no air bearing, but it slid between the base granite slab and a glass plate above it, which had an opening above the portion used as a build plate. Even the metal pulleys used on the stepper motors had too much inertia, so [Jan] replaced them with smaller, semi-circular plastic pulleys.

The first test was a sub-60-second dry run to make sure nothing would break. This revealed the need for cable guides to keep them from whipping around (not surprising when they were pulling the bed at an acceleration of 225 G). Finally, [Jan] was able to successfully print several successive 59-second Benchies. The prints weren’t photogenic, but they were mechanically sound and dimensionally correct. [Jan] could have gone even faster, but this degraded the print quality too much.

It’s quite an accomplishment, and an impressive conclusion to a major project; we covered the beginning of the project back when [Jan] was going for parallelization rather than speed. The final print didn’t use it, but he also experimented with dynamic temperature control.

Continue reading “The Final Steps To A Sub-Minute Benchy”