Skip to content
View gokulkrishnaks's full-sized avatar

Block or report gokulkrishnaks

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
gokulkrishnaks/README.md

Hi, I'm Gokul Krishna K S

Systems-oriented software engineer with a focus on Linux userspace, embedded systems, and low-level infrastructure software.

My background is in C and embedded systems. I care about software that is honest about its boundaries — things that do one job correctly and compose well with everything else.

🔗 LinkedIn


What I'm Building

STICH: Secure Thread Integration and Canonical communication Hub

Earlier in the year, there was a collaborative effort towards building TorqLoop, a digital twin platform designed for use in factories. The purpose was to model real-world machines, track their operational health, and extract insights for prediction purposes. TorqLoop reached the development and simulation stages, but building an actual proof-of-concept ended up being impossible due to limitations in accessing a real industrial environment.

Developing TorqLoop uncovered a problem that kept coming back and required further attention.

There is much noise in an industrial setting, not only electrical but protocol-related noise as well. Devices speak multiple protocols, including Modbus, MQTT, BLE, CAN, serial, TCP, and proprietary ones. Every integration works differently, none are reusable, and no downstream system can trust the data it receives due to an unreliable ingress layer. Much more attention had to be spent overcoming protocol differences than making the platform better.

With the conclusion of TorqLoop came more focus on the layer that solves this problem. That is what led to the development of STICH.

STICH is a canonical integration runtime: infrastructure software sitting between hardware protocols and any higher-level application. It transforms protocol-specific inputs into a single normalised, trustworthy data stream. STICH does not interpret data; domain logic stays outside. It is protocol-agnostic, deterministic, and composable. Designed after the operational model of infrastructure software like Nginx: install it, connect your protocols, configure routing, and run.

Engineering highlights:

  • Strict subsystem separation into canonical layer, thread, adapters, and sinks; each with well-defined responsibilities and dependency direction
  • Frame-based data model where every data item is validated, normalised, and sealed before it moves further
  • Adapter contract that allows integrating any protocol without the runtime being aware of its existence
  • Written in C, targeting Linux edge deployments, with no heap allocation in the core path

STICH is currently at v0 PoC. The end-to-end path from adapter ingestion through normalisation and routing is implemented. The architecture is already specified down to engineering-level decisions.

TorqLoop is done. STICH continues, because the problem it solves does not belong to any particular platform.


Other Projects

Embedded Systems

ARM-stopwatch — Digital stopwatch on LPC2148 ARM7 with keypad input and LCD display. Interrupt-driven firmware, real hardware constraints.

Dual_Motor_Controller — PIC16F877A-based dual DC motor controller via H-bridge with hardware display feedback. Demonstrates embedded control loop design.

Residual-Current-Monitor-PIC16F877A — Current monitoring prototype using ADC thresholds. Foundational analog-digital integration on constrained hardware.

Developer Tooling

simple-linux-log-monitor — Shell-based log monitoring and parsing tool. My first step toward systems observability tooling.


Skills

Languages: C (primary) · Bash · Rust (learning)

Systems: Linux userspace · process lifecycle · embedded firmware · protocol integration

Design: subsystem boundary definition · data lifecycle modelling · error propagation · low-level observability

Hardware: MCU interaction · GPIO · serial protocols · real-time control loops


Current Direction

Building STICH toward a working edge deployment — real protocol adapters, real sink delivery, real frame routing. The v0 PoC proved the architecture. The next phase proves it under real conditions.

Interested in roles at the intersection of embedded Linux and systems infrastructure — places where the software has to be right because the consequences of it being wrong are visible in the physical world.

📌 LinkedIn

Pinned Loading

  1. stich stich Public

    C 1

  2. ARM-stopwatch ARM-stopwatch Public

    This project demonstrates a Digital Stopwatch using the LPC2148 ARM7 Microcontroller. It uses a 4x4 keypad for start/stop/reset operations and displays elapsed time on a 16x2 LCD. It’s ideal for le…

    C

  3. simple-linux-log-monitor simple-linux-log-monitor Public

    Shell

  4. Dual_Motor_Controller Dual_Motor_Controller Public

    A PIC16F877A-based system that controls two DC motors (push/pull) through an H-bridge driver, shows motor status on a 16×2 LCD, and uses a 7-segment display for a 10-second timer. Built with XC8 an…

    C

  5. Residual-Current-Monitor-PIC16F877A Residual-Current-Monitor-PIC16F877A Public

    A simple PIC16F877A-based residual current monitoring prototype using ADC threshold detection with LED indication. Designed for Proteus simulation and future expansion into a complete safety system.

    Makefile