Personal projects & practical builds

Things I build outside my degree

Engineering, software and practical projects that I work on outside my main university projects.

Back to Portfolio

Completed device · live radar view

Completed
Original project work

Mini Aircraft Radar

Completed October 2026

A completed compact physical aircraft radar display built around an ESP32, a 1.28-inch round GC9A01 display, and a KY-040 rotary encoder.

Key Features

  • Connects to Wi-Fi and retrieves live aircraft data from the OpenSky Network API.
  • Plots nearby aircraft by real-world distance and bearing from a selected location, with position markers and heading indicators.
  • Supports selectable radar ranges of 5, 10, 25, and 50 nautical miles.
  • Uses a KY-040 rotary encoder to change range, select aircraft, and open a dedicated aircraft information screen.
  • Includes an on-device settings interface for switching between preset locations and Wi-Fi networks without re-uploading software.
  • The working electronics and software use an ESP32, 1.28-inch round GC9A01 display, C++, Arduino IDE, TFT_eSPI, JSON processing, REST API integration, OAuth authentication, and a custom 240×240 circular interface.
  • The working electronics and software are integrated into a custom 3D-printed enclosure with the display, rotary encoder and physical housing brought together as a finished device.

The finished system

Final Build

The final photographs show the progression from the working prototype and interface development to a complete physical Flight Tracker, with the live radar view and aircraft-selection screen operating in the finished enclosure.

Live radar view
Aircraft information display

Project result

Final Outcome

The project progressed from an initial ESP32 radar concept into a complete standalone physical device. The finished system connects to Wi-Fi, retrieves live aircraft data from the OpenSky Network API, plots nearby aircraft on the circular radar interface, and allows an individual aircraft to be selected for flight information including altitude, heading, speed and distance. It brought together ESP32 embedded development, real-time data and REST API communication, graphical UI development, rotary encoder interaction, 3D CAD, 3D printing, and iterative hardware/software integration.

ESP32C++Arduino IDEOpenSky APITFT_eSPIREST APIsOAuth

Documentation in progress — project photography will be added here

Planned gallery: completed Stream Deck, internal electronics and wiring, three OLED displays operating, enclosure and controls, development prototype.

Ongoing
Original project work

Custom Wireless Stream Deck

2026 · Electronics / Embedded Systems / Software

Building on the knowledge and skills I developed through my Flight Radar project, I wanted to create a more ambitious ESP32-based device that combined embedded electronics, wireless communication and desktop software into something I could use every day. I designed and built this portable Stream Deck primarily to control my Mac and speed up repetitive parts of my engineering workflow.

See the Mini Aircraft Radar that led to this project →

Key Features

  • Built around an ESP32-S3 N16R8, three SSD1306 128×64 OLED displays connected through a TCA9548A I²C multiplexer, three push buttons and a rotary encoder with its own push switch.
  • A rechargeable battery and custom enclosure make the device portable, with no USB connection to the Mac required during normal use.
  • Pressing the rotary encoder changes between selectable modes, allowing the same displays and physical controls to perform different tasks.
  • General mode provides screenshot, engineering-workflow and display actions, while the rotary encoder controls Mac volume with live OLED feedback.
  • Tools mode can switch the Tuya / Smart Life plug powering my 3D printer, open my University Year 3 directory, and automate saving and exporting the active SolidWorks part as an STL through Parallels.
  • Custom monochrome graphics identify screenshot, engineering, display, 3D-printer, STL-export and Year 3 folder actions, including an aerodynamic airfoil-and-streamlines graphic. Designing a clear interface within 128×64 pixels introduced an interesting UI constraint.
  • The mode and action system is deliberately expandable so I can add further integrations and engineering workflow tools as the project develops.
Technical details

Wireless software stack

  • The ESP32 firmware communicates primarily over Bluetooth Low Energy, with Wi-Fi available as a fallback.
  • I developed a custom authenticated protocol with automatic reconnection, token handling and duplicate-event suppression across the two communication methods.
  • A Swift macOS background service uses CoreBluetooth and exchanges newline-delimited event and state messages with the ESP32.

Firmware and development

  • Over-the-air firmware updates allow the portable device to be updated without returning to a wired workflow.
  • ESP32 Preferences / NVS stores configuration persistently between restarts.
  • The project combines C/C++ firmware, Swift development, BLE and Wi-Fi debugging, smart-home API integration, CAD, rapid prototyping, soldering and physical manufacture.
ESP32-S3Embedded SystemsC/C++Bluetooth LESwiftOLED UIRapid Prototyping

App design and interface work by Freddie Knight

In Progress
Original project work

Pub Compass - iOS App

An iOS app in active development for finding nearby pubs based on real-time preferences rather than simply listing every nearby pub.

Key Features

  • Built in Swift and SwiftUI, with Google Places API integration for pub and location information.
  • Uses Supabase as the backend database for app data and user-contributed information.
  • Designed to help users filter pubs by useful preferences such as opening status, food availability, and specific beers or ciders.
  • Includes a crowdsourced drink availability system so users can contribute what is currently available or on tap.
  • I am developing an AI-assisted drink estimation system that uses information such as menus, reviews, and photos when reliable crowdsourced data is not available.
SwiftSwiftUIGoogle Places APISupabaseiOSAPI Integration

Photograph and camper conversion work by Freddie Knight

Completed
Original project work

VW Caddy Camper Conversion

A hands-on conversion of an empty VW Caddy panel van into a compact camper designed around mountain biking, camping, outdoor travel, and practical DIY projects.

Key Features

  • Prepared the empty panel van by adding insulation, sound deadening, carpeting, and interior finishing.
  • Designed and built a custom modular combi unit that makes efficient use of the limited space inside the VW Caddy.
  • Built a slide-out bed system that can be configured as either a single bed or a double bed.
  • Integrated under-bed storage drawers, a rear slide-out kitchen, and storage planned around camping and mountain biking equipment.
  • Installed bicycle fork mounts so mountain bikes can be transported securely while preserving usable interior space.
  • Added a practical off-grid electrical system with around 4500 Wh of storage and a 2000 W inverter for e-bike charging, electronics, camping equipment, cooking appliances, and mains-powered tools.
  • The power system also makes the van useful for self-employed handyman work by allowing tools to be powered or charged where convenient mains electricity is not available.
Camper ConversionDIY FabricationElectrical SystemsPractical EngineeringMountain BikingOff-Grid Power

Finished component manufactured by Freddie Knight.

Completed
Original project work

Machined Geometric Bottle Opener

A self-directed machining project completed after formal university workshop training, designed to build confidence taking a simple SolidWorks design from drawing through to a finished physical component.

Key Features

  • Designed a deliberately simple geometric bottle opener in SolidWorks so the focus remained on machining practice rather than component complexity.
  • Worked from a SolidWorks engineering drawing to plan the setup, machining sequence, and key dimensions.
  • Used university workshop equipment to develop confidence with manual milling, secure workholding, accurate setup, and safe machining technique.
  • Focused on maintaining dimensions, achieving a good surface finish, and improving practical manufacturing judgement.
Manual MachiningMillingLatheSolidWorksManufacturingWorkshop Skills

The original drawing remains source material and is not published here; the finished component photograph shows the result.

Documentation in progress — project photography will be added here

In Progress
Original project work

Budget Self-Hosted Photo & File Server

An ongoing DIY project to build a low-cost home NAS and private cloud for consolidating my photos and files without relying entirely on Google Photos.

Key Features

  • Designed around at least 2 TB of photo and file storage, with room to expand using inexpensive or second-hand hardware where practical.
  • Uses Immich as an open-source, self-hosted Google Photos alternative for automatic phone photo backup and browsing.
  • Aims to make photos and files easy to access from my MacBook, iPhone, and iPad both at home and remotely.
  • Uses secure remote access through Tailscale rather than exposing the NAS directly to the internet.
  • Includes migration of existing photo libraries from four Google accounts using Google Takeout, while preserving original dates and metadata.
  • The longer-term plan includes a separate local backup so the NAS is not the only copy of the data.
ImmichDockerLinuxTailscaleHome NASPrivate Cloud