Arduino Engine Runs Many Games

A few years ago, [Smashcat] ported a ZX Spectrum game called Manic Miner to the Arduino Uno. The Arduino has less memory than the original Spectrum did, so doing all this on an 8-bit microcontroller was no easy lift. Since then, parts of this original port have been adapted to produce a game engine, allowing [Smashcat] to port several other games to the Arduino Uno as well.

The engine is able to host a 2D map with the ability to scroll, at a resolution of 256×256, as well as up to nine sprites at the same time. The graphics are locked to 50 FPS, but only with a real Arduino Uno that has a crystal oscillator. Some replica boards do not have a timekeeping chip accurate enough to replicate the video signal, which is done without a framebuffer. That signal, as well as two PWM audio channels, are still generated directly as well, with only a few resistors needed to hook everything up to a monitor and a controller, including the option of using an NES controller.

With all of that running on the Arduino and it hooked up to the daughterboard that provides the controller interface as well as the resistors for the video signal to function and a driver for a speaker, the system now runs the original Manic Miner as well as three other games: Scramble, Space Invaders, and Pac Man.

The engine and the rest of the code are available on a GitHub page as well, and there’s even a WebAssembly version available to run various pieces of the software without the specific hardware. The original ZX Spectrum was an interesting machine too that still inspires builds like this, despite it being well over 40 years old now.

A two door pickup or ute in white with a black hood and blue accents. It's built from a chopped up BMW i3 REX EV.

BMW I3 Mod Brings Small Trucks To The EV Future

Trucks are handy, especially if you’ve got messy or dirty loads, but there aren’t a lot of options if you want a small electric pickup yet. [Michael Pick] decided to convert a BMW i3 into a utility vehicle.

After getting a new 12 V battery and cleaning the car up, [Pick] proceeded to disassemble the interior and remove the hatch from the car. Once he could look at the bones, he planned out the best places for the cut lines and removed the back half of the cabin.

The bed is built from plywood coated in penetrating epoxy and bedliner for weatherproofing, and special care was taken to seal the interface between the cabin and bed as the main electronics for the vehicle are housed in a compartment directly below. The taillight electronics were rehoused as the OEM lenses were too large to fit next to the tailgate opening.

The i3 has graced these pages before with a battery upgrade, and we’d be remiss not to remind you of the most famous EV to truck conversion, Truckla.

Continue reading “BMW I3 Mod Brings Small Trucks To The EV Future” →

The Fascinating World Of IrDA And Other Infrared Protocols

Infrared (IR) communication technologies are probably one of the most influential, yet also one of the least flashiest. The fact that IR communication tends to be highly directional and often limited to low data rate leads many people to scoff at it, deeming it barely worthy of more than making TV remotes work, perhaps along with some unloved industrial gear like the IR interface of electrical meters.

This is a shame, because TV remotes are a good example of why sometimes you want something that is directional, and anyone who has battled with Bluetooth pairing can attest to the value of things simply working by pointing it at the device. IR protocols also have the advantage of inherent privacy protection as walls and other obstacles will block the signal, unlike that of an exploitable Bluetooth device which happily advertises to your neighbors and passersby.

For reasons like the above – as well as their simplicity and hackability – IR protocols are worthy of a detailed look.

Continue reading “The Fascinating World Of IrDA And Other Infrared Protocols” →

Hiding Virtualization From Other Software

The Kernel-based Virtual Machine (KVM) allows Linux systems to function as hypervisors without needing any extra software, but VMs created with it don’t behave exactly like real hardware does. Sometimes that’s important, though, so [sandwich] built a tool called vfio-native that obscures the fact that software might be running in a virtual machine.

There are plenty of the ways that virtual hardware differs from bare metal. The VM may behave slightly differently for obscure instructions in ways that are measurable, it may take slightly longer to perform some tasks, or the hypervisor may simply announce itself directly. vfio-native includes some kernel patches that solve some bugs which address the different behaviors, changes the way that the kernel identifies itself, and attempts to force the CPUs to behave in ways that real hardware would behave. With all of this applied to the virtual machine, it scores a 1/85 against a VM detection tool, with a standard KVM virtual machine scoring 10/85.

For anyone looking to test this out, it’s available in the AUR for Arch Linux. Also, it’s probably worth mentioning that there are more reasons to use this than cheating at Counter-Strike. For example, security researchers testing malware need to know how that software behaves when it thinks its on real hardware, and some may behave in benign ways when confined to virtual machines. Some licensed software also may disable itself when it detects its running in a VM, which can be a nuisance for things like software controlling industrial tools which only run on operating systems that are no longer maintained or hardware that can’t be found anymore. Some other tools we’ve seen before perform similar tasks as well.

Hairy Armor For Combat Robot? It’s Not Terrible!

[Angus] of Maker’s Muse enjoys combat robotics, in which contenders zip about in an arena, attempting to disable one another with weapons that lift, spin, and smash. He got a funny idea a short while ago and wondered whether a stiff mane of bristles could serve as lightweight, ablative, impact resistant armor?

Just to set the stage, [Angus]’s new robot competes in the plastic antweight (or “plant”) division, in which robots are limited to 150 grams with both chassis and weapons made of plastic. In such circumstances, one can see how a mane of thick, rigid “hairs” might actually punch above its weight, so to speak.

The green shape at the bottom is a spinning weapon. The bristles cover the sides and rear.

Nothing settles a question like a good experiment, so [Angus] sat down and redesigned his latest robot to replace its outer shell with a thick wad of bristles, in the style of a 3D printed lion’s mane. Filament is bridged between the model and an outer support structure, which is cut away afterwards to expose the “hairs”.

How well did it perform? Well enough to merit further study! Where past robots got their outer shells broken up, the hairy robot seems to have come through quite intact. It seems the idea might not be as silly as it first seemed, at least in the plastic antweight division.

3D printers have been fantastic in the field of combat robotics. First they were great because they made custom parts easier and more accessible to hobbyists, but things have evolved more since then. Now folks compete by putting motors and electronics inside almost entirely 3D printed robots. There’s never been a better time to get into combat robotics, and experiment with unorthodox designs.

If you want to try a hairy robot for yourself, be sure to watch the followup in which [Angus] improves the hair-generating process considerably.

A 3D-printed propeller is shown mounted on a motor on a triangular test stand. Each corner has a load cell, and wires run from it to the right.

Building A Swashplate-less Helicoper Rotor

A helicopter blade uses a swash plate and a set of linkages to change the angle of the blades. Not only does it vary the collective pitch to increase or decrease thrust, but it varies each blade’s pitch throughout each rotation, letting it produce more lift on one side of the rotor. This presented a problem to [worked in theory] — he’s building an RC helicopter from scratch, and this mechanism added both complexity and weight. Instead, he started looking for a way to get around the problem.

There were two options to eliminate the linkages: a linkage-less swashplate design used in Black Hornet drones, and an under-actuated design using angled hinges to control the blade angle. [worked in theory] started with the Black Hornet design, which has the end of each blade run along the swashplate on wheels, while a central spring presses them down. Friction in the hinge and wheels proved too high, and it stopped responding at higher speeds. A second, lower-friction design seemed promising, but it still required actuators, and thus weight, to control the swashplate. [worked in theory] therefore moved on to the under-actuated approach. In this design, the blades are mounted on angled hinges — by varying the motor’s speed throughout each rotation, inertia causes the blades to swing backwards or forwards, changing their pitch.

[worked in theory] tested two such rotor designs: one with one hinge per rotor, and one with one hinge for both rotors. The design using a single hinge seemed less sensitive to friction, was more responsive in testing, and had a more linear control response, so he used that. To actually make the blades, [worked in theory] 3D printed them as flat blanks, then thermoformed them using printed molds. During testing, the blades needed weights added to pull them back toward the standard angle under constant rotation; fortunately, though, this had the side effect of damping out unwanted vibrations.

There’s still a long way to go before the helicopter’s finished, but this is quite an impressive start. This is the second under-actuated propeller we’ve seen recently, both inspired by [Tom Stanton]’s original design.

Continue reading “Building A Swashplate-less Helicoper Rotor” →

Transforming A Tungsten Ditelluride Monolayer Into A Transistor

In the world of silicon semiconductors, the process of creating transistors and similar structures involves various rounds of modifications and additions in order to create the requisite functional layers. A less involved approach would simply create these structures in-situ, with research the past years having focused on transition-metal dichalcogenide (TMDC) monolayers to do exactly this. Recently [Seok Young Min] et al. reported (paywalled, Phys.org summary) on creating transistors in-situ in a tungsten ditelluride (WTe2) monolayer.

By selectively changing parts of the top layer into tungsten oxide (WOx) as an insulator and other sections into n-type WS2 and p-type WSe2 the researchers were able to create functional MOSFETs, without the normally requisite grafting on of different materials. An obvious advantage of this is that this can be done at an atomic scale, potentially achieving densities significantly higher than with industry standard silicon semiconductor technology.

WTe2 is not the only TMDC that could be viable here, of course, with other researchers investigating the use of MoSe2 for a similar purpose, as in this research by [N. Lu] et al. from 2014. This being the creation of 2D semiconductors, referring to the thin layers of these monolayer TMDCs, along with potentially other materials such as graphene.