Embedded TPM: Watch Out!

Today’s PCs are locked up with Trusted Platform Module (TPM) devices so much so that modern Windows versions insist on having a recent TPM to even install. These have become so prevalent that even larger embedded boards now have TPM and, of course, if you are repurposing consumer hardware, you’ll have to deal with it, too. [Sigma Star] has just the primer for you. It explains what TPM does, how it applies to embedded devices, and where the pitfalls are.

The TPM is sometimes a chip or sometimes secure firmware that is difficult to tamper with. They provide secret storage and can store boot signatures to detect if something has changed how a computer starts up. The TPM can also “sign off” that the system configuration is the same to a remote entity. This allows, for example, a network to prevent a hacked or rogue computer from communicating with other computers.

Embedded systems, usually, aren’t like PCs. A weather station at a remote location may have strangers poking at it without anyone noticing. Also, that remote computer might be expected to be working for many more years than a typical laptop or desktop computer.

This leads to a variety of security concerns that TPM 2.0 attempts to mitigate. For example, it is unreasonable to think a typical attacker might connect a logic analyzer to your PC, but for an embedded system, it is easier to imagine. There is a session-based encryption to protect against someone simply snooping traffic off the communication bus. According to the post, not all implementations use this encryption, however.

Motherboard has a slot for TPM, but no board? We’ve seen people build their own TPM boards.


Title image by [Raimond Spekking] CC BY-SA-4.0

Vacuum Fluorescent Displays Explained

After having been sent a vacuum fluorescent display (VFD) based clock for a review, [Anthony Francis-Jones] took the opportunity to explain how these types of displays work.

Although VFDs are generally praised for their very pleasant appearance, they’re also relatively low-power compared to the similar cathode ray tubes. The tungsten wire cathode with its oxide coating produces the electrons whenever the relatively low supply voltage is applied, with a positively charged grid between it and the phosphors on the anode side inducing the accelerating force.

Although a few different digit control configurations exist, all VFDs follow this basic layout. The reason why they’re also called ‘cold cathode’ displays is because the cathode doesn’t heat up nearly as hot as those of a typical vacuum tube, at a mere 650 °C. Since this temperature is confined to the very fine cathode mesh, this is not noticeable outside of the glass envelope.

While LCDs and OLED displays have basically eradicated the VFD market, these phosphor-based displays still readily beat out LCDs when it comes to viewing angles, lack of polarization filter, brightness and low temperature performance, as LC displays become extremely sluggish in cold weather. Perhaps their biggest flaw is the need for a vacuum to work, inside very much breakable glass, as this is usually how VFDs die.

Continue reading “Vacuum Fluorescent Displays Explained”

A 1970s Electronic Game

What happens when a traditional board game company decides to break into electronic gaming? Well, if it were a UK gaming company in 1978, the result would be a Waddingtons 2001 The Game Machine that you can see in the video from [Re:Enthused] below.

The “deluxe console model” had four complete games: a shooting gallery, blackjack, Code Hunter, and Grand Prix. But when you were done having fun, no worries. The machine was also a basic calculator with a very strange keyboard. We couldn’t find an original retail price on these, but we’ve read it probably sold for £20 to £40, which, in 1978, was more than it sounds like today.

Continue reading “A 1970s Electronic Game”

UTF-8 brain lifting weights

Nic Barker Explains ASCII, Unicode, And UTF-8

Over on YouTube [Nic Barker] gives us: UTF-8, Explained Simply.

If you’re gonna be a hacker eventually you’re gonna have to write software to process and generate text data. And when you deal with text data, in this day and age, there are really only two main things you need to know: 7-bit ASCII and UTF-8. In this video [Nic] explains 7-bit ASCII and Unicode, and then explains UTF-8 and how it relates to Unicode and ASCII. [Nic] goes into detail about some of the clever features of Unicode and UTF-8 such as self-synchronization, single-byte ASCII, multi-byte codepoints, leading bytes, continuation bytes, and grapheme clusters.

[Nic] mentions about UTF-16, but UTF-16 turned out to be a really bad idea. UTF-16 combines all of the disadvantages of UTF-8 with all of the disadvantages of UTF-32. In UTF-16 there are things known as “surrogate pairs”, which means a single Unicode codepoint might require two UTF-16 “characters” to describe it. Also the Byte Order Marks (BOM) introduced with UTF-16 proved to be problematic. Particularly if you cat files together you can end up with stray BOM indicators randomly embedded in your new file. They say that null was a billion dollar mistake, well, UTF-16 was the other billion dollar mistake.

tl;dr: don’t use UTF-16, but do use 7-bit ASCII and UTF-8.

Oh, and as we’re here, and talking about Unicode, did you know that you can support The Unicode Consortium with Unicode Adopt-a-Character? You send money to sponsor a character and they put your name up in lights! Win, win! (We noticed while doing the research for this post that Jeroen Frijters of IKVM fame has sponsored #, a nod to C#.)

If you’re interested in learning more about Unicode check out Understanding And Using Unicode and Building Up Unicode Characters One Bit At A Time.

Continue reading “Nic Barker Explains ASCII, Unicode, And UTF-8”

Silica Gel Makes For Better 3D Prints

It’s possible to improve your 3D prints in all kinds of ways. You can tune your printer’s motion, buy better filament, or tinker endlessly with any number of slicer settings. Or, as [Dirt-E-Bikes] explains, you could grab yourself some silica gel.

If you’re unfamiliar with silica gel, it’s that stuff that comes in the “DO NOT EAT” packet when you buy a new pair of shoes. It’s key feature is that it’s hygroscopic—which means it likes to suck up moisture from the atmosphere. When it comes to 3D printing, this is a highly useful property—specifically because it can help keep filament dry. Over time, plastic filament tends to pick up some moisture on its own from the atmosphere, and this tends to interfere with print quality. This can be avoided by storing filament in a sealed or semi-seaeled environment with silica gel. The gel will tend to suck up most of the moisture from the air in the sealed container, helping to keep the filament drier.

[Dirt-E-Bikes] does a great job of explaining how best to integrate silica gel with your filament spools and automatic material changer (if you have one). He also explains the value of color changing silica gel which indicates when the material is saturated with water, as well as how to dry it out for reuse. You can even combine some of the color changing beads with the more common plain white beads recycled from your shoe boxes, since you only need a few colored beads to get an idea of the water content.

We’ve explored other filament drying solutions before, too. Video after the break.

Continue reading “Silica Gel Makes For Better 3D Prints”

Converting A Nebra Cryptocurrency Miner To A Meshcore Repeater

After the swivel by Helium Inc. towards simply running distributed WiFi hotspots after for years pushing LoRaWAN nodes, much of the associated hardware became effectively obsolete. This led to quite a few of these Nebra LoRa Miners getting sold off, with the [Buy it Fix it] channel being one of those who sought to give these chunks of IP-67-rated computing hardware a new life.

Originally designed to be part of the Helium Network Token (HNT) cryptocurrency mining operation, with users getting rewarded by having these devices operating, they contain fairly off-the-shelf hardware. As can be glanced from e.g. the Sparkfun product page, it’s basically a Raspberry Pi Compute Module 3+ on a breakout board with a RAK 2287 LoRa module. The idea in the video was to convert it into a Meshcore repeater, which ought to be fairly straightforward, one might think.

Unfortunately the unit came with a dead eMMC chip on the compute module, the LoRa module wasn’t compatible with Meshcore, and the Nebra breakout board only covers the first 24 pins of the standard RPi header on its pin header.

Continue reading “Converting A Nebra Cryptocurrency Miner To A Meshcore Repeater”

Touchless Support Leaves No Mark

[Clough42] created a 3D print for a lathe tool and designed in some support to hold the piece on the bed while printing. It worked, but removing the support left unsightly blemishes on the part. A commenter mentioned that the support doesn’t have to exactly touch the part to support it. You can see the results of trying that method in the video below.

In this case [Cloug42] uses Fusion, but the idea would be the same regardless of how you design your parts. Originally, the support piece was built as a single piece along with the target object. However, he changed it to make the object separate from the support structure. That’s only the first step, though. If you import both pieces and print, the result will be the same.

Instead, he split the part into the original two objects that touch but don’t blend together. The result looks good.

We couldn’t help but notice that we do this by mistake when we use alternate materials for support (for example, PETG mixed with PLA or PLA with COPE). Turns out, maybe you don’t have to switch filament to get good results.

Continue reading “Touchless Support Leaves No Mark”