Braino! Takes The Cheap Yellow Display To School

These days, it’s common to give even very young children a mobile device loaded up with educational software that aims to improve everything from basic motor skills to reading and arithmetic. But even the cheapest phone or tablet isn’t the kind of thing most parents would like to see get destroyed, and there’s always a concern about giving children a device that’s capable of connecting to the Internet.

Which is where Braino! from [Ankush Pandit] comes in. This suite of applications can be easily flashed to a common Cheap Yellow Display to turn it into a legitimate educational tool. Combined with a 3D printed case, the total cost of the build is low enough that you don’t have to feel bad about handing it off to even the roughest of youngsters.

[Ankush] makes it clear that this project isn’t trying to sell you anything. You’re responsible for picking up a compatible CYD and installing Braino via the web flashing application. The software is released under the GPLv3 license, and it contains no ads, user accounts, or cloud connectivity. We know not everyone is thrilled with how much time young kids spend staring at screens these days, but opinions on modern parenting aside, it’s hard to find fault with the way things have been implemented here.

When the parent sets up Braino they can pick which of the 40 games can be accessed, allowing the experience to be tailored to the individual child’s age and ability. Should you decide to enable Bluetooth, some of the games even support wireless multiplayer between devices.

The commonality of the Cheap Yellow Display is one of its best features, and Braino does an excellent job of showing why that’s so important. Trying to develop a project like this without a standardized platform of some type would be a non-starter, but when anyone can get a CYD sent to their house from Amazon and flash it right from the browser, it’s makes the whole thing far more accessible.

Continue reading “Braino! Takes The Cheap Yellow Display To School” →

Two-Component H-shifter For Racing Sims

Flying and driving simulators can go as far as money will take you, and at some point it might end up being cheaper to buy a plane or race car than to keep adding capabilities to some of the sim rigs we’ve seen. But it can also be a fairly affordable hobby as well, with entry-level components being within reach for many. The price can drop precipitously from there too, provided some parts can be sourced and a 3D printer is made available, and [Jason] is demonstrating one of the lowest-cost H-shifters we’ve seen which only uses two parts at its core.

The two components only cover the electronics for the build, but this gets almost everything needed for the shifter squared away. A joystick like those found inside many game controllers is paired with an Arduino Pro Micro, with a very straightforward wiring configuration between them. These components are paired with a prototype 3D printed case and shift knob which provides the H pattern of choice. From there it’s as simple as uploading some readily-available firmware, which [Jason] also demonstrates, and which has many options for various configurations of shifters.

Although this was just a prototype, it shows was just a few off-the-shelf components and a 3D printer can provide to an affordable driving sim setup. Even then a 3D printer is not always necessary, like this three-pedal setup using extruded aluminum frame as a base. From there, all kinds of other features can be added like force feedback on the steering wheel.

Continue reading “Two-Component H-shifter For Racing Sims” →

The Whole Computer Is Vim

Love it or hate it, Vim, the vi-compatible minimalist editor, is a common denominator between a huge array of operating systems. If you need to edit a file, it’s usually safe to expect it there if your normal editor is absent. Now thanks to [Omwah] it’s moved onto the most meager of platforms, where it becomes the firmware itself rather than a program running on an OS.

ESP-Vim is, as its name suggests, Vim, for some of the ESP32 series of microcontrollers. It boots straight into the familiar editor on an attached screen, and it has filesystem and git access, along with MicroPython. It’s a small computer for working with text files and some basic scripting, and we like the idea.

It needs a board with an ESP32-S3 or P4, with 16 MB of Flash and at least 8 MB of PSRAM. There’s a list of boards that meet this spec, and we can’t help noticing that one of them is the version of the Cheap Yellow Display that comes with an S3. Hook up a Bluetooth keyboard and you’re in.

How easy it will be to use remains to be seen, but bearing in mind that the vi interface followed by Vim was designed for very slow terminals in a much earlier decade, and it could be just right for these platforms. Would you use one?


Vim logo: The Vim project, VIM License.

ESP32 Replacement For Lighting Display Controller

As a company, NanoLeaf has been producing modular lights that can be easily snapped together into various geometric shapes for around a decade. Similar to the addressable LED light strips many of us are familiar with that also became popular around a decade ago, these modular lights are supposed to be easy to configure, customize, and program. But their controllers are notoriously finicky according to [Myrik] who found that a simple ESP32 could be used to replace them when they eventually fail.

Part of the reason [Myrik] found this to be straightforward is that the company publishes their firmware and makes it essentially available to anyone. Whether or not this was purposeful is not clear; but in either case it only requires slight modification to run on the ESP32. When plugged into an existing string of panels, the panels themselves report their positions and orientations over a single data bus which the ESP32 has no problem interpreting. The ESP32 can also communicate its status over the network, meaning that it can in turn be controlled by any other lighting software a user might have.

There’s a separate Reddit post about this build as, with other users offering other potential solutions to the controller issue. But we are always happy to see more open solutions to hardware failures which keep interesting things like these out of the e-waste pile, or simply building NanoLeaf-inspired replicas from the ground up in the first place.

Fixing An Expensive Amprobe Cable Tracer With Mystery Fault

Perhaps the most annoying kinds of faults are those that involve expensive equipment that just sit around in a cupboard, only for them to just stop working at all. Such was the case with the £2,000 Amprobe cable trace kit that [Tom] bought for work-related purposes. After sitting around unused for a few years, the signal generating part of the kit refused to power up at all, with Fluke’s service department wanting at least £600 to even attempt a repair after already having had [Tom] cough up £70 to even get this quote.

Subsequently he instead sent it to [Buy it Fix it] on YouTube for an attempted repair, which at the very least would be a less costly option. These systems use a signal generator connected to the cable, with a separate detector wirelessly tracking this signal. By itself that doesn’t sound too complex, but as it turns out it wasn’t quite so straightforward to diagnose.

After eliminating a basic power or display issue, the SoC’s boot sequence was traced, including reading from the 128 MB NAND Flash. At first glance the unit appeared to be trying to boot and work as normal, which was confirmed after finding a serial port and seeing the log output on it. This showed that the NAND Flash’s boot image failed validation due to apparent corruption.

After desoldering the TSOP 48 Flash package and stuffing it into a reader, at first glance the data on it looked fine. After a tragic detour with Google’s Gemini chatbot that led to a lot of wasted time, the solution that the human intelligence came up with was to crack open the tracer unit in the set and ogle at its firmware, in particular the bootloader.

Comparing the two Flash dump files, there were a few flipped bits in the bootloader section, likely due to cells in the Flash having lost their charge. Writing the generator’s Flash with a corrected image led to it booting up happily again into the Linux 2.6-based firmware, seemingly no worse for wear. Of course, one has to consider here that the NAND Flash IC clearly has a few leaky cells in it, so replacing it with a fresh one could be a good idea for a long-term fix.

Continue reading “Fixing An Expensive Amprobe Cable Tracer With Mystery Fault” →

Reverse Engineered Grill Controller Gets Open Firmware

If you are a regular reader, then the odds are you have taken apart an electronic gadget, either for a fix, or simply because your curiosity got the better of you. Once inside, it’s all but impossible to help yourself from doing at least a little reverse engineering. That’s what happened when [PRBS23] took a look inside a MasterBuilt Gravity 800 Grill for a simple wire fix. But one thing led to the next, and now open source firmware for the grill is freely available!

Control board schematic.
Control board schematic.

The first order of business in creating the firmware is reverse engineering the original controller. Opening it up immediately reveals an ESP-32 and a well-labeled programming port. The rest of the control board is equally simple, including connectors for four thermistor temperature sensors, lid open/close switch, fan driver, 16 segment LCD, piezo buzzer, and some physical inputs.

The thermistor along with the physical inputs are connected to a 16 pin chip, interfacing with the MCU over a 9600 baud UART connection. [PRBS23] cannot determine an ADC chip meeting these specifications, so the most likely answer is a cheap MCU programmed to act as a simple analog fronted.

The neatly labeled programming header is used to quite easily dump the firmware with the espflash utility. Analyzing this dump reveals a rather strange ADC correction function used by the original firmware. The necessity and overall utility of this function remains unclear, does corrects a maximum of around 40 degrees Fahrenheit.

Most of the other features ended up being at least somewhat easier. The CS1621 segmented display driver is reasonably well documented with datasheets making its implementation far easier. Likewise, the other odds and ends were implemented in a far more normal manner compared to the thermistors.

All this reverse engineering work got tied together into a neat little firmware package. It comes with over the air updates PID controlled temperature, and a real-time web interface. This also isn’t the first time we have seen an IoT device liberated from proprietary firmware, and this remains one of our favorite uses of reverse engineering!

 

A BIOS For Your ESP32-C6

An old-style PC BIOS served the function of a bootloader in loading the operating system kernel, and of an API in providing a set of standard system calls through which software could interact with the hardware. Though it as been long-ago superseded by operating system level calls and UEFI bootloaders, it was a simple and easy-to-understand firmware for the PCs of the day.

Microcontrollers usually don’t have anything quite like a BIOS because their software is more often compiled as-is without the need for one. But here’s [Rompass] who has bucked that trend, with a BIOS for the ESP32-C6.

Of course this isn’t the PC BIOS we all know, and you’ll not be running DOS on it. Instead it’s a subsystem that serves the purposes outlined above and provides an environment for dynamically loaded executables from RAM rather than an operating system kernel. The executables are compiled in the normal way for the ESP32, and can be loaded over the network if necessary.

We don’t know how popular a firmware like this one will become, but for us it’s symptomatic of how the line between a microcontroller and a microprocessor is becoming blurred. The next few years are going to continue this trend, as inexpensive microcontroller application processors such as the C6’s P4 bigger brother move into the mainstream.


Header image: Popolon, CC BY-SA 4.0.