Serial Studio One Year On

Last year we wrote about [Alex Spataru]’s Serial Studio project, which started life as serial port data visualizer, like a souped-up version of the Arduino serial plotter. [Alex] has been actively improving the project ever since, adding a variety of new features, including

  • JSON editor for data formats
  • TCP, UDP, and Multicast
  • New and more flexible display widgets
  • Multi-signal plots
  • FFT and logarithmic plots
  • VT-100 emulation
  • Support for plugins and themes
  • Added MQTT support

[Alex] originally came up with Serial Studio because he was involved in ground station software for various CanSat projects, each one with similar yet slightly different data formats and display requirements. Rather than make several different programs, he decided to make Serial Studio which could be configured using JSON descriptor files.

The program is open-source and multi-platform. You can build it yourself or download pre-compiled binaries for Windows, Linux, and Mac. See the project GitHub repository for more details. In addition to English, it has also been translated into Spanish, Chinese, and German. What is your go-to tool for visualizing serial data telemetry these days? Let us know in the comments below.

CEEFAX Lives! (Courtesy Of A Raspberry Pi)

As analogue TV slides from memory, there’s a facet of it that’s fondly remembered by a band of enthusiasts. Teletext was an electronic viewdata information service digitally encoded in the frame blanking period, and a TV set with a decoder chip would provide access to many pages of news and other services all displayed in the characteristic brightly colored block graphics. It went the way of the dinosaur with the demise of analog TV, but for [Nathan Dane] the flame is kept alive with his own private version of the BBC’s CEEFAX service.

He has a particular enthusiasm for analog TV, and as such has his own in-house channel served by a UHF modulator. He shares with us the story of how he arrived at a teletext service, before writing code to scrape the BBC news and weather websites and populate his modern-day CEEFAX. Behind it all is a Raspberry Pi, with a vbit-pi board injecting the teletext signal onto the video, and raspi-teletext creating the pages from source material derived from a set of custom scraper scripts.

We like this project a lot, because while it’s not the first Pi teletext system we’ve encountered, the use of a scraped live feed makes it one of the most creative.

Thanks [kwikius] for the tip!

An OpenSCAD Library For All Your CNC Cutting Needs

While there’s always the edge case, there’s a strong likelihood that if you’re using OpenSCAD, you’re probably working on a CAD model that you intend to 3D print at some point. Of course that’s not to say this is all you can do in OpenSCAD, but it’s arguably what it does best. If you wanted to make artistic models, or maybe render what your new kitchen will look like, there are other tools better suited to such tasks.

But thanks to lasercut.scad, a library that [Brendan Sleight] has been working on for the last several years, we might have to reconsider our preconceived dimensional notions. Instead of designing parts for 3D printing, his library is all about creating parts intended for subtractive manufacturing. Originally (as the name implies) it was geared towards laser cutting, but the project has since evolved to support CNC routers, vinyl cutters, and pretty much anything else that can follow a DXF file.

This “clip” joint is great for acrylic.

The library has functions for creating the standard tricks used to build things from laser-cut pieces, like finger joints, captive nuts, and assembly tabs. If it was something you once saw holding together an old wooden 3D printer kit back in the day, you can probably recreate it with lasercut.scad. It even supports a pretty wild piece of rotational joinery, courtesy of [Martin Raynsford].

Don’t have a way of concentrating a sufficient number of angry photons at your workpiece? No worries. The library has since been adapted to take into account a parametric kerf width, which lets you dial in how much of a bite your particular tool will take from the material when it does the business. There are even special functions for dealing with very thin cuts, which [Brendan] demonstrates by assembling a box from sheet vinyl.

Of course, those who’ve used OpenSCAD will know there’s not an “Export for CNC” button anywhere in the stock interface. So to actually take your design and produce a file your cutter can understand, [Brendan] has included a Bash script that will run the necessary OpenSCAD incantations to produce a 2D DXF file.

[Brendan] decided to send this one in after he saw the aluminum enclosure OpenSCAD library we covered recently. If you’ve got your own pet project that bends some piece of hardware or software to your will, don’t be shy to let us know.

Virtual Eurorack Based CPU Computes To The Beat Of A Different Drum Module

In Arthur C. Clarke’s 1972 story “Dial F for Frankenstein”, the worlds first global network of phone exchanges was created by satellite link, and events happened that caused the characters in the story to wonder if the interconnected mesh of machinery had somehow become sentient. And that’s what we wondered when we saw this latest virtual CPU construction built by GitHub user [katef] and made from a virtual analog synthesizer software called VCV Rack.

Analogous to a Redstone computer in Minecraft, there’s no physical hardware involved. But instead of making crazy synth sounds for a music project, [katef] has built a functioning CPU complete with an Arithmetic Logic Unit, an adder, and other various things you’ll find in a real CPU such as registers and a clock.

While no mention is made of whether the construct is sentient, [katef] fully documented the build on their GitHub page, and so go check that out for animated pictures, links to more information, and more. It’s quite impressive, if not just a little bonkers. But most good hacks are, right?

We love unique CPU builds, and you might get a kick out of this one made from- that’s right- 555 timers. Thanks to [Myself] on the Hackaday Discord server for the tip, and be sure to send in your favorite outrageous projects to the Hackaday tip line!

Remoticon 2021: Uri Shaked Reverses The ESP32 WiFi

You know how when you’re working on a project, other side quests pop up left and right? You can choose to handle them briefly and summarily, or you can dive into them as projects in their own right. Well, Uri Shaked is the author of Wokwi, an online Arduino simulator that allows you to test our your code on emulated hardware. (It’s very, very cool.) Back in the day, Arduino meant AVR, and he put in some awesome effort on reverse engineering that chip in order to emulate it successfully. But then “Arduino” means so much more than just AVR these days, so Uri had to tackle the STM32 ARM chips and even the recent RP2040.

Arduino runs on the ESP32, too, so Uri put on his reverse engineering hat (literally) and took aim at that chip as well. But the ESP32 is a ton more complicated than any of these other microcontrollers, being based not only on the slightly niche Xtensa chip, but also having onboard WiFi and its associated binary firmware. Reverse engineering the ESP32’s WiFi is the side-quest that Uri embarks on, totally crushes, and documents for us in this standout Remoticon 2021 talk. Continue reading “Remoticon 2021: Uri Shaked Reverses The ESP32 WiFi”

Linux Fu: Don’t Share Well With Others

In kindergarten, you learn that you should share. But for computer security, sharing is often a bad thing. The Linux kernel introduced the concept of namespaces starting with version 2.6.24. That’s been a few years ago, but namespaces are not used by many even though the tools exist to manipulate them. Granted, you don’t always need namespaces, but it is one of those things that when you do need it, the capability is priceless. In a nutshell, namespaces let you give a process its own private resources and — more importantly — prevents a process from seeing resources in other namespaces.

Turns out, you use namespaces all the time because every process you run lives in some set of namespaces. I say set, because there are a number of namespaces for different resources. For example, you can set a different network namespace to give a process its own set of networking items including routing tables, firewall rules, and everything else network-related.

So let’s have a look at how Linux doesn’t share names.

Continue reading “Linux Fu: Don’t Share Well With Others”

Planning Custom Aluminum Enclosures With OpenSCAD

We’ve seen a number of projects over the years that let you create custom enclosures using OpenSCAD, and for good reason. The parametric CAD tool is ideal for generating 3D models based on user-adjustable variables, and if you leverage its integrated Customizer, producing a bespoke box is as easy as moving some sliders around. The resulting files get sent off to the 3D printer, and you’re set. But what if you’re looking for a custom enclosure that’s not so…plastic?

In that case, AlClosure by [0xPIT] might be the answer. Rather than generating STL files intended for your 3D printer, the code is written to help you design an enclosure made from aluminum sheets. The top and bottom panels are intended to be cut from 1.5 mm – 2.5 mm sheets, while the sides are made from thicker 5 mm – 8 mm stock to accept a machined pocket that holds the front and rear inserts.

Since it’s OpenSCAD, much of the design is governed by variables which you can tweak. Obviously the outside dimensions of the enclosure can be changed in a flash, but it’s just as easy to modify the thickness of the aluminum sheet being used, or the size of the screw holes. [0xPIT] has also done a great job of documenting the code itself, so you’ll know exactly what you’re modifying.

Obviously, you’ll need the ability to cut and machine aluminum to actually utilize this project. The code itself is really just a way to conceptualize the design and get your dimensions figured out ahead of time. But as we were recently reminded by the keynote presentation [Jeremy Fielding] gave at the 2021 Remoticon, this sort of early prototyping can often save you a lot of headaches down the line.