2023-07-04 02:12:38 -07:00

94 lines
3.8 KiB
Markdown

---
layout: page
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