ESP-Drone: Building An ESP32-Based Quadcopter For Not Much Cash

What’s the cheapest quadcopter you can build? As [Circuit Digest] demonstrates with their variant of the ESP-Drone project by Espressif, you only need a minimum of parts: an ESP32 MCU, an inertial measurement unit (IMU) such as the MPU6050, and four MOSFETs to drive the brushless DC motors. As the PCB also forms the structural frame and landing struts for the quadcopter, not even a 3D printer is needed. All told, [Circuit Digest] figures the total BOM comes in at around 1,000 Indian Rupees, or about $12 USD.

The fully assembled ESP-Drone flying around. (Credit: Circuit Digest)
The fully assembled ESP-Drone flying around. (Credit: Circuit Digest)

While this [Circuit Digest] project provides basic IMU functionality, the Espressif project also has a few expansion boards detailed on its hardware page, depending on the base model of the mainboard you pick. The [Circuit Digest] project follows the ESPlane-V2-S2 version with no expansion boards, but the ESP32-S2-Drone V1.2 mainboard can be extended with position-hold, pressure and compass modules, as well as custom boards.

As a derivative of the Bitcraze Crazyflie project, the ESP-Drone firmware also supports the rather nifty cfclient software for remote monitoring, logging and control. This may also be in the [Circuit Digest] firmware, but wasn’t listed among the features.

Continue reading “ESP-Drone: Building An ESP32-Based Quadcopter For Not Much Cash”

Using Electroadhesion To Reversibly Adhere Metals And Graphite To Hydrogels And Tissues

The usual way to get biological tissues and materials like gels and metals to stick together is using sutures, adhesives or both. Although this generally works, it’s far from ideal, with adhesives forming a barrier layer between tissues and the hard or impossible to undo nature of these methods. A viable alternative might be electroadhesion using cation and anion pairs, which uses low-voltage DC to firmly attach the two sides, with polarity reversal loosening the connection with no permanent effects. This is what a group of researchers have been investigating for a few years now, with the most recent paper on the topic called Reversibly Sticking Metals and Graphite to Hydrogels and Tissues by [Wenhao Xu] and colleagues published this year in ACS Central Science.

This follows on the 2021 study published in Nature Communications by [Leah K. Borden] and colleagues titled Reversible electroadhesion of hydrogels to animal tissues for suture-less repair of cuts or tears. In this study a cationic hydrogel (quaternized dimethyl aminoethyl methacrylate, QDM) was reversibly bonded to bovine aorta and other tissues, with said tissues functioning as the anionic element. Despite demonstrated functionality, the exact mechanism which made the application of 3-10 VDC (80 – 125 mA) for under a minute (10+ seconds) cause both sides to bond so tightly, and reversibly, is still unknown. This is where the recent study provides a mechanism and expands the applications.

Continue reading “Using Electroadhesion To Reversibly Adhere Metals And Graphite To Hydrogels And Tissues”

Art Exhibit Lets You Hide From Self-Driving Cars

In the discussions about how dangerous self-driving cars are – or aren’t – one thing is sorely missing, and that is an interactive game in which you do your best to not be recognized as a pedestrian and subsequently get run over. Even if this is a somewhat questionable take, there’s something to be said for the interactive display over at the Asian Art Museum in San Francisco which has you try to escape the tyranny of machine-vision and get recognized as a crab, traffic cone, or something else that’s not pedestrian-shaped.

Daniel Coppen, one of the artists behind “How (not) to get hit by a self-driving car,” sets up a cone at the exhibit at the Asian Art Museum in San Francisco on March 22, 2024. (Credit: Stephen Council, SFGate)
Daniel Coppen, one of the artists behind “How (not) to get hit by a self-driving car,” sets up a cone at the exhibit at the Asian Art Museum in San Francisco on March 22, 2024. (Credit: Stephen Council, SFGate)

The display ran from March 21st to March 23rd, with [Stephen Council] of SFGate having a swing at the challenge. As can be seen in the above image, he managed to get labelled as ‘fire’ during one attempt while hiding behind a stop sign as he walked the crossing. Other methods include crawling and (ab)using a traffic cone.

Created by [Tomo Kihara] and [Daniel Coppen], it’s intended to be a ‘playful, engaging game installation’. Both creators make it clear that self-driving vehicles which use LIDAR and other advanced detection methods are much harder to fool, but given how many Teslas are on the road using camera-based systems, it’s still worth demonstrating the shortcomings of the technology.

There’s no shortage of debate about whether or not autonomous vehicles are ready to share the roads with human drivers, especially when they exhibit unusual behavior. We’ve already seen protesters attempt to confuse self-driving systems with methods that aren’t far removed from what [Kihara] and [Coppen] have demonstrated here, and it seems likely such antics will only become more common with time.

The Intel 8088 And 8086 Processor’s Instruction Prefetch Circuitry

The 8088 die under a microscope, with main functional blocks labeled. This photo shows the chip's single metal layer; the polysilicon and silicon are underneath. (Credit: Ken Shirriff)
The 8088 die under a microscope, with main functional blocks labeled. This photo shows the chip’s single metal layer; the polysilicon and silicon are underneath. (Credit: Ken Shirriff)

Cache prefetching is what allows processors to have data and/or instructions ready for use in a fast local cache rather than having to wait for a fetch request to trickle through to system RAM and back again. The Intel 8088  (and its big brother 8086) processor was among the first microprocessors to implement (instruction) prefetching in hardware, which [Ken Shirriff] has analyzed based on die images of this famous processor. This follows last year’s deep-dive into the 8086’s prefetching hardware, with (unsurprisingly) many similarities between these two microprocessors, as well as a few differences that are mostly due to the 8088’s cut-down 8-bit data bus.

While the 8086 has 3 16-bit slots in the instruction prefetcher the 8088 gets 4 slots, each 8-bit. The prefetching hardware is part of the Bus Interface Unit (BIU), which effectively decouples the actual processor (Execution Unit, or EU) from the system RAM. While previous MPUs would be fully deterministic, with instructions being loaded from RAM and subsequently executed, the 8086 and 8088’s prefetching meant that such assumptions no longer were true. The added features in the BIU also meant that the instruction pointer (IP) and related registers moved to the BIU, while the ringbuffer logic around the queue had to somehow keep the queueing and pointer offsets into RAM working correctly.

Even though these days CPUs have much more complicated, multi-level caches that are measured in kilobytes and megabytes, it’s fascinating to see where it all began, with just a few bytes and relatively straight-forward hardware logic that you easily follow under a microscope.

Exploring The Sega Saturn’s Wacky Architecture

Sega Saturn mainboard with main components labelled. More RAM is found on the bottom, as well. (Credit: Rodrigo Copetti)
Sega Saturn mainboard with main components labelled. More RAM is found on the bottom, as well. (Credit: Rodrigo Copetti)

In the annals of game console history, the Sega Saturn is probably the most convoluted system of all time, even giving the Playstation 3 a run for its rings. Also known as the system on which Sega beached itself before its Dreamcast swansong, it featured an incredible four CPUs, two video processors, multiple levels and types of RAM, all pushed onto game studios with virtually no software tools or plan how to use the thing. An introduction to this console’s architecture is provided by [Rodrigo Copetti], which gives a good idea of the harrowing task of developing for this system.

Launched in Japan in 1994 and North America and Europe in 1995, it featured a double-speed CD-ROM drive, Hitachi’s zippy new SH-2 CPU (times two) and some 3D processing grunt that was intended to let it compete with Sony’s Playstation. The video and sound solutions were all proprietary to Sega, with the two video processors (VDP1 & 2) handling parts of the rendering process which complicated its use for 3D tasks, along with its use of quadrilaterals instead of triangles as with the Playstation and Nintendo 64.

Although a lot of performance could be extracted from the Saturn’s idiosyncratic architecture, its high price and ultimately the competition with the Sony Playstation and the 1996 release of the Nintendo 64 would spell the end for the Saturn. Although the Dreamcast did not repeat the Saturn’s mistakes, it seems one commercial failure was enough to ruin Sega’s chances as a hardware developer.

Hybrid Binaries On Windows For ARM: ARM64EC And ARM64X Explained

With ARM processors increasingly becoming part of the desktop ecosystem, porting code that was written for x86_64 platforms is both necessary and a massive undertaking. For many codebases a simple recompile may be all it takes, but where this is not straightforward Microsoft’s ARM64EC (for ‘Emulator Compatible’) Application Binary Interface (ABI) provides a transition path. Unlike Apple’s ‘Fat Binaries’, this features hybrid PE executables (ARM64 eXtended, or ARM64X) that run mixed ARM64EC and x86_64 binary code on Windows 11 ARM systems. An in-depth explanation is provided by one of the authors, [Darek Mihocka].

ARM64EC was announced by Microsoft on June 28, 2021 as a new feature in Windows 11 for ARM, with more recently Qualcomm putting it forward during the 2024 Game Developers Conference (GDC) as one reason why high-performance gaming on its Snapdragon SoCs should be much easier than often assumed. Naturally, this assumes that Windows 11 is being used, as it contains the x86_64 emulator with ARM64EC support. The major difference between plain ARMv8 and ARM64EC code is that the latter has changes on an ABI level to e.g. calling conventions that ease interoperability between emulated x86_64 and ARM64 code.

Although technologically impressive, Windows 11’s marketshare is still rather small, even before looking at Windows 11 on ARM. It’ll be interesting to see whether Qualcomm’s bravado comes to fruition, and make ARM64EC more relevant for the average software developer.

3D Printing Real Wood With Just Cellulose And Lignin

Although the components of wood – cellulose and lignin – are exceedingly cheap and plentiful, combining these into a wood-like structure is not straightforward, despite many attempts to make these components somehow self-assemble. A recent attempt by [MD Shajedul Hoque Thakur] and colleagues as published in Science Advances now may have come closest to 3D printing literal wood using cellulose and lignin ink, using direct ink writing (DIW) as additive manufacturing method.

Microstructures of 3D-printed wood after printing and post-printing operations. (Credit: Thakur et al., 2024)
Microstructures of 3D printed wood after printing and post-printing operations. (Credit: Thakur et al., 2024)

This water-based ink was created by mixing TOCN (tempo-oxidized cellulose nanofiber), a 10.6 wt % aqueous CNC (cellulose nanocrystals) and lignin in a 15:142:10 ratio, giving it roughly the viscosity of clay. The purpose of having both TOCNs and CNCs is to replicate the crystalline and amorphous cellulose elements of wood-based cellulose.

This ink was printed from a syringe head (SDS-60) installed in a Hyrel 3D Engine HR 3D printer. This printer is much like your average FDM printer, just targeting bioprinting and a wide range of heads to print and handle various attachments in a laboratory setting. The ink was extruded into specific shapes that were either freeze dried to get rid of the liquid component, or additionally also heated (at 180°C), with a third set of samples put into a hot press. These additional steps seem to promote the binding of the lignin and create a more durable result.

Continue reading “3D Printing Real Wood With Just Cellulose And Lignin”