This is @ArcaneNibble, aka R! I'm a "hacker," "technologist," "catgirl," and many other descriptors. Here's a sampling of projects:
I build PCBs, including all of these:
Project | Status | Description |
---|---|---|
remex | PCB WIP | CH32V307 RISC-V MCU dev board with gigabit Ethernet |
PY32 fidget spinner | PCB complete, firmware WIP | deliberately-overengineered fidget spinner built around a Chinese ARM MCU, showing off just how cheap technology has become |
LCSC parts tester | PCB complete, testing WIP | filling in missing documentation for some interesting parts found on LCSC |
Hexpansion headphone jack | Complete | headphone codec for the EMFCamp Tildagon badge |
Hexpansion infrared | Complete, no firmware | 38 kHz IR TX/RX for the EMFCamp Tildagon badge |
JLCPCB test cat ears | Complete, KNOWN ERRATA | I wanted to quickly test JLCPCB's turn-key assembly process with a 4-layer board with an unusual shape |
Yahoo! Paranoids DEFCON badge | Complete | conference badge with BLE, microphone, and blinkies |
Yahoo! Paranoids Hackme | Complete | platform for running hardware hackmes and teaching colleagues about embedded systems |
SLG46582 test board | Shelved | cheap I2C-programmable LDOs with additional capabilities. Uncertain future after the string of M&As ending in Renesas |
CuteRunner | Shelved | cheap Xilinx/AMD CoolRunner-II dev board, killed due to chip shortage and parts becoming EOL |
Project Chibi board | Shelved | Altera/Intel MAX V dev board. Single monolithic mega-board turned out to not be a good design. Shelved due to chip shortage |
Software for your computer, doing normal computer things. Contributions welcome!
Project | Status | Description |
---|---|---|
FastLZ in Rust | Stable | FastLZ reimplemented in pure-Rust |
uksirius | Proof-of-concept | an effort to learn practical DSP by implementing a dial-up modem in pure software |
Tile Corruptor | Initial release | a tool for viewing binary data as images in various formats, which can be useful for reverse-engineering and taking shortcuts using the brain's visual system's pattern matching |
Software related to embedded systems, either because it runs on an embedded platform or because it primarily deals with problems in the embedded space. Contributions welcome!
Project | Status | Description |
---|---|---|
UF2 bootloader for CH32V2xx | Stable | an implementation of UF2 (USB Flashing Format) for the CH32V2xx RISC-V MCUs |
embedded compiler toolchain stuff | Proof-of-concept | putting compilers in your browser and building a toolchain distribution |
JEDEC programming file parser in Rust | Stable | parser and writer for .jed files, commonly used with CPLDs |
JTAG abstraction layer in Rust | Very incomplete, shelved | attempting to build a good JTAG abstraction API |
VHDL frontend | Very incomplete, shelved | attempting to build a VHDL frontend |
Software related to reverse engineering or derived through reverse engineering. Contributions accepted, but please follow reverse engineering best practices wrt intellectual property concerns.
Project | Status | Description |
---|---|---|
xc2bit | Rewrite in progress, all critical information exists in R's brain | reverse-engineered documentation for Xilinx/AMD CoolRunner-II CPLD bitstreams |
Project Nanjing | Looking for contributors | reverse-engineering the WCH Bluetooth Low Energy IP in order to eliminate the binary blobs |
Project Chibi | Rewrite in progress, all critical information exists in R's brain | reverse-engineered documentation of Altera/Intel MAX V/II CPLD bitstreams |
Project New Millennium | Shelved | rough reverse-engineering notes of Altera/Intel MAX 7000 CPLDs |
AccuVote flash tools | Shelved | quick tool to dump and restore the flash memory of the AccuVote TSx voting machines used in some places in the United States |
Project | Status | Description |
---|---|---|
Steam Deck gyro + flick stick controls for Minecraft | Works, but unmaintained | Implements flick stick motion controls as a Minecraft Forge mod. This gets better performance/accuracy and more-powerful integration with the game engine compared to doing it externally using Steam Input. |
These are proofs-of-concept, throwaways, quick-and-dirty solutions, etc. all of which are currently very unmaintained.
Project | Interest in reviving? | Description |
---|---|---|
Apple M1 AVD emulator | ❌ | Emulates the Cortex-M inside the Apple Silicon video decoder, as part of Asahi Linux work. Currently superseded by further work from others |
Apple PCIe Bluetooth prototype driver | ❌ | Proof-of-concept to drive Apple Bluetooth. A proper Linux driver is now upstream. Might be useful as a reference for doing VFIO in Python |
f055.cc | ✅ | I took over this domain a while back, but I haven't done a good job of marketing/promoting it. This is a registry of "16-bit numbers" that might be needed in some cases. |
langtool | ❌ | Quick tool to look up Chinese words in CC-CEDICT and CC-Canto simultaneously in order to generate flashcards for Anki. This is probably only useful for ABCs (American-Born Chinese) heritage speakers with a highly specific background and upbringing. |
pokeemeraldfont | ❌ | a demo abusing font ligatures and "emoji" fonts in order to turn the names of Pokemon into icons |
BLE dog shock collar reverse engineering | ❌ | I, along with an anonymous friend, reverse engineered the Dr.Trainer BLE-controlled dog shock collars |
Sega Saturn CD controller block | ❌ | I reproduced the published hack to dump the Sega Saturn CDB microcontroller |
TPM2 LUKS | ✅ | very-old experiments with sealing LUKS keys to a TPM |
propclone | ❌ | clone of the Parallax Propeller core, written when I was a teen |