Skip to content
View harshverma27's full-sized avatar
🐈‍⬛
scratching my head
🐈‍⬛
scratching my head

Block or report harshverma27

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

Typing SVG


Portfolio   LinkedIn   Email   Profile Views

puzzle bobble contributions

$ whoami

harsh@arch:~$ whoami --verbose
➜  EE undergrad @ NIT Hamirpur                 # '24 → '28
➜  I live one layer below the app             # firmware, CLIs, build tooling, CI
➜  Daily driver: Arch Linux                   # VS Code + a terminal that never closes
➜  Currently: turning STM32CubeIDE pain       # ...into a 4 MB Rust binary

🛰️  What I'm into

  • Embedded systems & PCB / power design
  • Developer tooling that's CLI-first & diffable
  • CI/CD automation across GitHub & GitLab
  • Real-time tracing, HALs, code-gen

⚡  Right now

  • Building Nucleus — a modern STM32 platform in Rust
  • Building SparkIDE — block-based Arduino IDE
  • Writing tests for GIMP & fixing GNOME CI

$ cat ./flagship_builds/*

◢ Nucleus  ·  a modern STM32 developer platform

Not an IDE replacement. A developer platform.

STM32CubeIDE locks embedded devs into a 2 GB Eclipse fork, a click-through pin GUI, and opaque XML you can't diff or run in CI. Nucleus replaces both lock-ins with a 4 MB Rust CLI and a VS Code extension:

  • 🧩  Declarative stm32.toml — version-controllable, CI-friendly hardware config
  • 🧮  Pinmux compiler + constraint solver instead of a point-and-click GUI
  • 📡  ITM trace daemon — real-time debug without a $600 Segger license
  • 🦀  Rust core · TypeScript + React extension · LSP-powered editor UX


# stm32.toml — diffable hardware
[chip]
mcu = "STM32F411CEU6"

[pin.PA5]
mode  = "output"
label = "led"

[trace]
itm  = true   # real-time ITM
baud = 2_000_000

◢ SparkIDE  ·  Arduino, without the cliff

// snap blocks → get this C++
void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH);
  delay(500);
}

Scratch-like blocks → real Arduino C++ → flashed to your board, in one click.

A lightweight, native PyQt6 desktop IDE that wraps Google Blockly in a maker-lab shell so beginners on Linux can learn embedded the friendly way:

  • 🧱  50+ custom blocks covering the full standard Arduino library
  • 👁️  Live C++ generation — watch code write itself as you snap blocks
  • 🔌  Board discovery, one-click compile & flash via arduino-cli
  • 🟢  Offline Blockly via QtWebEngine · phosphor-green lab console UI


$ git log --author="harsh" --oneline

Active contributor to GNOME (GitLab @harshverma) — building the kind of unglamorous infra that keeps big projects honest.

Project Contribution Impact
GIMP Built a commit-checking-framework from scratch for MR events All commits are now getting checked for titles and description patterns, uniformity increased.
BABL · GEGL Fixed CI flaw spawning duplicate pipelines on every commit Cut runner resource usage by ~50%
GIMP Replaced weighted blur with Gaussian-distributed kernels Sharper, spec-aligned blur strength

$ id --groups


kernex

a playground for ideas i care enough to ship

ResQTerra

drone-based landslide search & rescue system

Backdoor Zero

we hunt the holes in the boxes that route your life

$ ls ./toolchain

Languages

Rust C C++ Python Kotlin Bash SQL

Embedded · Hardware

STM32 Arduino Raspberry Pi GTK FFmpeg

Backend · Mobile · Cloud

Django Jetpack Compose Firebase PyQt

Automation · Systems

Linux GitHub Actions GitLab CI Git

$ ./play --pacman

pacman eats contributions

"The best way to predict the firmware is to flash it." — me, debugging at 3am

@harshverma27's activity is private