On the left, the main board of the dual board computer, with the CPU and a bunch of connectors visible. On the right, the addon board is shown, with all the extra connectors as described in the article

A Nifty F1C100S Dual-Board Computer

The F1C100S (and the F1C200S) is a super simple CPU to use – it’s QFN, it has RAM built-in, and it can run Linux. It just makes sense that we bring it up to you once again, this time, on this dual-board computer by [minilogic]. The boards look super accessible to build for a Linux computer, and it’s alright if you assemble only one of them, too – the second board just makes this computer all that much nicer to use!

One the main board, you get the CPU itself, a couple USB ports, headphone and mic jacks, a microphone, a microSD socket, power management, SPI flash chip, plus some buttons, headers and USB-UART for debug. Add the second board, however, and you get a HDMI video output socket, a RGBTTL LCD header, LiIon battery support, RTC, and even FM radio with TV input.

One problem with this computer – it’s not open-source in the way that we expect and respect, as there’s no board files to be seen. However, at least the schematics are public, so it shouldn’t be hard, and the author provides quite a bit of example code for the F1C100S, which softens the blow. Until the design files are properly published, we can at least learn from the idea and the schematics. If you like what the F1C100S CPU offers, there are other projects you can take things from too, like this low-cost handheld we’re patiently waiting for, or this Linux-powered business card.

a CH32V003 Linux-bearing PCB, single-sided, hand-etched, lovely

Bring Linux To CH32V003 Through, Yes, RISC-V Emulation

Like playing around with Linux on low-power devices? You’d be hard pressed to find a better example than the [tvlad1234]’s linux-ch32v003 project. It’s not just a one-off — it’s something you could build right now, since it requires hardly any extra parts.

With help of a 8 MB PSRAM chip for RAM supplementation purposes and an SD card, plus some careful tailoring of the Linux .config parameters, you get Linux on a chip never meant to even come close to handling this much power. The five minutes it takes to boot up to a prompt is part of the experience.

As usual with [tvlad1234]’s projects, there’s a fun twist to it! Running Linux on this chip is only possible thanks to [chlohr]’s mini-rv32ima project, which, as you might remember, is a RISC-V emulator. Yes, this runs Linux by running a RISC-V emulator on a RISC-V chip. The main reason for that is because the MCU can’t map the PSRAM chip into RAM, but if you use an emulator, memory mapping is only a matter of software. Having applied a fair amount of elbow grease, [tvlad1234] brings us buildroot and mainline Linux kernel configs you can compile to play with this — as well as a single-layer-ready KiCad board project on GitHub. Yep, you could literally etch a PCB for this project from single-sided copper-clad FR4 with a bit of FeCl3.

While the CH32V003 is undoubtedly a more impressive target for Linux, the RP2040 Linux project might be more approachable in terms of having most of the parts in your parts box. At least, up until we start valuing the CH32V003 for all the cool stuff it can do!

Four square, unpopulated purple PCBs sit in front of a tube of soldering flux on a light grey work surface. The PCBs are only 1"x1".

BeagleStamp Makes Soldering Linux Into Your Projects Easier

There are a lot of things you can do with today’s powerful microcontrollers, but sometimes you really need a full embedded Linux setup. [Dylan Brophy] wanted to make it easier to add Linux to his own projects and designed the BeagleStamp.

A populated purple PCB propped against a piece of wood on a light grey work surface. The bulk of the PCB is covered in an Ocatavo processor chip.Squeezed onto a 1″ square, the BeagleStamp puts the power of a PocketBeagle into an easy to solder module you can add to a project without all that tedious mucking about with individually soldering all the components of a tiny Linux computer every time. As a bonus, the 4 layer connections are constrained to the stamp as well, so you can use lower layer count boards in your project and have your Linux too.

The first run of boards was delivered with many of the pins unplated, but [Brophy] plans to work around it for the time being so he can spot any other bugs before the next board revision. Might we suggest a future version using RISC-V?

Photo of the head unit , with "Hacked by greenluigi1" in the center of the UI

Hacker Liberates Hyundai Head Unit, Writes Custom Apps

[greenluigi1] bought a Hyundai Ioniq car, and then, to our astonishment, absolutely demolished the Linux-based head unit firmware. By that, we mean that he bypassed all of the firmware update authentication mechanisms, reverse-engineered the firmware updates, and created subversive update files that gave him a root shell on his own unit. Then, he reverse-engineered the app framework running the dash and created his own app. Not just for show – after hooking into the APIs available to the dash and accessible through header files, he was able to monitor car state from his app, and even lock/unlock doors. In the end, the dash got completely conquered – and he even wrote a tutorial showing how anyone can compile their own apps for the Hyundai Ionic D-Audio 2V dash.

In this series of write-ups [greenluigi1] put together for us, he walks us through the entire hacking process — and they’re a real treat to read. He covers a wide variety of things: breaking encryption of .zip files, reprogramming efused MAC addresses on USB-Ethernet dongles, locating keys for encrypted firmware files, carefully placing backdoors into a Linux system, fighting cryptic C++ compilation errors and flag combinations while cross-compiling the software for the head unit, making plugins for proprietary undocumented frameworks; and many other reverse-engineering aspects that we will encounter when domesticating consumer hardware.

This marks a hacker’s victory over yet another computer in our life that we aren’t meant to modify, and a meticulously documented victory at that — helping each one of us fight back against “unmodifiable” gadgets like these. After reading these tutorials, you’ll leave with a good few new techniques under your belt. We’ve covered head units hacks like these before, for instance, for Subaru and Nissan, and each time it was a journey to behold.

A Linux Business Card You Can Build

It is a sign of the times that one of [Dmitry’s] design criteria for his new Linux on a business card is to use parts you can actually find during the current component shortage. The resulting board uses a ATSAMD21 chip and emulates a MIPS machine in order to boot Linux.

We like that in addition to the build details, [Dmitry] outlines a lot of the reasons for his decisions. There’s also a a fair amount of detail about how the whole system actually works. For example, by using a 0.8 mm PCB, the board can accept a USB-C cable with no additional connector. There is also a great explanation of the MIPS MMU and don’t forget that MIPS begat RISC-V, so many of the MIPS core details will apply to RISC-V as well (but not the MMU).  You’ll also find some critiques of the ATSAMD21’s DMA system. It seems to save chip real estate, the DMA system stores configuration data in user memory which it has to load and unload every time you switch channels.

By the end of the post you get the feeling this may be [Dimitry]’s last ATSAMD21 project. But we have to admit, it seems to have come out great. This isn’t the first business card Linux build we’ve seen. This one sure reminded us of a MIDI controller card we once saw.

The SoM on an evaluation board, with two LEDs shining, one USB-C cable connected for power and another plugged into the OTG port

New Part Day: X1501 Makes For A Tiny And Open Linux SoM

Ever wanted to run Linux in an exceptionally small footprint? Then [Reimu NotMoe] from [SudoMaker] has something for you! She’s found an unbelievably small Linux-able chip in BGA, and designed a self-contained tiny SoM (System on Module) breakout with power management and castellated pads. This breakout contains everything you need to have Linux in a 16x16x2mm footprint. For the reference, a 16mm square is the size of the CPU on a Raspberry Pi.

This board isn’t just tiny, it’s also well-thought-out, helping you put the BGA-packaged Ingenic X1501 anywhere with minimal effort. With castellated pads, it’s easy to hand-solder this SoM for development and reflow for production. An onboard switching regulator works from 6V down to as low as 3V, making this a viable battery-powered Linux option. It can even give you up to 3.3V/1A for all your external devices.

The coolest part yet – the X1501 is surprisingly friendly and NDA-free. The datasheets are up for grabs, there are no “CONFIDENTIAL” watermarks – you get a proper 730-page PDF. Thanks to this openness, the X1501 can run mainline Linux with minimal changes, with most of the peripherals already supported. Plus, there’s Efuse-based Secure Boot if your software needs to be protected from cloning.

More after the break…

Continue reading “New Part Day: X1501 Makes For A Tiny And Open Linux SoM”

Getting Root On Linux Amplifier Adds New Inputs

We remember when getting Linux on your average desktop computer was a tricky enough endeavor that only those with the most luxurious of graybeards would even attempt it. A “Linux box” in those heady days was more than likely an outdated machine salvaged from the dumpster, side panel forever removed, cranking away in a basement or garage. Fast forward today, and Linux is literally everywhere: from smartphones and luxury cars, to TVs and refrigerators. Ironically it’s still not on most desktop computers, but that’s a discussion for another time.

So when [Michael Nothhard] sent in the fascinating account of how he hacked his Linux-powered Bluesound Powernode N150 amplifier to unlock more inputs, the least surprising element was that there was a “smart amplifier” out there running the free and open source operating system. What piqued our interest was that he was able to bust his way in with relative ease and enable some impressive new capabilities that the manufacturer would probably have rather been kept under wraps.

Configuring the CM6206’s audio settings.

[Michael] explains that the N150 has a USB port on the back side of it, and that officially, it only works with mass storage devices and a handful of approved peripherals such as a Bluetooth dongle. But as he was hoping to connect some more devices to the input-limited amplifier, he wondered if he could get a USB audio adapter recognized by the OS. After using a known exploit to get root access, he started poking around at the underlying Linux system to see what kind of trickery the developers had done.

Based on a fairly common C-Media CM6206 chipset, the StarTech 7.1 USB audio adapter was picked up by the kernel without an issue. But to actually get it working with the amplifier’s stock software, he then needed to add a new <capture> entry to the system’s sovi_info.xml configuration file and make some changes to its default ALSA settings. With the appropriate files modified, the new USB audio input device popped up under the official Bluesound smartphone application.

At the end of the write-up [Michael] notes that you’ll need to jump through a few additional hoops to make sure that an upstream firmware update doesn’t wipe all your hard work. Luckily it sounds like backing up the configuration and returning it to the newly flashed Powernode is easy enough. We’ve certainly seen more elaborate methods of gaining control of one’s sound system over the years.