Micropad: A Custom USB Macropad Keyboard
Status
Tech
Description
Micropad is a custom USB Macropad: Essentially a 3-button USB keyboard that also includes a rotary encoder. I was tired of my mac touch bar for volume and music control, so I wanted something with tactile buttons. I made multiple copies of it to give to friends. It features a custom designed circuit board, custom firmware written in Rust (including a custom bidirectional serial protocol) and a custom designed case that's 3D printed in PLA.
Spritejar: A Retro Game Boy Flash Cartridge
Status
Tech
Description
Spritejar is a custom retro Game Boy flash cartridge that allows you to load homebrew code onto a Game Boy via a micro SD card. It utilizes an FPGA to clock data from the Game Boy data pins. The FPGA bitstream is synthesized using an entirely open source FPGA toolchain (yosys, nextpnr, etc.).
Hardware
- FPGA: ice40-HX4K
- RAM: 8MB of PSRAM
- Flash: 2MB SPI
- 5v to 3.3v bus logic level shifters
GBTile: A GameBoy PNG to Tile Converter
Status
Tech
Description
GBTile is a small command line utility that converts PNG images into GameBoy image tiles. It utilizes the Rust png crate to read PNG images, and quantizes the pixel data into the nearest 2-bit Game Boy pixel, based on the color value.
Puch Maxi Electric Moped Conversion
Status
Tech
Description
I converted an old 1978 Puch Maxi moped that wasn't running to into a fully-drivable electric vehicle. This was my first foray into electric vehicles. I custom manufactured several parts, including the motor plates, custom motor shaft, and battery ampmeter bar mount. If you'd like to read the entire build log, it's up here:
More project descriptions coming soon. For now, check out my Github Profile for more!