could not load image

Project Showcase

jason pilbrough

40kHz sonar imaging in air

Application of sonar to create a two-dimensional image of the surrounding environment. Scope of the project included the design of necessary analogue electronics, embedded systems development in C++, digital signal processing algorithm implementation in Python, frontend development in HTML, CSS and JavaScript using the Bootstrap 4 library, and backend development in Python using the Flask framework.

C++ Python Flask Javascript Bootstrap 4 HTML

Pathfinding Algorithm Visualisation

Demonstration of several popular pathfinding algorithms including Dijkstra's Algorithm and A*. All algorithms were implemented in JavaScript from scratch. An interactive web interface was developed using the the React framework to visualise how each algorithm works. A strong emphasis was placed on responsive web design.

JavaScript React CSS Responsive Web Design

Handwritten Digit Recognition

Project based on using machine learning to recognise and classify handwritten digits. A neural network was built in Python from first principles and trained using the MNIST dataset. The model was able to correctly classify digits with an accuracy of over 95%. The neural net was ported to run in JavaScript in the browser. All required image pre-processing was implemented in JavaScript.

Machine Learning Python Javascript

Real-time Lane Detection on an FPGA

Embedded vision prototype developed to detect lane markings from a forward facing camera on a vehicle. The design used an FPGA (Field-Programmable Gate Array) based architecture to accelerate the image processing pipeline allowing for processing in real-time. The hardware prototype was capable of processing each frame in less than 23.1 ms, sufficient for real-time application at 43.3 fps. This was 10x faster than an equivalent software implementation running on a traditional CPU. The prototype was also able to correctly predict lane departures by analysing the slope of the detected lane markings in the frame. Such a system has application in the field of autonomous vehicles and could form part of an Advanced Driver Assistance System (ADAS).

Computer Vision FPGA Verilog HDL

Bookshop App

Desktop application designed to manage the activities of a bookshop and library, replacing existing low-tech solutions with a more efficient digital workflow. Developed in Java with a MySQL backend. Provides integrated management of bookshop and library entities by tracking all book/audio/video resources, loans, members, and sales.

Notable features include generation of cash-up and sales reports; user management with hierarchical access control; error logging and reporting mechanism; remote diagnostics and deployment capabilities.

Java MySQL

Envirologger

Internet-of-things (IoT) solution to monitoring the conditions in a greenhouse using a Raspberry Pi and Python. Project involved digital circuit design and construction to meet hardware requirements. Extensive use of communication protocols including I2C and SPI to interface with external sensors. Integration with the Blynk platform was done to provide remote access to the system.

IoT Raspberry Pi Python

Zorp-Zorp - Tower Defence Game

Build towers to defend your base against continuous waves of enemies. Utilise four different types of towers each with their own unique abilities and upgrade tree. Plan ahead to defeat six different enemy classes, all with different strengths, weaknesses, and special powers. Endure endless waves of enemies with gameplay on three different maps. Game engine developed from scratch in Java.

Java Game Dev