Most of us are familiar with virtual machines (VMs) as a way to test out various operating systems, reliably deploy servers and other software, or protect against potentially malicious software. But virtual machines aren’t limited to running full server or desktop operating systems. This tiny VM is capable of deploying software on less powerful systems like the Raspberry Pi or AVR microcontrollers, and it is exceptionally fast as well.
The virtual machine is built from scratch, including the RISC processor with only 61 opcodes, a 64 bit core, and runs code written in his own programming language called “Brackets” or in assembly. It’s designed to be modular, so only those things needed for a given application are loaded into the VM. With these design criteria it turns out to be up to seven times as fast as comparably small VMs like NanoVM. The project’s creator, [koder77], has even used its direct mouse readout and joystick functionality to control a Raspberry Pi 3D camera robot.
For anyone looking to add an efficient VM to a small computing environment, [koder77] has made the project open-source on his GitHub page. This also includes all of the modules he has created so far which greatly expand the project’s capabilities. For some further reading on exceedingly tiny virtual machines, we featured this project way back in 2012 which allows users to run Java on similar hardware.
GPS has been a game-changing technology for all kinds of areas. Shipping, navigation, and even synchronization of clocks have become tremendously easier thanks to GPS. As a result of its widespread use, the cost of components is also low enough that almost anyone can build their own GPS device, and [Akio Sato] has taken this to the extreme with efforts to build a GPS tracker that uses the tiniest amount of power.
This GPS tracker is just the first part of this build, known as the air station. It uses a few tricks in order to get up to 30 days of use out of a single coin cell battery. First, it is extremely small and uses a minimum of components. Second, it uses LoRa, a low-power radio networking method, to communicate its location to the second part of this build, the ground station. The air station grabs GPS information and sends it over LoRa networks to the ground station which means it doesn’t need a cellular connection to operate, and everything is bundled together in a waterproof, shock-resistant durable case.
[Akio Sato] imagines this unit would be particularly useful for recovering drones or other small aircraft that can easily get themselves lost. He’s started a crowdfunding page for it as well. With such a long battery life, it’s almost certain that the operator could recover their vessel before the batteries run out of energy. It could also be put to use tracking things that have a tendency to get stolen.
While it’s in vogue right now to name fancy new technology after Tesla, the actual inventor had plenty of his own creations that would come to bear his namesake, including Tesla coils, Tesla oscillators, Tesla turbines and even the infamous Tesla tower. One of the lesser known inventions of his is the Tesla valve, a check valve that allows flow in one direction without any moving parts, and [Huygens Optics] shows us a method of etching tiny versions of these valves into glass.
The build starts out with a fairly lengthy warning, which is standard practice when working with hydroflouric acid. The acid is needed to actually perform the etching, but it’s much more complicated than a typical etch due to the small size of the Tesla valves. He starts by mixing a buffered oxide etch, a mix of the hydroflouric acid, ammonia, and hydrochloric acid, which gives a much more even etching than any single acid alone. Similar to etching PCBs, a protective mask is needed to ensure that the etch only occurs where it’s needed. For that there are several options, each with their own benefits and downsides, but in the end [Huygens Optics] ends up with one of the smallest Tesla valves ever produced.
In fact, the valves are so small that they can only be seen with the aid of a microscope. While viewing them under the microscope he was able to test with a small drop of water to confirm that they do work as intended. And, while the valves that he is creating in this build are designed to work on liquids, [Huygens Optics] notes that the reason for making them this small was to make tiny optical components which they are known for.
Continue reading “Tiny Tesla Valves Etched In Glass”
Before smartphones and Internet of Things devices were widely distributed, the Automatic Packet Reporting System (APRS) was the way to send digital information out wirelessly from remote locations. In use since the 80s, it now has an almost hipster “wireless data before it was cool” vibe, complete with plenty of people who use it because it’s interesting, and plenty of others who still need the unique functionality it offers even when compared to more modern wireless data transmission methods. One of those is [Tyler] who shows us how to build an APRS system for a minimum of cost and size.
[Tyler]’s build is called Arrow and operates on the popular 2 metre ham radio band. It’s a Terminal Node Controller (TNC), a sort of ham radio modem, built around an ESP32. The ESP32 handles both the signal processing for the data and also uses its Bluetooth capability to pair to an Android app called APRSDroid. The entire module is only slightly larger than the 18650 battery that powers it, and it can be paired with a computer to send and receive any digital data that you wish using this module as a plug-and-play transceiver.
While the build is still has a few limitations that [Tyler] notes, he hopes that the project will be a way to modernize the APRS protocol using methods for radio transmission that have been improved upon since APRS was first implemented. It should be able to interface easily into any existing ham radio setup, although even small balloon-lofted radio stations can make excellent use of APRS without any extra equipment. Don’t forget that you need a license to operate these in most places, though!
While Mazda has made some incredible advances in fuel efficient gasoline engines over the past few years, their design group seems to have fallen asleep at the wheel in the meantime, specifically in regards to the modern keyfob design. The enormous size and buttons on the side rather than the face are contrary to what most people need in a keyfob: small size and buttons that don’t accidentally get pressed. Luckily, though, the PCB can be modified with some effort.
This particular keyfob has a relatively simple two-layer design which makes it easy to see where the connections are made. [Hack ‘n’ Tink] did not need the panic button or status LED which allowed him to simply cut away a section of the PCB, but changing the button layout was a little trickier. For that, buttons were soldered to existing leads on the face of the board using 30-gage magnet wire and silicone RTV. From there he simply needed to place the battery in its new location and 3D print the new enclosure.
The end result is a much smaller form factor keyfob with face buttons that are less likely to accidentally get pressed in a pocket. He also made sure that the battery and button relocation wouldn’t impact the antenna performance. It’s a much-needed improvement to a small but crucial part of the car; the only surprise is that a company that’s usually on point with technology and design would flop so badly on such a critical component.
Thanks to [Brian] for the tip!
Continue reading “Custom Keyfob Fixes Mazda Design Mistake”
Building radio receivers from scratch is still a popular project since it can be done largely with off-the-shelf discrete components and a wire long enough for the bands that the radio will receive. That’s good enough for AM radio, anyway, but you’ll need to try this DIY FM receiver if you want to listen to something more culturally relevant.
Receiving frequency-modulated radio waves is typically more difficult than their amplitude-modulated cousins because the circuitry necessary to demodulate an FM signal needs a frequency-to-voltage conversion that isn’t necessary with AM. For this build, [hesam.moshiri] uses a TEA5767 FM chip because of its ability to communicate over I2C. He also integrated a 3W amplifier into this build, and everything is controlled by an Arduino including a small LCD screen which displays the current tuned frequency. With the addition of a small 5V power supply, it’s a tidy and compact build as well.
While the FM receiver in this project wasn’t built from scratch like some AM receivers we’ve seen, it’s still an interesting build because of the small size, I2C capability, and also because all of the circuit schematics are available for all of the components in the build. For those reasons, it could be a great gateway project into more complex FM builds.
Continue reading “FM Radio From Scratch Using An Arduino”
The Mandelbrot set is a curious mathematical oddity that, while interesting in its own right, is also a useful tool for benchmarking various types of computers. Its constant computing requirement when zooming in and out on the function, combined with the fact that it can be zoomed indefinitely, means that it takes some quality hardware and software to display it properly. [Thanassis] has made this a pet project of his, running Mandelbrot set visualizations in different ways on many different hardware platforms.
This particular one is based on an STM32 board called the Blue Pill, which [Thanassis] chose because he hadn’t yet done a continuous Mandelbrot zoom on a microcontroller yet. The display is handled by a tiny 16K IPS color screen, and some clever memory tricks had to come into play in order to get smooth video output since the STM has only 20 kB available. The integer multiplication is also tricky on a platform this small while keeping the continuous zoom function, so it’s limited to fixed point multiplication.
Even with the limitations of the platform, he is still able to achieve nearly double-digit FPS rates with this one. If you want to play around with graphics like this on an STM platform, [Thanassis] has released all of the source code on his GitHub page, but if you’d like to see more Mandelbrot manipulation you can check out one of his older projects where he built a similar project on an FPGA.
Continue reading “STM32 Gets Up Close And Personal With Mandelbrot”