Programming the 2013 Chromebook Pixel lid lightbar

Jialin Lu, 2026-07-17

Code:
github.com/LuxxxLucy/pixel-lights github.com/LuxxxLucy/claude-pixel-light

This is rather a small thing that should not have something written for it, but then this indeed brings me some joy so I just want to share here.

Essentially I got a Google’s 2013 Chrome Pixel laptop from ebay, which is in a pretty decent shape, although it is quite old and the spec is really barely working regarding this, see my complaint at the end, but coding some C within neovim.

Left: the 2013 Google Chromebook Pixel. Right: What I got.

Even it is from 2013, it has a surprisingly modern-ish edgy look, and what is more is that it also has a programmable lightbar in the lid, and it is really, really, fancy.

lightbar demo lightbar demo

The 2013 Chromebook pixel has a lid lightbar, a strip of 4 RGB LEDS on the back of the lid, Each LED has 4 channel RGB 0-255 and an additional brightness scaler.

The lightbar is a strip of 4 RGB LEDs on the back of the lid, indices 0 to 3 left to right.

I vibe-coded a very basic lib that controls it from the ChromeOS EC controller and runs a daemon, and then configure claude code hooks to update the lid light, which pipes messages to the daemon to update.

Oh my, this brings me too much joy. Can I call myself practising physical AI now?

Though the machine is indeed too old, 4GB RAM with mobile level CPU (by 2013 standard), to be smooth I even start tweaking vm.swappiness for the limited memory.

Figure 1: Some Claude Code processes already eat about 1.1 GB, starting a browser would be a real tough job

No dear Claude, you are not the culprit, and I am a clown.