Skip to content
View ranaweerasupun's full-sized avatar
🎯
Focusing
🎯
Focusing
  • Arpico Energy

Block or report ranaweerasupun

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ranaweerasupun/README.md

Hey, I'm Supun πŸ‘‹

I'm an embedded systems engineer, currently building production systems at Richard Pieris & Company β€” robots, edge IoT infrastructure, battery management systems, and real-time video streaming platforms. Before this, I spent several years in Russia working across embedded electronics, fire safety systems, HVAC firmware, and nanofabrication research.

My background is a bit unusual. I started in nanotechnologies, moved through semiconductor physics and solar cell research, and ended up deep in firmware and hardware-software co-design. That path gives me a way of thinking about problems β€” from the electron level up to the cloud β€” that I find genuinely useful.

I care about the full picture: schematic to PCB to firmware to backend to deployment. And I document the process, not just the outcome.


What I Work With

Embedded & Firmware β€” C C++ Python STM32 ESP32 Raspberry Pi 4/5 Raspberry Pico Arduino RTOS Embedded Linux Linux Device Drivers I2C SPI UART

Edge & IoT β€” MQTT (QoS 0/1/2) Offline-first Design SQLite Docker systemd Edge Computing Architectures

Video & Streaming β€” GStreamer WebRTC V4L2 ALSA PipeWire H.264/H.265 RTSP Low-latency Pipelines

Robotics β€” ROS2 Jazzy SLAM Toolbox Nav2 Gazebo LIDAR Autonomous Navigation OpenCV TensorFlow Lite

Electronics β€” PCB Design KiCad EasyEDA Power Electronics Battery Management USB-C PD Schematic Design

Full-Stack & Tools β€” Node.js React FastAPI PostgreSQL WebSocket Docker Wireshark SolidWorks

Nanoscience β€” Photolithography PVD MBE Molecular Self-Assembly SCAPS-1d COMSOL Multiphysics ANSYS Lumerical


A Few Things I've Built

WebRTC Telepresence Robot Control Platform β€” A production bidirectional video and audio streaming system deployed across a robot fleet. Hardware-accelerated H.264 encoding via V4L2, achieving under 100ms latency on Raspberry Pi 5, with serial motor control, PTZ camera control, and multiple WebSocket endpoints.

Production MQTT Edge Client β€” A resilient edge computing client with offline queuing over SQLite, exponential backoff, QoS 0/1/2 support, dual storage architecture, TLS and authentication, health check daemon and 24-hour soak tested. Built to survive real network failures, not just ideal conditions.

6-Layer UPS Board for Raspberry Pi 5 β€” A custom 6-layer PCB with intelligent power management, BQ25750 synchronous buck-boost charger for 6S Li-ion/LiPo, dual-source input switching, thermal monitoring, and graceful pre-depletion shutdown. Manufactured via JLCPCB.

Battery Management System β€” Full-stack BMS with C/C++ firmware, real-time web monitoring, live telemetry graphs, multi-channel voltage/current monitoring via I2C ADC, and cloud backup to PostgreSQL.

controlpad – A cross-platform Python library for integrating game controllers into robotics, drone, and edge computing projects.



Always building. Always curious.

Pinned Loading

  1. controlpad controlpad Public

    A cross-platform Python library for integrating game controllers into robotics, drone, and edge computing projects.

    Python

  2. fleet-analytics fleet-analytics Public

    End-to-end IoT analytics project. Simulates a fleet of 15 edge devices, streams telemetry through MQTT, stores it in InfluxDB, and visualises it in Grafana.

    Python

  3. pi-motion-detection-cam pi-motion-detection-cam Public

    Camera that automatically records when movement occurs

    Python

  4. resilient-edge-mqtt-client resilient-edge-mqtt-client Public

    A robust MQTT client Library that handles network failures, manages storage intelligently, reconnects automatically, and has been thoroughly tested.

    Python

  5. telepresence-bot telepresence-bot Public

    The repository contains prototype stages of a media unit of a teleconferencing robot. Each prototype is better than the previous one.

    JavaScript

  6. tmp102-i2c-driver tmp102-i2c-driver Public

    A production-quality Linux kernel module for the TMP102 temperature sensor β€” I2C protocol, hwmon integration, and device tree support, built with smart home environmental monitoring in mind.

    C