things I built because I wanted to
The GloscBox is a custom game console I designed for the sole purpose of playing games stored on physical media. The hardware includes an Intel NUC5i5RYH as the computer, an Asus ZenDrive U9M DVD reader, and a generic floppy disk drive I bought from microcenter. I looked into other forms of physical media I could support, but didnt want to fall into feature-creep, so I landed on just having a floppy and DVD/CD drive. While the console itself is done, the software is still a work in progress, and will be available to view on the code page of this website when completed. The game launcher, LIPGLOSC (LIPGLOSC Is a Physical Game Launcher Of Superintelligent Creation), will monitor both media drives, awaiting insertion of either a floppy disk or DVD, and will scan the drive/disk for a config file that will tell the launcher what settings to launch the game with. The goal of the GloscBox is to create a console that feel as close as possible to older console, such as the Xbox360 or NES, that ran games off of physical media, and launched games the instant they were inserted to the console.
An open-source PCVR headset I'm building as an alternative to Meta's, HTC's, Apple's, and everyone's closed-source VR ecosystems. Built around a Rockchip 3588 compute module (CM3588) that handles inside-out tracking from dual cameras, with a custom PCB to integrate it with two 2K displays (1440x1440 per eye), WiFi 6E for video streaming, and dual IMUs (BMI270) for head tracking. The controllers both run ESP32-S3s with infrared tracking markers and their own IMUs for sensor fusion. All firmware will be written in rust for both the headset and controllers. Still in the PCB design phase, but the repo documents my full design process, and all my thoughts throughout the process.
A glove that tracks your hand using 5 thin-film flex sensors (one per finger) and a BMI160 IMU, capturing 15 degrees of freedom total. An ESP32 reads the sensors and transmits data over BLE to a custom C++ application that parses the input and visualizes it as a 3D hand model through a web interface. The glove uses 3D printed TPU joints to house the flex sensors while allowing natural hand movement, plus an onboard housing for the electronics. Firmware runs calibration sequences on startup to account for individual finger lengths and variations in sensor placement.
Contributor to reverse-engineering and modernizing Valve's Steam Controller after discontinuation. Reverse-engineered the original firmware, then helped redesign the PCB—swapping the LPC11U37/501 for an ESP32, upgrading from a single IMU to dual BMI270s, and replacing Micro-USB with USB-C. Wrote Rust firmware implementing USB HID gamepad protocol and haptics. The project preserves these controllers for continued use.
Duncebot is my most favorite robot because it is the least functional and most rediculous battlebot I've ever built. Battlebots is a game, and games are meant to be fun. Duncebot delivers on that.
Vlad is my most technically interesting battlebot yet. Vlad uses two flywheels, that do not touch the ground, to lock the rotational axes of the bot through gyroscopic effect. With the rotational axes locked, the bot can only move forward or backward. To change direction, keep one wheel spinning, then change the direction the other wheel is spinning. Also features a giant bludgeoning weapon.