A square red circuit board is shown on a black workbench. The circuit board houses two large chips in the upper left corner, each with a large heat sink attached.

Just How Bad Was The Intel IAPX432?

Processor design over the last few decades has moved toward RISC processors that aim to implement a few simple operations very efficiently. For a while, though, the trend was toward ever-more-complex CISC designs that let programmers implement complex behaviors using as few instructions as possible. Few processors took this approach further than the Intel iAPX432. This hyper-CISC processor was a commercial failure, largely due to its notoriously poor performance, but [MarkTheQuasiEngineer]’s benchmark suggests that this notoriety wasn’t totally deserved.

The first step before running a benchmark was to build a computer around the processor. The iAPX432 was implemented in three chips, two of which acted as the general data processor (GDP), and one of which handled input and output. [Mark] built an SBC (design and code here) that houses the two GDP chips and an FPGA for I/O. The 432 did have a well-deserved reputation for efficiently turning electricity into heat, and the original voltage regulator failed rather quickly.

The 432 was designed to use machine code which was almost a high-level language, with built-in object-oriented programming. It had over 200 operators, some of which implemented complex object-oriented operations, and a wide variety of data types, but it had no directly-accessible general-purpose registers. In addition to the lack of registers, it also had a very complex addressing system, allowing both direct and indirect addressing. For better performance, [Mark] used direct addressing.

For the benchmark, [Mark] implemented the Spigot algorithm to calculate the value of Pi. The results were somewhat surprising: calculating 2048 digits, it beat his previous retro-processor benchmarks; an Intel 8086 running the same algorithm took 2.5 times as long. Based on the results of this hand-written code, [Mark] speculates that the 432’s poor performance had more to do with poor compiler optimization than with the fundamental design.

We’ve covered some of the history of this troubled chip before. For a similarly ambitious but ill-fated Intel project, check out the history of Itanium.

A 3D-printed telescope with an infrared laser on the side is pointed out the window of a building at night.

Long-Range Night Vision With An Infrared Laser

Most consumer-grade night vision devices are basically a standard camera without the usual filter to block near infrared (NIR) light, which are then paired with a NIR light source that’s not visible to the human eye. Unlike the passive night vision provided by an image intensifier tube, these can’t resolve objects beyond the beam of their illumination source. On the other hand, if, as [Project 326] did, you use an infrared laser to illuminate the scene, you can still get a very long range out of these devices.

[Project 326]’s device consists of a previously-built reflecting telescope focusing a distant scene in to a webcam with the infrared filter removed, with the infrared laser illuminating the scene. Finding a suitable laser took some effort: the first option, a secondhand fiber-coupled industrial laser, was accidentally over-volted and destroyed during testing. The second had a fiber output which proved extremely hard to terminate, and a third laser couldn’t be collimated correctly. The final laser was a Vertical-Cavity Surface-Emitting Laser (VSEL) diode array element driven at about two Watts and collimated by a small lens.

This illumination setup is safe at a long range, but only at a long range. The laser was strong enough to burn cardboard at close range, but out at about 500 meters, the beam had spread until it was less than a hundredth of the standard safety limit. To make sure that nothing else would get in the way of the beam, it was shone down from the top of a tall building. Testing with a power meter also showed that at a long range, the beam was weaker than expected. It turned out that the wavelength used (940 nm) is attenuated by water vapor, to the point that up to 70% of the beam’s strength was lost before reaching the target. Despite this, and despite a rather linear beam profile, a somewhat dark image was still visible at 650 meters.

If you’re looking for a somewhat more versatile long-range night vision device, check out one based on an image intensifier. Another approach is to use a very high-sensitivity camera.

Continue reading “Long-Range Night Vision With An Infrared Laser”

A black screen with green text is shown. The green text logs events from a VPN gateway.

Running A VPN Gateway On An ESP32

If you need a VPN gateway to access your home network, the fastest and most cost-effective way is probably by using a Raspberry Pi Zero. But in [Samir Makwana]’s view, an ESP32-S3 is just as capable for moderate use, and in some respects even superior.

This was possible thanks to the MicroLink project, which is a full implementation of a Tailscale client for the ESP32 family. In some ways the ESP32 worked better than a Raspberry Pi: it boots in two seconds rather than thirty, draws 0.5 Watts rather than 1.5, and there’s no chance of it failing due to a corrupted SD card. Compared to a Raspberry Pi, however, which can be set up as a Tailscale client in a few minutes, this took several hours to get running. The biggest issue was making sure that there was enough memory available for TLS handshakes, which was solved by enabling the ESP32’s PSRAM.

Once the VPN client is running, the ESP32 can be used as an SSH jump machine to access other devices on the home network, without needing to expose those machines to the open Internet. The ESP32 also hosts an HTTP server which can send a wake-on-LAN magic packet to another device on the local network, letting unused devices sleep without impairing their availability.

The ESP32 doesn’t provide much bandwidth — streaming video would cause issues — but it works well enough for lightweight applications. If you’re wanting to stream video from an ESP32, though, it is technically possible.

A mechanism made of brass and steel is attached to a milling machine. It has a long lever extending from the right side, a counterweight attached to the left side, and an indicator gauge in the middle.

A Precision Drill Press For Tiny Bits

Anyone who’s worked with even a 1 mm bit knows that while a drill press is all but essential, it isn’t proof against broken bits. Working with a 0.1 mm drill bit seems, therefore, all but impossible, which is why [Mike] of Chronova Engineering built this mechanism to simplify such drilling.

The mechanism is an attachment for a milling machine, and in principle it just needs to move the rotating drill bit up and down. It needs to be extremely precise, though. For context, a good-quality chuck normally has a runout of 30 to 50 microns, which is approaching half the diameter of the drill bit. The mechanism has a collet mounted in the milling machine’s spindle, which transfers rotation to a second spindle. The second spindle is mounted to a runout-compensating drill chuck, and is connected to a lever and counterweight which allow the user to make small, low-force movements. A dial indicator lets the user see how far the bit’s descended.

Most of the parts were machined out of steel or brass, with the handle being made of titanium for lower weight. When the finished device was mounted to the milling machine, the measured runout was severe. After much investigation and reworking, however, the problem turned out to be a damaged collet locating pin, not an issue with the drilling mechanism. As a first test, [Mike] drilled a 0.1 mm hole 1.8 mm deep, then as a challenge drilled six 0.1 mm holes in the end of a thin steel wire. The results weren’t quite as uniform as he wanted, but it took a scanning electron microscope to even see the imperfection.

It won’t help much with very fine drill bits, but if you need a very precisely-placed hole, check out this periscopic drilling camera. If you do break a drill bit in the workpiece, you might be able to dissolve it with alum.

Continue reading “A Precision Drill Press For Tiny Bits”

A cylindrical grey robot sits on a white mat. The robot is made of three grey sections connected by a series of radially-arranged copper pillars.

Controlling A Vibrobot With Only One Motor

The vibrobot – a vibrating motor and battery attached to the head of a brush – isn’t truly a robot, since its movement can’t be controlled, but it’s whetted the interest of many future roboticists. With a clever control method, though, it is in fact possible to drive them in any desired direction while using only one motor.

[Namaskar Mitro] based the design of this robot on this research paper; if the vibrating motor is mounted at an angle above the base of the robot, it causes the bot to rotate, and if the motor is mounted off-center from the center of mass, the robot moves in a circle. Crucially, reversing the direction of the motor’s rotation reverses the direction of the robot’s rotation. By rapidly switching the direction of rotation, the bot can move in a series of short, shallow arcs which approximate a straight line.

The robot which [Namaskar] built was based on an ESP-01F microcontroller, which let it be remote-controlled over Wi-Fi. It used a DRF8212 motor driver to control a vibrating pager motor, which was housed inside a 3D-printed enclosure. To move in a straight line, the ESP-01F switches the motor’s direction every 250 milliseconds, which still produces a slightly erratic movement. It can, however, approximately follow a traced path.

This adds to the previous vibrobot control methods we’ve seen: a pair of differentially-driven vibrating motors or a weight-shifting mechanism.

Thanks to [110y6] for the tip!

A web interface is shown providing information about a cellular network base station.

Running Your Own 3G Network

CDMA2000 was one of the protocols defined for 3G networks and is now years out of date and being phased out worldwide. Nevertheless, there are still vast numbers of phones that will happily connect to it, creating an opportunity for hackers seeking to run their own cellular networks. [Chrismoos] recently made this endeavour significantly easier by releasing 1xBTS, a Rust implementation of the lower three layers of a CDMA2000 network.

The lowest layer of the stack is an SDR for the actual radio communications. It’s been tested with the USRP B200 and B210, the LimeSDR Mini 2, and the BladeRF Micro 2.0. The code might work with certain other SDRs using the SoapySDR abstraction layer. The SDR is controlled by the base station (BTS) software, which, in turn, is controlled by the base station controller (BSC) over an Abis link. The BSC manages channels and mobile device associations, and exchanges frames with the mobile switching center (MSC), which handles message switching.

Continue reading “Running Your Own 3G Network”

A black and yellow robot dog stands in the middle of the floor, with a GoPro camera mounted on its back. A picture-in-picture view in the bottom left corner shows the view from the camera.

An Improved Robot Dog For Senior Design

[Aaed Musa] has been building robot dogs for a long time now, so it was only natural that he would make one for the senior design project of his mechanical engineering degree. Since this meant working with potential customers, the requirements were somewhat more stringent than for previous dogs, but [Aaed] and his team were able to deliver CARA 2.0, their most agile, versatile robot yet.

Based on conversations with potential customers, [Aaed] and his team aimed for a price around $1,000 USD, a weight under 20 pounds, and a durable design. Like the original CARA, this used capstan drives to actuate the joints, which reduced costs. The drives were printed in resin and powered by brushless drone motors. These motors were designed for speed, not torque, so the team had to rewind them with more wire, an ordeal which paid off by roughly tripling the torque. As far as durability, one joint motor was tested by running it continuously back and forth, and it lasted for over 1,000 hours without obvious damage.

Since the joints don’t contain any absolute encoders, each motor has to home on startup by extending to its limit, as detected by a rise in motor current. As a happy side effect, this creates a lifelike stretching motion on startup. Compared to the earlier iteration, CARA 2.0 takes shorter, quicker steps, and thanks to angled step movements can turn much more quickly. In testing, it originally skewed to the left, which turned out to be due to an asymmetric leg design. Once corrected, CARA 2.0 could walk in straight lines, walk sideways, turn in place, crouch, jump, and keep its balance on an inclined surface. It didn’t quite make the price goal, but $1,450 is still cheap for such a capable robot dog, and it reached every other customer requirement. Most importantly, all the team graduated.

For another take on a capstan-powered robot dog, check out Stanley. We’ve also taken a look at TOPS, one of [Aaed]’s earlier designs.

Continue reading “An Improved Robot Dog For Senior Design”