Blake Smith

create. code. learn.

Spritejar: A Retro Game Boy Flash Cartridge

Status
In progress
Tech
KiCAD, FPGA / Verilog, 8-bit C, Rust
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
Released
Tech
Rust
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
Complete
Tech
CAD design, 3D printing, Laser cutting, Circuit design
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!