Back to portfolio

Projects

Software, robotics and technical explorations.

A collection of projects where I explored ideas across software engineering, mixed reality, robotics, computer vision, machine learning, databases and computer architecture.

Mixed Reality-based Simulation Platform for Swarm Robotics

Mixed reality · Robotics · Research

Mixed Reality-based Simulation Platform for Swarm Robotics

A mixed-reality experimentation platform where physical and virtual robots coexist in the same environment. The system was designed to reduce the cost and complexity of swarm-robotics research while preserving realistic interaction between agents.

Mixed RealitySwarm RoboticsSimulationReal-time Systems
Explore project
Zero Trash

Sustainability · Web platform

Zero Trash

A smart waste-management platform connecting households with garbage collectors. The system supports pickup requests, collector assignment and notifications, with the broader goal of improving collection efficiency and encouraging more sustainable waste practices.

Web ApplicationNotificationsWorkflow DesignSustainability
Explore project
Remote Multi-Robot Control & Supervision

Robotics · Human–robot interaction

Remote Multi-Robot Control & Supervision

A centralized graphical interface for monitoring, coordinating and controlling multiple robotic units remotely. The project explored real-time command delivery, robot-status monitoring and scalable supervision through a single operator interface.

RoboticsGUIRemote ControlReal-time Communication
Explore project
Pera Knowledge Hub

Information retrieval · Academic platform

Pera Knowledge Hub

A digital repository for preserving and discovering academic publications from the University of Peradeniya. Uploaded PDFs are stored centrally, their text is extracted and indexed, and users can search across document content rather than relying only on titles or metadata.

Full-text SearchPDF ProcessingCMSDatabase
Explore project
Traffic Sign Net

Deep learning · Computer vision

Traffic Sign Net

A deep-learning system for detecting, localizing and classifying Sri Lankan traffic signs from road images. The work included dataset preparation, image preprocessing and training a convolutional neural network for traffic-sign recognition.

CNNComputer VisionDeep LearningImage Processing
Explore project
Real-Time Vehicle Identification System

Computer vision · Database systems

Real-Time Vehicle Identification System

An automated vehicle-identification platform designed for toll-booth workflows. It combines number-plate recognition with a centralized database to retrieve vehicle, licence, insurance and emission-test information without manual verification.

Image ProcessingDatabaseRecognitionIntelligent Transport
Explore project
SAP-1 Computer

Computer architecture · Hardware

SAP-1 Computer

An 8-bit educational computer built from discrete digital-logic components. I worked on the processor modules, custom PCB design and fabrication, system integration, hardware debugging and machine-language execution.

Computer ArchitectureDigital LogicPCB DesignHardware
Explore project

More explorations

Mini projects

Smaller projects where I explored machine learning, networking, computer architecture, concurrent programming, signal processing, hardware simulation and embedded systems.

01

Machine learning · Classification

Supervised Learning for Credit Approval

A supervised machine-learning project developed to predict credit approval decisions from applicant data. I trained and compared multiple classification models, tuned model parameters and evaluated their ability to generalise to unseen test data.

  • Cleaned and preprocessed applicant data for model training.
  • Trained and evaluated multiple supervised classification models.
  • Tuned model parameters to improve predictive performance.
  • Compared evaluation results and selected the best-performing classifier.
PythonScikit-learnPandas NumPyJupyter Notebook
02

Networking · IP multicast

VoCe

A network application created to demonstrate packet transmission using IP multicast. The system supports efficient one-to-many communication by sending data from one source to multiple receivers through a multicast group.

  • Developed multicast-based packet transmission between network nodes.
  • Implemented one-to-many communication using IP multicast and UDP.
  • Configured multicast groups for packet distribution.
  • Tested packet transmission and reception across multiple receivers.
JavaJava NetworkingIP Multicast UDPSocket Programming
03

Computer architecture · Simulation

MIPS Simulator

A software simulator for executing MIPS assembly instructions and exploring the fundamentals of processor operation. The simulator reproduces instruction fetch, decode and execution while exposing register and memory state changes.

  • Implemented MIPS instruction fetching, decoding and execution.
  • Simulated register and memory operations based on the MIPS architecture.
  • Displayed execution results and register-state changes.
  • Validated the simulator with sample MIPS assembly programs.
JavaMIPS AssemblyComputer Architecture Object-Oriented Programming
04

Networking · Concurrency

Auction Server

A multithreaded client-server application that simulates a real-time stock auction. Multiple clients can connect simultaneously, submit bids and participate in auctions while the server manages shared auction state safely.

  • Built a multithreaded server for concurrent client connections.
  • Implemented TCP/IP socket communication between clients and the server.
  • Developed bid validation, auction management and winner-selection logic.
  • Used thread synchronisation to protect shared auction data.
JavaTCP/IPSocket Programming MultithreadingConcurrencyGit
05

Concurrent programming · Visualisation

Fractals

A multithreaded application for visualising mathematical fractals using parallel computation. The project explored how concurrency can improve the rendering of computationally intensive Mandelbrot and Julia set calculations.

  • Implemented Mandelbrot and Julia fractal generation algorithms.
  • Applied multithreading to improve rendering performance.
  • Built a graphical interface for interactive fractal visualisation.
  • Added configurable iteration and zoom parameters.
JavaMultithreadingConcurrent Programming Object-Oriented Programming
06

Digital design · Hardware simulation

Gate Model Implementation of a Computer

A gate-level hardware simulation of a simple computer created using Verilog HDL. Individual digital components were modelled, verified and integrated to demonstrate how fundamental hardware modules work together as a computing system.

  • Developed digital hardware modules using Verilog behavioural modelling.
  • Implemented registers, ALUs, multiplexers and control logic.
  • Integrated modules into a simple computer architecture.
  • Verified behaviour using testbenches and waveform analysis.
Verilog HDLDigital LogicBehavioral Modeling TestbenchesComputer Architecture
07

Signal processing · Speaker identification

Who Is Speaking?

A basic speaker-identification application developed in MATLAB. Recorded speech samples are processed using fundamental signal-processing techniques and compared with stored reference voice characteristics to identify the speaker.

  • Developed a MATLAB-based speaker identification workflow.
  • Processed and analysed recorded voice signals.
  • Stored and managed reference voice information using Microsoft Excel.
  • Implemented speaker comparison logic and validated it with recorded samples.
MATLABDigital Signal ProcessingMicrosoft Excel Signal Analysis
08

MATLAB · Arduino · Hardware integration

Tic Tac Toe Game

An interactive two-player Tic Tac Toe game combining MATLAB with Arduino hardware. MATLAB handles the game logic and state while the physical interface enables real-time player interaction through serial communication.

  • Implemented two-player game logic, move validation and win detection.
  • Integrated Arduino hardware with MATLAB for real-time interaction.
  • Created a user interface for gameplay and game-state visualisation.
  • Tested and debugged the combined software and hardware workflow.
MATLABArduinoEmbedded Systems Serial CommunicationHardware Integration
09

Instrumentation · Sensor prototyping

Flow Rate Sensor

A thermal flow-meter prototype designed to estimate fluid flow using temperature gradients between heated and sensing elements. The project explored a non-mechanical approach to flow measurement through circuit design, calibration and experimental testing.

  • Designed and assembled a prototype thermal flow-sensing circuit.
  • Integrated heating and temperature-sensing elements.
  • Calibrated and tested the system under different flow conditions.
  • Analysed temperature-gradient behaviour, sensitivity and measurement accuracy.
Temperature SensorsAnalog Electronics Signal ConditioningData Acquisition MATLABHardware Prototyping