--- title: TODO permalink: /todo/ excerpt: A running list of things I'll to one day. --- Going into industry and college, I did not expect the sheer number of things that I wanted to try learning. Rather than tossing everything onto a poorly organized sticky note, I figured it's probably best to put it in a publicly visible less poorly organized page. Full disclosure, I still use a sticky note. # High-Priority Projects Projects I'll get to next. - **hardware** - **iCE40 ADC** - first time using an iCE40, pairing with an external ADC - **word watch** - inspired by those word clocks - **solar esp32** - proof of concept - **keyboard v2** - full size, swappable keys, esp32 (for the low-power challenge), solar powered - **Linux board** - probably an NXP or STM32 chip, maybe a Zynq - **software** - **ePaper Zephyr support** - made a breakout board a while ago, try adding to Zephyr - **JABI mobile apps** - built in Flutter for cross-platform deploy - **CAN/LIN DFU for Zephyr** - perhaps build it on UDS or devise custom protocol - **MCUboot FSBL** - updatable bootloader! - **bootloader dynamic linking** - app calls functions provided by bootloader to save flash - **LDF parser in Haskell** - integrate into JABI too - **DBC parser in Haskell** - integrate into JABI too - **acoustic keylogger** - lots of articles online, seems interesting # Future Projects Projects I'll get to once I finish the others. - **CNC v2** - do it properly this time, make sure it can cut metal - **3D printer** - silent, fast, use linear rails - **Nerf Gun** - precise, magazine fed, mountable and electric - **Auto Nerf Turret** - become a Jedi with a reobot deliberately shooting at your lightsaber - **Robotic Actuator** - improve the one I designed in 2017 - **Sine Wave Encoder** - worked with these before so document it - **Solder Station** - try doing what GreatScott did and make a cheap good one - **Solder Paste Dispenser** - auto squeezing, maybe throw it on a 3D printer and integrate with KiCad - **Pick and Place Machine** - auto placing, deep integration with KiCad - **Closed Loop Current Clamp** - http://www.ti.com/lit/ug/tidu674/tidu674.pdf - **Isolated Differential Oscilloscope Probe** - **Phased Array Receiver** - basically a compass for radio signals - **Drone** - make one, make autonomous, make many - **Haptic Touchpad** - basically a Macbook trackpad - **LPC845 Zephyr Support** - already added basic support, do it correctly this time - **Expandable Cellular Automata** - Conway's Game of Life, infinitely expandable, configurable init states - **Self-balancing Robot** - super simple but I've never done it - **Hacked Labelmaker** - hack Dymo and make it print whatever we want with a proper desktop app - **Microphone Triangulation** - like the EE16A lab but an actual product - **Component Storage System** - storing a bunch of bags in a box is not a solution - **Zynq breakout** - **Intel SoC breakout** - **CAN Sniffer** - no cutting wires, https://www.csselectronics.com/products/cancrocodile-contactless-can-adapter, inject a signal too? - **Zephyr USB Rubber Ducky** - make a USB HS board first - **Pi Zero Cluster** - got lots of them lying around, no SD cards - **SDR** - deploy the BLE/802.15.4 Chisel code you wrote (zero IF?) # Stuff to Learn Things I have to come up with a project for. - Linux - Buildroot - Yocto - kernel drivers - mmap - AI/ML - Tensorflow Lite - app dev - Android - Kotlin - iOS - Swift - Flutter - Dart - web - WebUSB - WebSockets - WebAssembly - high speed - DDR, Gigabit, PCIe - RF front-end design - QAM - digital design - VHDL - FPU design - DRAM driver - controls - FOC motor control - Kalman filters - protocols - SIM card - PCIe - POE - other - embedded Rust