[Carsten] spent over a year developing a small CPU system, implementing his own minimalist instruction set entirely in TTL logic. The system uses a serial terminal interface for all I/O, hence the term UART in the title. [Carsten] began building this computer on multiple breadboards, which quickly got out of hand.
He moved the design over to a PCB, but he was still restless. This latest revision replaces EEPROM with cheaper and easier to use CMOS Flash chips, and the OS gains a small file system manager. As he says in the video, his enemy is feature creep.
In addition to designing this CPU project, [Carsten] built an assembler and wrote a substantial operating system and various demo programs and games. He not only learned KiCAD to make this board, but also taught himself to use an auto-router. The KiCAD design, Gerbers, and BOM are all provided in his repository above. ROM images and source code are provided, as well as a Windows cross-assembler. But wait – there’s more. He also wrote a cycle exact emulator of the CPU, which, as he rightfully brags, comes in at under 250 lines of C++ code. This whole project is an amazing undertaking and represents a lot of good work. We hope he will eventually release the assembler project as well, in case others want to take on the challenge of building it to run under Linux or MacOS. Despite this, the documentation of the Minimal UART Computer is excellent.
[Carsten] claims the project has finally passed the finish line of his design requirements, but we wonder, will he really stop here? Do check out his YouTube channel for further informative videos. And thanks to [Bruce] for sending in the tip.
[Ted] recently demonstrated the analysis of an RL circuit using a piece of paper, Octave, and LTSpice. If you prefer, the Octave code should work fine in MATLAB, as well. If you are looking to get serious about electronic theory this is a reasonably simple case and is a good chance to get a workout with some of the tools.
We like the approach because too often it is easy to just use the computer and not pick up the understanding that you get when working through a problem by hand. You do need to understand complex numbers, but, overall, the math isn’t too hairy.
While we certainly agree that “Devil Girl From Mars” is an attractive movie title, we have yet to see this apparent British B-movie delight for ourselves. If [Cory Collins]’ fantastic build of Chani, the lumbering, terrifying robot that accompanies the vinyl-clad and caped Devil Girl in question is any indication, we bet it’s delightfully bad.
[Cory] was able to faithfully reproduce Chani — lights, lumbering and all — for less than $50. This price tag does not include the vacuum former required to make the domed head, but hey, it’s an investment into future projects.
[Cory] started by dissecting an R/C stunt car from Harbor Freight and stringing the innards up to a 3D-printed walking mechanism that’s been modified to use gear-reduced motors so it walks more slowly. While Chani is stomping around on TPU treads, the LEDs from the R/C car’s headlights shine inside of its dome. Chani’s boxy body is a big paper sculpture that looks spot-on to us when compared to the movie’s trailer.
We love the way that Chani walks — it sort of dips and glides along in a forward-facing Moonwalk fashion. As you can see in the video below, [Cory] totally nailed the robot’s gait, and it’s hilarious to watch Chani’s little coolant hose-looking arms dangle and shake as he makes his slow and menacing way across the table. Stick around for some scary nighttime footage of Chani against a thunderstorm.
The audio cassette was the first music format that truly championed portability. It was robust, compact, and let people take music on the go to soundtrack their very lives. It was later supplanted by the higher-quality CD and then further digital technologies, but the format remains a nostalgic highlight for many. It also inspired this excellent lamp build from [Fab].
The lamp consists of 8 clear cassettes assembled into a rough cube-like shape on a 3D printed frame. The cassettes are edge-lit from below by a set of WS2812B LEDs, letting them glow in full-color splendour. The real magic of the lamp is the interface, however. A pencil can be inserted to turn the tape reels, just like rewinding a real cassette. However, in this case, they’re attached to a pair of rotary encoders, which are used to vary the color of the LEDs. As a bonus, the entire lamp runs off a Wemos D1, making it possible to update the lamp remotely over the Internet.
When one thinks of the Arduino Uno, one thinks of a capable 8-bit microcontroller platform that nonetheless doesn’t set the world alight with its performance. Unlike more modern parts like the ESP32, it has just a single core and no real multitasking abilities. But what if one wanted to run many threads on an Uno all at once? [Adam] whipped up some code to do just that.
Threads are useful for when you have multiple jobs that need to be done at the same time without interfering with each other. The magic of [Adam]’s ThreadHandler library is that it’s designed to run many threads and do so in real time, with priority management as well. On the Arduino Uno, certainly no speed demon, it can run up to 57 threads concurrently at 6ms intervals with a minumum timing error of 556 µs and a maximum of 952 µs. With a more reasonable number of 7 threads, the minimum error drops to just 120 µs. Each thread comes with an estimated overhead of 1.3% CPU load and 26 bytes of RAM usage.
While we struggle to think of what we could do with more than a handful of threads on an Arduino Uno, we’re sure you might have some ideas – sound off in the comments. ThreadHandler is available for your perusal here, and runs on SAMD21 boards as well as any AVR-based boards that are compatible with TimerOne. We’ve seen other work in the same space before, such as ChibiOS for the Arduino platform. Video after the break.
If you watch many espionage or terrorism movies set in the present day, there’s usually a scene where some government employee enhances a satellite image to show a clear picture of the main villain’s face. Do modern spy satellites have that kind of resolution? We don’t know, and if we did we couldn’t tell you anyway. But we do know that even with unclassified resolution, scientists are using satellite imagery and machine learning to count things like elephant populations.
When you think about it, it is a hard problem to count wildlife populations in their habitat. First, if you go in person you disturb the target animals. Even a drone is probably going to upset timid wildlife. Then there is the problem with trying to cover a large area and figuring out if the elephant you see today is the same one as one you saw yesterday. If you guess wrong you will either undercount or overcount.
The Oxford scientists counting elephants used the Worldview-3 satellite. It collects up to 680,000 square kilometers every day. You aren’t disturbing any of the observed creatures, and since each shot covers a huge swath of territory, your problem of double counting all but vanishes.
Normally, we think of lasers as pretty complex and fairly intimidating devices: big glass tubes filled with gas, carefully aligned mirrors, cooling water to keep the whole thing from melting itself, that sort of thing. Let’s not even get started on the black magic happening inside of a solid state laser. But as [Jay Bowles] shows in his latest Plasma Channel video, building a laser from scratch isn’t actually as difficult as you might think. Though it’s certainly not easy, either.
The transversely excited atmospheric (TEA) laser in question uses high voltage passed across a a pair of parallel electrodes to excite the nitrogen in the air at standard atmospheric pressure, so there’s no need for a tube and you don’t have to pull a vacuum. The setup shakes so many UV photons out of the nitrogen that it doesn’t even need any mirrors. In fact, you should be able to get almost all the parts for a TEA laser from the hardware store. For example, the hexagonal electrodes [Jay] ends up using are actually 8 mm hex keys with the ends cut off.