Coffee With Kernighan

There was an interesting tidbit buried in a Computerphile video released last week (below the break), featuring professors [David Brailsford] and [Brian Kernighan] having a chat over coffee. Among other topics, they discuss the history and current state of various text processing tools. We learn that [Kernighan] has taken on a summer project of updating the AWK text processing language to handle UTF-8 text, an omission he admits is embarrassing in this day and age. He is also working on a second edition of The AWK Programming Language book, which hasn’t been updated since being first released in 1988.

[Brian Kernighan] is a legend in the world of Unix and computing, working at Bell Labs during the 70s where Unix and C were developed. Among the many accomplishments in his career, he is well-known as the co-author with [Dennis Ritchie] of The C Programming Language, first published in 1972 and still being used decades later, AWK mentioned above, and major updates to troff. More recently, he co-authored The Go Programming Language book in 2015.

If an updated UTF-8-capable AWK interests you, keep an eye on the AWK GitHub repository where [Kernighan] anticipates an update, once he wraps his head around git a little better. We’re happy to see [Brian] so active at 80 years old. If you want to learn more about those early days at Bell Labs, we reviewed [kernighan]’s very interesting UNIX: A History and a Memoir a couple of years ago. 

Continue reading “Coffee With Kernighan”

Clover Computer: A Modern Z8000 CP/M Machine

Seeing some old Zilog 16-bit chips on eBay recently, [Scott Baker] was curious enough to snap them up and build himself a Z8000 computer. It started as a two-board solution, then he added a display module. Instead of layering the boards vertically à la a PC/104 stack, [Scott] decided to build them flat. His first backplane was triangular, but he opted for a square to accommodate one more expansion board in the future. The assembled contraption resembles a clover, hence the name Clover Computer.

The Z8000 was Zilog’s first 16-bit microprocessor, introduced in 1979. It was not hugely popular for a variety of reasons (the Z8000 Wikipedia article has some interesting details). The Z8000 was eclipsed in the marketplace by Intel’s 8088 and Motorola’s 32-bit 68000. One interesting point is that the Z8000 did not use microcode, and as a result, its transistor count was significantly less than its contemporaries. The Z8000 was used in some military applications, and despite its limited commercial success, it continued to be available from Zilog and licensed second sources up until 2012.

[Scott]’s design splits the system into a CPU board, a memory and serial board, and a display board. Along the way, he learns 1980’s era tricks from the Olivetti M20, one of the few computer systems designed around the Z8000. He also manages to find a recent Z8000 implementation of CP/M by GitHub user [], which [Scott] forked and adapted to his project (see project repo here). He succeeds in getting everything working, and ports a monitor, Tiny Basic, and Zork.

Check out his project write-up introductory link, and see it in action in the video below the break. Did you ever use or encounter the Z8000? Let us know in the comments!

Continue reading “Clover Computer: A Modern Z8000 CP/M Machine”

50-Year-Old 8-Track Changer Repair And Hack

For reasons still unclear, [Techmoan] has procured an RCA 8-track changer that holds five tape cartridges in a custom carrier. It somewhat works, but had a bit of mechanical issues here and there which needed some maintenance. Additionally, the player is designed for the US market and 60 Hz mains, but [Techmoan] is in the UK with 50 Hz.

Although electronics are used for the basic tape player portion, everything else is operated by mechanical gears, levers, and motors. The system plays both sides of each tape cartridge through to completion, and then switches automatically to the next one in the stack. Cartridges could be up to 90 minutes each, making for over seven hours of playing time. Oddly, the system does not repeat automatically after the fifth tape ends –operator intervention is required. It’s not entirely clear whether these carousels were primarily intended to play background music inside businesses, or built for niche consumer applications.

After discovering there was no setting to adjust the tape’s speed for 50/60 Hz operation, [Techmoan] could have ordered or fabricated a larger-diameter pulley for the motor drive shaft. But in true hacker style, he instead solves the problem with cellophane packing tape. By trial and error, he builds up the pulley diameter by winding lengths of tape until the music sounds just “good enough” to his ear. Then he pulls out the wow and flutter meter to really zero in — and gets it bang on. He says that this changer is needed for a future video, so we’re looking forward to see how it will be employed.

If you like these old mechanical logic controls, check out the video below the break. If you want dig into the workings of an 8-track player, check out Jenny List’s retro teardown from 2017.  Does anyone still use 8-track tapes any more?

Continue reading “50-Year-Old 8-Track Changer Repair And Hack”

Stratum 1 Grandmaster Time Server On A Budget

[Jeff Geerling] has been following the various open source time projects for some time now, and is finally able to demonstrate a working and affordable solution for nanoseconds-accurate timekeeping in your local lab. The possibility of a low-cost time server came about with the introduction of the Raspberry Pi CM4 compute module back in Oct 2020, whose Broadcom network chip (BCM54210PE) supports PTP (Precision Time Protocol, IEEE-1588) 1PPS output and hardware-based time stamping. Despite the CM4 data sheet specifying PTP support, it wasn’t available in the kernel. An issue was raised in Feb last year, and Raspberry Pi kernel support was finally released this month.

[Jeff] demonstrates how easy it is to get two CM4 modules to synchronize to within a few tens of nanoseconds in the video below the break. That alone can be very useful on many projects. But if you want really stable and absolute time, you need a stratum 1 external source. These time servers, called grandmasters in PTP nomenclature, have traditionally been specialized pieces of kit costing tens of thousands of dollars, using precision oscillators for stability and RF signals from stratum 0 devices like navigation satellites or terrestrial broadcast stations to get absolute time. But as Lasse Johnsen, who worked on the kernel updates remarks in the video:

In 2022 these purpose-built grandmaster clocks from the traditional vendors are about as relevant as the appliance web servers like the Raq and Qube were back in 1998.

It is now possible to build your own low-cost stratum 1 time server in your lab from open source projects. Two examples shown in the video. The Open Time Server project’s Timecard uses a GNSS satellite receiver and a Microchip MAC-SA5X Rubidium oscillator. If that’s overkill for your projects or budget, the Time4Pi CM4 hat is about to be release for under $200. If accurate time keeping is your thing, the technology is now within reach of the average home lab. You can also add PTP to a non-CM4 Raspberry Pi — check out the Real-Time HAT that we covered last year.

Continue reading “Stratum 1 Grandmaster Time Server On A Budget”

Masking Tape Pen Plotter Gets An Upgrade

[Mr Innovative] decided to make his version of a small pen plotter (video after the break) to make labels on masking tape. The result is an impressive compact machine that is remotely controlled using your smartphone. The plotter is constructed using several different techniques, a piece of plywood as the base, a 3D printed bracket for the motors and pen carriage, and a routed acrylic plate that holds the lead screw and linear rail assembly. The whole thing is controlled by an Arduino Nano mounted on a custom motor driver carrier board.

The inspiration for this build came from a project by [michimartini] aka [Molten Cheese Bear] that we covered a few months ago. [Mr Innovative] went for belt vs direct drive and no local screen. It also appears to plot a little bit faster, but that might be due to differences in the ink pens used. An Android app called TextToCNC converts label text into G-Code, and the Grbl Controller app sends those commands to the plotter.

We like continued iterations of open source projects and look forward to seeing what the next generations look like. Thanks to [keithfromcanada] for submitting this tip.

Continue reading “Masking Tape Pen Plotter Gets An Upgrade”

DIY Low-Cost LoRa Satellite Ground Station

Embedded engineer [Alberto Nunez] has put together a compact LoRa satellite telemetry ground station that fits in your hand and can be built for around $40 USD.

The station receives signals from any of several satellites which use LoRa for telemetry, like the FossaSat series of PocketQube satellites. Even with a sub-optimal setup consisting of a magnetic mount antenna stuck outside a window, [Alberto] is able to receive telemetry from satellites over 2,000 kilometers distant. He also built a smaller variant which is battery powered for portable use.

The construction of this ground station makes use of standard off-the-shelf items with a Heltec ESP32-based LoRa / WiFi module as the heart. This module is one of several supported by the TinyGS project, which provides receiver firmware and a worldwide telemetry network consisting of 1,002 stations as of this writing. The firmware has a lot of features, including OTA updates and auto-tuning of your receiver to catch each satellite as it passes overhead.

The TinyGS project started out as a weekend project back in 2019 to use an ESP32 to receive LoRa telemetry from the FossaSat-1 satellite, and has expanded to encompass all satellites, and other flying objects, using LoRa-based telemetry. It uses Telegram to distribute data, with a message being sent to the channel anytime any station in the network receives a telemetry packet from a satellite.

If you’re interested in getting your feet wet receiving satellite signals, this is an easy project to start with that won’t break the bank.

Moteus Open Source BLDC Controller Gets Major Upgrade

[Josh Pieper] of mjbots Robotic Systems just released a major revision to his moteus open sourced brushless DC (BLDC) electric motor controller. The update adds a flexible I/O subsystem which significantly expands the kinds of feedback encoders and peripherals the controller can accept. In the video below the break, [Josh] walks through eleven different example configurations. If you prefer, these examples are also presented in article form on his blog.

The moteus controller originally came about when [Josh] was developing the quad A0, an open source dynamic quadruped robot, along the lines of the MIT Mini Cheetah or Boston Dynamics robotic dogs, and wasn’t satisfied that existing controllers could do the trick. It’s a compact 50 mm square board based on an STM32G4, has an integrated magnetic encoder, and accepts external sensor connections. Interfacing with the board is via CAN-FD using a register-based scheme. A Python GUI tool provides name-based register access via a logical tree structure as well as real-time telemetry plotting capabilities for diagnostic and configuration tasks.

If you are using BLDC motors in your projects, definitely check this out. Even if you’re not using a moteus controller, [Josh]’s demonstrations of the various encoder feedback technologies is very interesting and educational. The entire project is open source, and both the hardware and software design files can be found on the project’s GitHub repository. For some users, this may be a major factor, considering that the latest ODrive BLDC controller offering has become closed source.

We wrote about the mjbots quad A0 in 2019, and you can follow the moteus project over on Hackaday.io. We also found this interesting video by [Skyentific] comparing three popular open source BLCD controllers including the moteus (second video below the break). There’s also the SimpleFOC project we covered last year if you want to dig in and learn more about field-oriented control of BLDC motors. Thanks to [Androiddrew] for the tip.

Continue reading “Moteus Open Source BLDC Controller Gets Major Upgrade”