Yes I Just Submitted A Very Scuffed Video to an Employer And They Are Probably Seeing This Too...

Yes I Just Submitted A Very Scuffed Video to an Employer And They Are Probably Seeing This Too...
0:00
/3:25

the scuffed video submission in question

Ok, so around 11:00PM, wayyyy past my usual bedtime (bad. terrible. shameful). I was just minding my business—kinda sleepy, kinda scrolling—and then bam. I stumble on this job listing for a company that has a little challenge in the application.

It’s a two-parter:

  1. Make an HTTP request (easy, just hit 'em with a lil cURL).
  2. Showcase one of your PCB projects.

So I just went,
“aight press dat button.”
And I yapped.

So What Is This Modular Keyboard Project?

This thing is basically me and my groups little Frankenstein keyboard—except instead of being stitched together with lightning and screams, it’s snapped together with custom PCBs, connectors, and my sanity.

I wanted a keyboard that wasn’t stuck in one shape forever. Instead, each section is its own module:

  • letter module
  • numpad
  • macro pad
  • OLED display
  • maybe a lil volume knob
  • whatever else I dream up at 3AM
  • a cat

How It Actually Works?

very academic explainiation

Each edge of the case has four UART ports, like tiny little doorways where modules can link up. And instead of everything talking to the main controller directly, the modules pass data along in a chain.

Like a hot potater

Part 1: Wake Up Samurai

When everything powers on, each module takes a moment to… reflect.

“Hmm. Am I plugged into USB?
Do I have purpose?
Am I the chosen one?”

If a module is the one receiving power from USB, it immediately knows:

✔️ I am the depth-0 module
✔️ I am the guy who talks to the PC
✔️ I am the root of this goofy little ecosystem

This is the main controller.
The Leader. The Breadwinner. The Dad.

Now for the other modules that don't they will have no set depth (technically 255 for arbitration purposes). These modules know they need a parent — a module closer to depth 0 — to guide them toward the Great Potato Chain.

Part 2: Networking

This is where the modules start doing the one thing I personally forgot to do during college - networking...

Each module goes:

“Hey…
Are YOU a parent?
Do you have a depth value?
Can I… follow you??”

They ask all connected neighbors.

The only valid parent is a module that:
✔️ already has a depth
✔️ is closer to the root
✔️ isn’t another lost/homeless module wandering the void

Once a module finds a parent:

  • It adopts the parent’s depth
  • Adds +1 to become its own depth
  • Announces itself
  • And starts participating in the hot potato data pipeline

Eventually, theoretically, hopefully, this method creates a chain and cascade throughout the system. Of course, there are some drawbacks. Naturally, there would be some increase in delay as more it "hot-potatoes' its way to the other modules - but realistically, my team did not really see anyone having more than 5 modules in a same chain.

If you wanna see this project please check out my GitHub account! Ok i will go sleep now gn.

Ok photo dump time..

numpad case prototype
67 percent prototype - thick ahh bezels
first iteration of 67 case - it broke
67 render
having to route more than 100+ keys (we didnt know auto routing is a thing)
0:00
/0:08

violence

0:00
/0:03

peak engineering activities