Skip to content
View JJKSweaty's full-sized avatar

Highlights

  • Pro

Block or report JJKSweaty

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.

Content in all repositories owned by your account will be closed.
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
JJKSweaty/README.md

Jonathan Jacob Koshy

Electrical Engineering @ University of Waterloo

Firmware · Embedded Linux · Hardware/Software Systems

Portfolio LinkedIn Email

Typing SVG

About

I build embedded systems close to the hardware, mostly in C and C++.

My background is in bare-metal firmware, RTOS systems, device drivers, communication protocols and hardware debugging. Recently I've been spending more time on embedded Linux, networking and systems that combine Linux compute with microcontroller firmware.

I'm currently part of the firmware team for Midnight Sun Solar Racing & Waterloo Aerial Robotics at the University of Waterloo.

Tools I use

Tech stack

STM32 · ESP32 · PIC18 · Raspberry Pi · FreeRTOS · CAN · UART · SPI · I2C · Ethernet

Projects I find worth sharing

Open-source VR/AR headset

Custom 2K 120 Hz VR headset built around an STM32F411, 9DoF IMU, LiDAR and a custom PCB.

Wrote the firmware for sensor acquisition and orientation fusion, then streamed head tracking over USB HID into SteamVR.

C STM32 USB HID I2C IMU Fusion LiDAR KiCad

Userspace TCP/IP stack

Building a TCP/IP stack from scratch in C on Linux using a TAP interface.

Implemented Ethernet, ARP and IPv4 handling alongside TCP connection state, retransmission and timeout logic.

C Linux TAP Ethernet ARP IPv4 TCP

Edge AI memory aid

Built an on-device perception system using a Raspberry Pi 5 and Hailo-8L.

Runs object detection locally, stores last-seen object locations and controls a pan-tilt camera to search its environment.

Raspberry Pi 5 Hailo-8L YOLOv8 OpenCV PWM

Experience

Most recently at Belimo, writing bare-metal C for PIC18 controllers and debugging CAN, UART, I2C, timing and controller state issues.

Previously at AeroCardia, building C++ sensor drivers, FreeRTOS data pipelines and BLE firmware for a wearable medical device.

Pinned Loading

  1. efs-zeropilot-4.0 efs-zeropilot-4.0 Public

    Forked from UWARG/efs-zeropilot-4.0

    C 1

  2. tcpip-stack tcpip-stack Public

    TCP/IP stack in C for Linux, built step-by-step from Ethernet and ARP to IPv4, ICMP, TCP handshakes, sockets, and retransmission.

    C 1

  3. ESP32Media ESP32Media Public

    ESP32-based dashboard designed for media playback monitoring, process management, and discord controls

    C++ 1

  4. MNIST MNIST Public

    2-layer MLPfor MNIST digit classification

    Cuda 1

  5. jjkVR jjkVR Public

    Custom 2K 120Hz VR headset with STM32F411, 9-DoF IMU tracking, custom PCB, and SteamVR support.

    C 2

  6. midsunfw16 midsunfw16 Public

    Forked from uw-midsun/fwxvi

    All the firmware for MSXVI!

    C