Image

User Repair Of A Not User-Repairable Victron CCGX Issue

Power banks come in many sizes, and those that target construction sites are probably among the largest. The massive four ton unit based around lead-acid batteries which the [Buy it Fix it] YouTube channel got handed is a good example. Inside it are Victron CCGX inverters among a lot of other Victron electronics, with the control panel for the system throwing up an error that was deemed to be not user-serviceable. Naturally, this makes for a good challenge.

Image

The exact error as thrown up on the central control panel is error #42, indicating a storage corruption issue on the device. According to the manual this means an issue with the internal flash memory that stores settings, serial numbers and WiFi credentials, requiring it to be shipped back to the manufacturer.

To further diagnose the issue, this Color Control unit was taken out of the power bank and coaxed onto a repair bench. This device has a whole host of Ethernet, CAN and other buses on the back, along with a USB host feature, but using the latter to reflash the firmware made no difference. Fortunately it’s just an embedded Linux system running on the System-on-Module and gaining remote SSH access was a snap due to easy root access.

Interestingly, running a diagnostic on the flash IC showed it to be still in good condition. Instead an ECC issue was logged that caused it to be marked as bad. This seems to have been due to the flash IC requiring 4 bits of ECC per 528 bytes, but the software using only a single bit. After reformatting and clearing the error it seems to have fixed the issue. Apparently it was just a weird configuration error that soft-bricked the device, raising the question of how that happened.

Continue reading “User Repair Of A Not User-Repairable Victron CCGX Issue”

Image

This SSD Will Self Destruct In Ten Seconds…

In case you can’t wait for your flash memory to die from write cycling, TeamGroup now has a drive that, via software or hardware, can destroy its own flash chips with a surge of voltage. If you wonder why you might want this, there are military applications where how you destroy a piece of equipment is right up there in the manual with how to use it.

They have obviously put a lot of thought into it, as you can see in the video below. Apparently, if you are in the middle of blowing up the flash and power cuts out, the chip will resume frying itself when you restore power.

Continue reading “This SSD Will Self Destruct In Ten Seconds…”

Image

PoX: Super-Fast Graphene-Based Flash Memory

Recently a team at Fudan University claimed to have developed a picosecond-level Flash memory device (called ‘PoX’) that has an access time of a mere 400 picoseconds. This is significantly faster than the millisecond level access times of NAND Flash memory, and more in the ballpark of DRAM, while still being non-volatile. Details on the device technology were published in Nature.

In the paper by [Yutong Xing] et al. they describe the memory device as using a two-dimensional Dirac graphene-channel Flash memory structure, with hot carrier injection for both electron and hole injection, meaning that it is capable of both writing and erasing. Dirac graphene refers to the unusual electron transport properties of typical monolayer graphene sheets.

Demonstrated was a write speed of 400 picoseconds, non-volatile storage and a 5.5 × 106 cycle endurance with a programming voltage of 5 V. It are the unique properties of a Dirac material like graphene that allow these writes to occur significantly faster than in a typical silicon transistor device.

What is still unknown is how well this technology scales, its power usage, durability and manufacturability.

Image

Some SPI Flash Chip Nuances Worth Learning

Some hackers have the skills to help us find noteworthy lessons in even the most basic of repairs. For instance, is your computer failing to boot? Guess what, it could just be a flash chip that’s to blame — and, there’s more you should know about such a failure mode. [Manawyrm] and [tSYS] over at the Kittenlabs blog show us a server motherboard fix involving a SPI flash chip replacement, and tell us every single detail we should know if we ever encounter such a case.

They got some Gigabyte MJ11-EC1 boards for cheap, and indeed, one of the BIOS chips simply failed — they show you how to figure that one out. Lesson one: after flashing a SPI chip, remember to read back the image and compare it to the one you just flashed into it! Now, you might be tempted to take any flash chip as a replacement, after all, many are command-compatible. Indeed, the duo crew harvested a SPI chip from an ESP32 board, the size matched, and surely, that’d suffice.

That’s another factor you should watch out for. Lesson two is to compare the SPI flash commands being used on the two chips you’re working with. In this case, the motherboard would read the BIOS alright and boot just fine, but wasn’t able to save the BIOS settings. Nothing you couldn’t fix by buying the exact chip needed and waiting for it to arrive, of course! SPI flash command sets are fun and worth learning about — after all, they could be the key to hacking your “smart” kettle. Need a 1.8 V level shifter while flashing? Remember, some resistors and a NPN transistor is more than enough.

Hackaday Links Column Banner

Hackaday Links: May 14, 2023

It’s been a while since we heard from Dmitry Rogozin, the always-entertaining former director of Roscosmos, the Russian space agency. Not content with sending mixed messages about the future of the ISS amid the ongoing war in Ukraine, or attempting to hack a mothballed German space telescope back into action, Rogozin is now spouting off that the Apollo moon landings never happened. His doubts about NASA’s seminal accomplishment apparently started while he was still head of Roscosmos when he tasked a group with looking into the Apollo landings. Rogozin’s conclusion from the data his team came back with isn’t especially creative; whereas some Apollo deniers go to great lengths to find “scientific proof” that we were never there, Rogozin just concluded that because NASA hasn’t ever repeated the feat, it must never have happened.

Continue reading “Hackaday Links: May 14, 2023”

Image

Bringing The NES Cartridge Into The USB Age

An NES cartridge in its most basic form is a surprisingly simple device, it contains two ROMs hosting all the code and assets of its game, and a Nintendo code chip that provided what was a state-of-the-art consumer DRM system for the 1980s. Decades later its inner workings have been extensively reverse-engineered, and there have been quite a few custom and reprogrammable cartridge designs produced.

This hasn’t stopped [Troy Denton] and [Brad Taylor] making a cartridge of their own though, and the result of their labours is a fully USB reprogrammable cartridge for the Nintendo Entertainment System. It provides nonvolatile storage and is a simpler design than you might expect, using a pair of 1 megabit Flash chips and emulating Nintendo’s DRM with an ATtiny microcontroller.

In itself it’s an interesting enough design, but what makes the write-up stand out is the description of having the boards manufactured by a PCBA service, and their subsequent debugging. A surface-mount micro USB socket that shorted out the USB power required a bit of rework to place Kapton tape beneath it, while another clever patch uses the NES clock signal to provide a read-only line for the memory. It’s also interesting to hear about their manual “crowdfunding” approach which was to ask around if anyone else wanted one so they could bring unit cost down by producing more cartridges.

If you’re interested in the NES DRM system, it’s a subject we’ve touched on in the past.

Image

Trouble Flashing Your ESP8266? Meet DIO And QIO

[Pete] was building a hot tub controller, using a WEMOS board based on the venerable ESP8266. After assembly, the board was plugged into USB and [Pete] hit the flash button. No dice. Investigation with some terminal software indicated a checksum error.

Assuming the board was dead, [Pete] grabbed another — and suffered the same problem.  The WEMOS boards wouldn’t program, but other boards had no issues. Sensing that something may be amiss, further research was in order. A forum post turned up discussing different programming modes for the ESP8266.

It turns out that there are different types of flash used with the ESP8266, and the correct programming mode must be selected for a given hardware setup. These modes are known as DIO and QIO, meaning “dual IO” and “quad IO” respectively. This refers to the number of IO line used to talk to the flash memory. There are also further modes, known as DOUT and QOUT. It’s important to identify the modes supported by the flash chip on board, by looking at the datasheet. Obviously this can be difficult on some pre-built modules, so experimentation is the key here.

With the wrong mode selected, writes to the flash will fail, and reading back will turn up a checksum error. It’s a simple matter of changing a line in the make file and trying different modes, to see which one works. This forum post has a more in-depth coverage of the issue. 

By choosing different flash memory parts and selecting the DIO or DOUT modes, it’s actually possible to free up more GPIO pins as well. This knowledge is handy when optimizing ESP8266 designs for memory speed or maximum IO flexibility. It’s a good lesson that it always pays to look at the datasheet to get the best out of your parts.