Laptop keyboard with strange characters on the keys

But Think Of The (World Wide) Users!

History is full of stories about technology that makes sense to the designer but doesn’t really fit the needs of the users. Take cake mixes. In 1929, a man named Duff realized that he could capitalize on surplus flour and molasses and created a cake mix. You simply added water to the dry mix and baked it to create a delicious cake. After World War II General Mills and Pillsbury also wanted to sell more flour so they started making cakes. But sales leveled out. A psychologist who was a pioneer in focus groups named Dichter had the answer: bakers didn’t feel like they were contributing to the creation of the cake. To get more emotional investment, the cake mixes would need to have real eggs added in. Actually, Duff had noticed the same thing in his 1933 patent.

It is easy to imagine a bunch of food… scientists? Engineers? Designers?… whatever a person inventing flour mixes in the 1930s was called… sitting around thinking that making a mix that only requires water is a great thing. But the bakers didn’t like it. How often do we fail to account for users?

From Cake Mix to Tech

Apple has made a business of this. Most of us don’t mind things like arcane commands and control key combinations, but the wider pool of global computer users don’t like those things. As the world continues to virtually shrink, we often find our users are people from different lands and cultures who speak different languages. It is, after all, the world wide web. This requires us to think even harder about our users and their particular likes, dislikes, and customs.

Continue reading “But Think Of The (World Wide) Users!”

Wireless LEDs Aren’t Really Magic

[Atomic14] bought some wireless LEDs that receive power from a base station. They were very neatly packaged, but — we like it — he took one apart and made his own versions. They may not look as polished, but they work and they are undeniably cool.

The LEDs work by receiving power from an induction coil. Once you have power, lighting up an LED is no big deal. Reverse engineering found the transmitter sends 217 kHz into a 2.2 mH inductor. A capacitor resonates the coil and drives the attached LED.

Continue reading “Wireless LEDs Aren’t Really Magic”

Prusa XL Goes Big, But That’s Only Half The Story

For a few years now it’s been an open secret that Prusa Research was working on a larger printer named, imaginatively enough, the Prusa XL. Positioned at the opposite end of their product spectrum from the wildly popular Prusa Mini, this upper-tier machine would be for serious hobbyists or small companies that need to print single-part objects that were too large for their flagship i3 MK3S+ printer. Unfortunately, the global COVID-19 pandemic made it difficult for the Czech company to focus on bringing a new product to market, to the point that some had begun to wonder if we’d ever see this mythical machine.

But now, finally, the wait is over. Or perhaps, it’s just beginning. That’s because while Prusa Research has officially announced their new XL model and opened preorders for the $1,999+ USD printer, it’s not expected to ship until at least the second quarter of 2022. That’s already a pretty substantial lead time, but given Prusa’s track record when it comes to product launches, we wouldn’t be surprised if early adopters don’t start seeing their machines until this time next year.

So what do you get for your money? Well, not an over-sized Prusa i3, that’s for sure. While many had speculated the XL would simply be a larger version of the company’s popular open source printer with a few modern niceties like a 32-bit control board sprinkled in, the reality is something else entirely. While the high purchase price and ponderous dimensions of the new machine might make it a tough sell for many in the hacker and maker communities, there’s little question that the technical improvements and innovations built into the Prusa XL provide a glimpse of the future for the desktop 3D printer market as a whole.

Continue reading “Prusa XL Goes Big, But That’s Only Half The Story”

Samsung Bricks Smart TVs

Earlier this Fall, a Samsung warehouse in South Africa was robbed and the thieves got away with a quantity of smart televisions. Samsung proceeded to implement a little-known feature called “TV Block” which is installed on all of their TV products. The serial numbers of the stolen TV sets are flagged in their servers, and if one of these sets tries to connect the internet in the future, it will recognize that it is stolen and proceed to brick itself, disabling all television functionality.

So while this real-life scenario makes sense, it is a bit alarming to realize the implication of such a feature — the manufacturer can reach into your TV and disable it from afar. One can assume that Samsung won’t abuse this capability, because acting otherwise would harm their reputation. In a press release, Samsung announced that any consumers whose sets were incorrectly bricked can have their sets un-bricked after demonstrating proper ownership.

Despite such good intentions, the mere existence of such a feature is worrisome. What someone hacks the system and begins bricking TVs all over the world willy-nilly? If you are concerned about this possibility, one option of course is to never connect your TV set to the internet. But in that case, it might be better to just buy a “dumb” television set instead.

Anti-theft immobilizers are not new — one system was patented over 100 years ago to thwart car thieves. Car stereo systems have also long featured technology that renders them unusable when stolen. Although this robbery brought Samsung’s “TV Block” to consumers’ attention, we wonder if other manufacturers have similar anti-theft systems which aren’t well publicized. If you know of any, please share in the comments below.

ESP32 board with battery and nearby antenna

How To Easily Set Up Secure OTA Firmware Updates On ESP32

After an electronic IoT device has been deployed into the world, it may be necessary to reprogram or update it. But if physical access to the device (or devices) is troublesome or no longer possible, that’s a problem.

OTA updates allow a device to download new firmware, install it, and reboot itself into the new version. Convenient? Yes. Secure? It definitely needs to be.

Fortunately, over-the-air (OTA) firmware updates are a thing, allowing embedded devices to be reprogrammed over their wireless data connection instead of with a physical hardware device. Security is of course a concern, and thankfully [Refik] explains how to set up a basic framework so that ESP32 OTA updates can happen securely, allowing one to deploy devices and still push OTA updates in confidence.

[Refik] begins by setting up a web server using Ubuntu Linux, and sets up HTTPS using a free SSL certificate from Let’s Encrypt, but a self-signed SSL certificate is also an option. Once that is done, the necessary fundamentals are in place to support deploying OTA updates in a secure manner. A bit more configuration, and the rest is up to the IoT devices themselves. [Refik] explains how to set things up using the esp32FOTA library, but we’ve also seen other ways to make OTA simple to use.

You can watch a simple secure OTA firmware update happen in the video, embedded below. There are a lot of different pieces working together, so [Refik] also provides a second video for those viewers who prefer a walkthrough to help make everything clear. Watch them both, after the break.

Continue reading “How To Easily Set Up Secure OTA Firmware Updates On ESP32”

Z80 Video Output Via The Raspberry Pi Pico

Building basic computers from the ground up is a popular pastime in the hacker community. [Kevin] is one such enthusiast, and decided to whip up a video interface for his retro Z80 machine.

The output from [Kevin]’s build.
The computer in question is a RC2014 Classic ][, a popular single-board 8-bit computer kit. As standard, it doesn’t have a video output, so [Kevin] built one using the PIO interface of the Raspberry Pi Pico.

74-series logic is pressed into service to handle address selection, enabling the Pico and Z80 to effectively communicate. Wait states in the Z80 are used to avoid the vintage chip tripping over when the two are communicating. The Pico outputs video in 160 x 120 resolution with eight bits of color per pixel, using a simple resistor-ladder DAC to do basic VGA.

The build serves as a great way to get familiar with programming both the Pi Pico and the Z80 itself. With that said, it’s probably possible to simply just emulate the Z80 on the Pi Pico given the latter runs at a default clock rate of 125 MHz, eclipsing the RC2014’s snail-like 7.3728 MHz main clock.

If you’ve been building your own retro graphics hardware, do let us know.  We love that sort of thing around here!

accelerometer, oled, and PocketBeagle create a gesture-controlled calculator

The Calculator Charm: Calculatorium Leviosa!

Have you ever tried waving your hand around like a magic wand and summoning a calculator? We would guess not since you’d probably look a little silly doing so. That is unless you had [Andrei’s] cool gesture-controlled calculator. [Andrei] thought it would be helpful to use a calculator in his research lab without having to take his gloves off and the results are pretty cool.

His hardware consists of a PocketBeagle, an OLED, and an MPU6050 inertial measurement unit for capturing his hand motions using an accelerometer and gyroscope. The hardware is pretty straightforward, so the beauty of this project lies in its machine learning implementation.

[Andrei] first captured a few example datasets to train his algorithm by recreating the hand gestures for each number, 0-9, and recording the resulting accelerometer and gyroscope outputs. He processed the data first with a wavelet transform. The intent of the transform was two-fold. First, the transform allowed him to reduce the number of samples in his datasets while preserving the shape of the accelerometer and gyroscope signals, the key features in the machine learning classification. Secondly, he was able to increase the number of features for the classification since the wavelet transform resulted in both approximation and detailed coefficients which can both be fed into the algorithm.

Because he had a small dataset, he used the Stratified Shuffle Split technique instead of the test train split method which is generally more suited for larger datasets. The Stratified Shuffle Split ensured approximately the same number of train and test samples for each gesture. He was also very conscious of optimizing his model for running on a portable processing unit like the PocketBeagle. He spent some time optimizing the parameters of his algorithm and ultimately converted his model to a TensorFlowLite model using the built-in “TFLiteConverter” function within TensorFlow.

Finally, in true open-source fashion, all his code is available on GitHub, so feel free to give it a go yourself. Calculatorium Leviosa!

Continue reading “The Calculator Charm: Calculatorium Leviosa!”