Advanced Embedded Controller Mods

What kinds of features can be hacked onto a ChromeOS device by modifying the Embedded Controller firmware?
For instance, would it be possible to add laptop-style battery managment (SMbus?) to wall-powered devices (Chromeboxes, Chromebits and Chromebases) by modifying the EC firmware and breaking out some GPIO pins?

I’ve wanted to build a laptop around a Chromebox during the last few months, but don’t want to settle for USB-PD PowerBanks.

  • Can’t view their remaining capacity on your host device, so you have to rely on the PB’s status LCD (makes it impossible to tuck it away in a corner)
  • Don’t want to occupy a valuable I/O port, or lose power because the host’s USB stack did a mistake (both of these can probably be mitigated by plugging the PB into the traditional barrel jack through an adapter)

I’m not a programmer or electronics engineer (I don’t even have a Chrome device to test with) - I’m just disappointed that 90% of firmware/coreboot discourse revolves around security, OS compatibility and efficiency.

Accessing free pins on the EC would be quite tricky to do something like this. Maybe battery management would be better left for some extra microcontroller you add yourself.

Yeah, I figured pushing battery management through the EC instead of a little USB gadget might be a bit hamhanded.

That said, I’m still curious about what the EC can do and how much power/authority it has over the system - maybe put a footnote on it in the FAQ.
I recall the CCC talk only mentioned RGB, fan control and the fact that Librebooted Thinkpads/Elitebooks/Latitudes still rely on proprietary EC firmware.

(I actually considered tagging this thread topic as site feedback.)

What the EC can do depends on the device. On a laptop it obviously has more capabilities such as the keyboard and the various buttons/switches.