Reverse-Engineering The Stadia Controller Bluetooth Switching Procedure

Ever since the demise of Google’s Stadia game streaming service, the associated Stadia controllers have found themselves in limbo, with the only way to switch them from the proprietary WiFi mode to Bluetooth by connecting to a special Google website. Yet as [Gary] found out, all this website does is flash a firmware file via WebUSB and WebHID over the original Stadia firmware with a generic Bluetooth controller firmware image. This is the reason why it’s a one-way process, but this wasn’t to [Gary]’s liking, so he figured out how to flash the controller himself, with the option to flash the original Stadia firmware or something else on it later, too.

[Gary]’s stadiatool follows the same procedure as the Google Stadia website, just implemented in Python and outside the control of Google. Although Google has recently announced that it will keep the Bluetooth switching website online one year longer – until December 31st 2024 – at some point this service will go away and only projects like [Gary]’s together with squirreled away firmware images can still save any stray Stadia controllers that will inevitably discovered in the back of a warehouse in the future.

Although we reported on the demise of Stadia when it happened in January of 2023, as Ars Technica notes it was common in 2022 to buy into Stadia and get a controller manufactured in the 2019 launch year, suggesting massive overproduction.

The IBM 5100, image from December 1975 issue of BYTE.

Bringing APL To The Masses: The History Of The IBM 5100

The 1970s was a somewhat awkward phase for the computer industry — as hulking, room-sized mainframes became ever smaller and the concept of home and portable computers more capable than a basic calculator began to gain traction. Amidst all of this, two interpreted programming languages saw themselves being used the most: BASIC and APL, with the latter being IBM’s programming language of choice for its mainframes. The advantages of being able to run APL on a single-user, portable system, eventually led to the IBM 5100. Its story is succinctly summarized by [Bradford Morgan White] in a recent article.

The IBM PALM processor.
The IBM PALM processor.

Although probably not well-known to the average computer use, APL (A Programming Language) is a multi-dimensional array-based language that uses a range of special graphic symbols that are often imprinted on the keyboard for ease of entry.

It excels at concisely describing complex functions, such as the example provided on the APL Wikipedia entry for picking 6 pseudo-random, non-repeating integers between 1 and 40 and sorting them in ascending order:

x[x6?40]

Part of what made it possible to bring the power of APL processing to a portable system like the IBM 5100 was the IBM PALM processor, which implemented an emulator in microcode to allow e.g. running System/360 APL code on a 5100, as well as BASIC.

Despite [Bradford]’s claim that the 5100 was not a commercial success, it’s important to remember the target market. With a price tag of tens of thousands of (inflation-adjusted 2023) dollars, it bridged the gap between a multi-user mainframe with APL and far less capable single-user systems that generally only managed BASIC. This is reflected in that the Commodore SuperPET supported APL, and the 5100 was followed by the 5110 and 5120 systems, and that today you can download GNU APL which implements the ISO/IEC 13751:2001 (APL2) standard.

We’ve previously looked at the Canadian-made MCM/70, another portable APL machine that embodied the cyberdeck aesthetic before William Gibson even gave it a name.

Top image: The IBM 5100, image from December 1975 issue of BYTE.

Thanks to [Stephen Walters] for the tip.

Hacking An NFC E-Paper Display From Waveshare With Mystery MCU

These days e-paper (eInk) displays are everywhere, with stores being one of the largest users of smaller, monochrome versions of these persistent displays. This has also made them a solid target of hackers who seek to not only reverse-engineer and reuse discarded ones, but also ones sold to consumers, with [Aaron Christophel] recently reverse-engineering and flashing custom firmware (GitHub source) to a Waveshare 2.13″ NFC-Powered E-Paper display.

What’s perhaps most notable is how locked-down and devoid of documentation these devices are. The board [Aaron] looked at did not have any markings on the main IC, and Waveshare did not provide more information other than the Android and iOS apps. This led to some matching of various NFC-enabled MCUs with the pinout, with the Chivotech TN2115S2 rolling out as the most likely candidate. This is an 8 MHz Cortex-M0 MCU with not only NFC, but also an energy harvesting feature (up to 300 mW), which is why this e-paper tag can update the display without external power or a battery.

With the Chivotech datasheet being rather sparse, more reverse-engineering needed to be done, which included dumping the firmware and exploring it with Ghidra. During this, the secret key was discovered to make the Flash writeable along with how to control the peripherals and display. With this knowledge it’s now possible to make this tag display update without being limited by manufacturer-supplied tools and software, making it infinitely more useful.

Continue reading “Hacking An NFC E-Paper Display From Waveshare With Mystery MCU”

Second Life UPS Mark II: A UPS For Low-Voltage DC Applications

When you have a whole stack of devices and appliances that all have an AC to DC adapter and which you’d like to put on an uninterruptable power supply (UPS), you could do the obvious thing and get an off-the-shelf UPS with myriad AC outputs. In the case of a 19″ rack this means wrangling a power strip or two and any combination of differently sized AC/DC adapters into the rack, with questionable efficiency and waste heat dumped into the rack. This is where a DC-only UPS like [Maciej Grela]’s Second Life UPS Mark II provides an interesting alternative.

At its core it’s a pretty simple concept: A single 400Watt power supply handles the AC/DC conversion from mains to 24 VDC, which feeds the battery charger as well as the outputs. These outputs include 5 VDC, 12 VDC and Vrail, with the latter being either the output from the PSU, or the battery voltage. In case of AC power failure, an LT4416 dual power path controller handles the switch-over from the PSU output to the internal batteries. In the article, [Maciej] covers how the buck modules for the 12 & 5 VDC rails were sized, along with the conversion of an old rack-mounted network switch into a UPS. Continue reading “Second Life UPS Mark II: A UPS For Low-Voltage DC Applications”

The Dark Side Of Hacking XMas Lights, Literally

When looking at the piles of cheap RGB, Bluetooth-controlled LED strips you can find for sale just about anywhere these days, integrating them into a home-automation setup is very tempting. Normally these strips are controlled via a special smartphone app, that speaks whatever dodgy protocol was thrown together for the LED strip controller in question. Reverse-engineering this Bluetooth protocol is fairly easy these days, as [Will Cooke] describes in a recent tutorial, although for him there was a bit of a tragic ending with one particular RGB set.

With previous experiences reverse-engineering the Bluetooth protocol with Wireshark under his belt and having published the BJ_LED repository for LED strips that use the MohuanLED app, reverse-engineering this new LED strip with the associated “iDeal LED” app seemed fairly routine. Initially it was indeed routine, with just a curveball in the form of some encryption that the Jadx decompiler used on the app couldn’t help with. Fortunately the key ended up floating around on the internet, and the protocol was wide open. That’s when disaster struck.

While trying to throw payloads at the LED controller to find hidden modes and settings, [Will] found that he could indeed increase the brightness beyond what the app supported, but poking at lighting modes beyond the 10 presets gave a nasty shock. Modes 1 through 10 worked fine, 11 also did something new, but when the controller was asked to switch to mode 12, it shut off. Permanently. Whether this corrupted the firmware or caused some other issue is unknown, but it’s a clear warning that reverse-engineering comes with potentially fried hardware.

We hope that [Will] can get an autopsy performed on this controller to see the cause of this seemingly permanent failure that persisted across hard resets and disconnecting from power overnight. The protocol for this controller has been published on GitHub for those who’d like to take their chances.

LED lights: LadyAda, CC BY-SA 4.0.

Conductive Cellulose-Based Fibers For Clothing: Coming Soon?

Summary of the process of producing side-by-side PANI and cotton cellulose fibers. (Credit: Wongcheng Liu et al., 2023)
Summary of the process of producing side-by-side PANI and cotton cellulose fibers. (Credit: Wongcheng Liu et al., 2023)

With the rise of ‘smart’ devices, it seems like only a matter of time before smart fabrics become an every day thing. Yet a complication with these is that merely threading copper wires into clothing is neither practical nor very durable, which is why researchers have been trying to find a way to combine cellulose-based fibers like cotton with another, conductive material like carbon to create an affordable, resilient material which can provide the pathways for these smart fabrics. Recently a team at Washington State University created a version that integrates polyaniline (PANI, press release for paywalled paper), which is a well-known conductive polymer.

A recent review article by Duan-Chao Wang and colleagues in Polymers covers the research in conductive fibers, with conductive additives ranging from carbon nanotubes (CNT) and graphene to various metallic compounds and conductive polymers. As noted by Wang et al., a major aspect to successful commercialization is enabling scaling and cost-effectiveness of producing such fibers. This is the core of the achievement by the WSU team, who used a side-by-side structure of a cellulose substrate and the PANI conductive covering, which should be easier to produce and more durable than previous attempts to merge these two materials into conductive fibers suitable for fabrics.

Other research by Zhang-Chi Ling and colleagues, as reported earlier this year in NPG Asia Materials, details the creation of composite, conductive fibers made from bacterial cellulose with in-situ entanglement of CNTs. With even 100,000 bending cycles not showing much degradation, this could be another good candidate for conductive fabrics. Which of these approaches will first hit mass-production is still anyone’s guess, but we might see them sooner rather than later.

The Logg Dogg: How A Mysterious Logging Robot Leads Down Twisting Forestry Paths

There are many places where you’d want to use remotely controlled robots, but perhaps forestry isn’t the first application to come to mind. Yet there are arguments to be made for replacing something like a big logging machine with grapple for a much smaller robot. The reduced ground pressure can be beneficial in fragile ecosystems, and removing the operator is much safer if felling a tree goes wrong.

This is where a US company called Forest Robots tried to come in, with their Logg Dogg, of which [Wes] over at Watch Wes Work found a very unique prototype abandoned in a barn, courtesy of Zuckerberg’s marketplace of wonders.

One of the two receivers on the Forest Robots' Logg Dogg logging robot prototype. (Credit: Watch Wes Work)
One of the two receivers on the Forest Robots’ Logg Dogg logging robot prototype. (Credit: Watch Wes Work)

After lugging the poor abandoned robot back into a warm repair shop, he set to work on figuring out what it was that he had bought. At the time he knew only that it was some kind of logging robot, but with no model number or name on the robot, it was tough to find information. Eventually he got tipped off about it being the Logg Dogg, with even a video of the robot in action, helpfully uploaded to YouTube by [Hankey Mountain Garage] and embedded below for your viewing pleasure.

As [Wes] noticed during teardown and inspection was that it has that distinct mix-and-match feel to it of a prototype, ranging from metric and US customary bolts to both European and US/Canadian supplied components. Although it has two RF receivers on the device, no remote(s) came with the device, and the seller only knew that it was already in the barn when they purchased the place. After getting the engine working again on the robot, [Wes] contacted one of the people behind the robot: [Dean Edwards], a professor at the University of Idaho, hoping to learn more about this robot and how it ended up abandoned in a barn.

Hopefully we’ll find out in a Part 2 whether [Wes] got a response, and whether this robot will get a second chance at life. Meanwhile, in countries such as Portugal such robots are already finding significant use, including for fire protection in its forests, tackling difficult terrain more easily than humans. With forest fires an increasing risk, perhaps the Logg Dogg and kin could find a use there.

Continue reading “The Logg Dogg: How A Mysterious Logging Robot Leads Down Twisting Forestry Paths”