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 |