DynamicWhiteHat

Projects

Custom boards, enclosures, and firmware. Click a card to see the full write-up, schematics, and CAD on GitHub, where everything I create is open source.

Languages: Python, HTML + CSS, JS, Java, C#, C++, Swift

Hardware

Rebound image

Rebound

A fully custom surface electromyography (sEMG) interface.

  • Low-cost alternative to current technology for detecting silent aspirations
  • Uses machine learning for improved accuracy
sEMGBiomedicalMachine learning
Corneucopia CAD render

Corneucopia

A Corne-based, 42-key low-profile wireless split keyboard.

  • ZMK firmware on two Supermini NRF52840 controllers
  • Per-key RGB, hotswap sockets, and choc switches
  • Two Nice!View displays
ZMKnRF52840ErgogenPCBCAD
Orbit mini drone render

Orbit

An ESP32-powered mini drone that can autonomously follow you.

  • DWM1000 modules on the frame and a small beacon for position tracking
  • Gyro, compass, and pressure sensor for altitude hold
  • Firmware based on flix, modified for this project
ESP32-S3DWM1000Drone
Reverb record player

Reverb

A custom record player: place a disk and it plays.

  • RFID-tagged disks map to songs
  • Gesture sensor for touch-free volume control
  • Working stylus and a 3x8 audio visualizer array
ESP32-S3RFIDAudioPCBCAD
Blynk LED controller board

Blynk

A feature-rich LED controller running WLED, built to be Alexa compatible.

  • ESP32 S3 with microphone, line-in, PIR, IR, and ambient light sensors
  • Full RGBW CCT support
  • Reverse polarity protection and automatic supply switching
ESP32-S3WLEDPCBCAD
Arc wireless keyboard

Arc

A wireless 75% backlit keyboard with a hidden-screw case.

  • HolyIOT 18010 MCU running wireless ZMK firmware
  • RGB backlight and underglow
  • Nice!View e-paper display
ZMKWirelessRGBPCBCAD
Ember laser cutter CAD

Ember

A custom laser cutter for precise cutting and engraving.

  • NEJE E40 10W 24v Diode
  • Wireless connectivity powered by the MakerBase DLC32 board
  • 360x360mm cutting area
LaserWirelessCAD
NavIt CAD render

NavIt

An ESP32-powered bicycle navigation display for your handlebar.

  • 3.7 inch e-ink touch display that stays readable in sunlight
  • Neo 6M GPS, microphone for voice commands, and speaker
  • Runs modified Astro software
ESP32-S3E-inkGPSPCBCAD

Software

Pixel Predictor image

Pixel Predictor

A fun, easy to play AI-powered pictionary.

  • Uses the GROQ API to send your drawings to an AI to guess
  • Beat your best time, or go hard mode for an extra challenge
JSGROQ API
PySolar image

PySolar

A simple real-time solar system viewer written 100% in Python.

  • Uses Skyfield with JPL's DE440s ephemeris (1849 to 2150)
  • Displays the system in a scrollable matplotlib window
PythonSkyfieldmatplotlib
Astro image

Astro

A voice assistant for Windows with online and local AI features.

  • Natural language processing for versatile, responsive voice commands
  • Currently in V 1.0, under testing
PythonNLPVoice
Discord bot image

Discord Streaks

A Discord bot written in Python for keeping streaks.

  • Uses the sqlite3 library to securely store information
Pythonsqlite3Discord