Skip to main content

Projects

Collection of recent projects I've built:

  • NES Emulator
  • ePaper Live Bus Times Dashboard

NES Emulator

A Nintendo Entertainment System (NES) emulator built from scratch using modern C++, Vulkan, SDL2, and ImGui.

Technical Features

Cross Platform Compatibility

Works seamlessly across:

  • macOS
  • Windows
  • Linux

Screenshots

NES Emulator running a game CRT filter demonstration ImGui memory debugging interface

ePaper Live Bus Times Dashboard

A low power ESP32 ePaper display that shows real time bus departures at a glance.

ESP32 Powered ePaper Screen

Technical Features

  • Completely Wireless
    • Rechargable using the built in USB-C port
    • Battery is swappable via a standard JST styled connector
    • Fetches Data over WiFi
  • ePaper Display only uses power when being refreshed
  • Display + ESP32 is programmed using ESPHome and C++
  • The Bus information is fetched from the TFI API using a BunJS script
  • Data is sent to a local Home Assistant Server via MQTT and then propagated from there

Bill of Materials

Custom
ComponentSpecificationPriceFeatures
MicrocontrollerSeeed Studio Xiao ESP32-C3€4Compact, WiFi, Low Power, Built-in Battery Charging
DisplayWeAct Studio 4.2" ePaper€15400x300px, Low Power
Battery8BitDo 1000mAh LiPo Pack€4Robust and Cheap

Total Cost: €23

Seeed Studio TRMNL 7.5 inch (OG) DIY Kit

For a bigger screen and an all in one kit there is also the Seeed Studio TRMNL 7.5 inch (OG) DIY Kit.
Although designed for use within the TRMNL ecosystem it can be used with ESPHome e.g. ESPHome Cookbook: TRMNL 7.5" (OG) DIY Kit

TRMNL Powered ePaper Screen

This ePaper Screen support partial refreshes.

Bill of Materials

ComponentSpecificationPriceFeatures
MicrocontrollerXIAO ESP32-S3 PLUS driver boardIncluded in kitCompact, WiFi, Low Power, Built-in Battery Charging
Display7.5-inch Eink DisplayIncluded in kit800x480, Low Power
Battery2000 mAh rechargeable batteryIncluded in kitRobust and Cheap

Total Cost: €49.19