tti0.net



My major projects

Some smaller projects (such as small Python libraries/utilities and Arduino) are hosted on my GitHub profile.


Plasma Stick Simple Web Control (psswc)

Date: May 2024

A lightweight asynchronous web server written in MicroPython for the Pimoroni Plasma Stick 2040W, allowing the script running on the RP2040's other core to be changed over-the-air. User-supplied animation scripts, to be played on NeoPixel LEDs attached to the Plasma Stick, need simply be uploaded to the RP2040 filesystem, where they will be recognised and presented on the web page.

Back to top

USB-Monostable

Date: April 2024

An in-line timer/monostable switch for 5 V USB power, with a PCB based around the 555 timer and SiP32508 load switch ICs. This small form-factor and low-cost open-source hardware project allows downstream USB devices to be powered for a fixed time period after the user presses a button, minimising current draw and maximising battery life for portable projects, and providing deep-sleep-like functionality to projects where the MCU would otherwise not allow this. Power can also be switched off manually.

Back to top

Where's That Plane Going?

Date: April 2023

An Express web application to show details of aircraft in the user's vicinity, using data from the FlightAware AeroAPI and geodesy functions. Perfect for quickly finding out about a plane you see in the sky while in the garden at home.

All computations are done server-side and are cached (reducing the number of API requests). Data are displayed using a HTML/CSS (no frontend JavaScript) user interface with Bulma CSS. The application is Dockerised for easy deployment to a home server (e.g. a Raspberry Pi).

Back to top

MGS Sports Day Website (v1.5)

Date: April to July 2022

A web interface developed using React and the Google Sheets API v4 to present results of the school Sports Day in a user-friendly manner. This project was a re-write of version 1 of the system to use modern and secure web technologies.

A complex Google Sheets backend calculates scores, based on positions in races and events, and school records. A TypeScript helper function library generates meaningful JSON objects from the API responses, which are integrated into a responsive React JS application for spectators to use.

Back to top

global-journey

Date: March to December 2021

A frontend web application written in Vue.js (with Vuex and Vue Router) to keep track of and visualise cumulative journeys, as were common in the first COVID-19 lockdown; for example, students at a school each running 10km of the distance from the school to Tokyo.

Unfortunately, due to time constraints, the project is unfinished, but is a functioning proof-of-concept, and was an interesting and worthwhile exercise in learning more modern web technologies.

Back to top

eurolingo

Date: June 2019

A frontend JavaScript and jQuery language-guessing game, in which the red herring multiple-choice options are chosen to be linguistically close to the correct answer, through the use of trees and OOP in Python. Awarded CREST Silver by the British Science Association.

Back to top

CodeDragon

Date: Ongoing (Started December 2017)

A full-stack web app to teach children the use of HTML and CSS through the use of drag-and-drop blocks, containing a full user account system and social elements. I was involved as a full-stack and devops developer, and as a legal and financial manager.

This project is now run by the non-profit CodeDdraig Organisation. My involvement ended in November 2018.

Back to top

MGS Sports Day Website (v1)

Date: February 2018 to July 2020

A web interface developed using AngularJS and the Google Sheets API v4 to present results of the school Sports Day in a user-friendly manner. A complex Google Sheets backend calculates scores, based on positions in races and events, and school records.

Back to top

MGS Photosphere Viewer

Date: June 2016 to June 2018

A frontend vanilla JavaScript web application implementing a photosphere viewer and clickable map for locations around school.

Back to top

Page updated: May 2024