Arduino-based USB HID device that automates Chromebook fleet enrollment for school districts

Banner
The primary technical challenge was making the solution accessible to non-technical users when browser-based microcontroller flashing was still emerging technology. The device needed to be easily customizable, portable, and reusable across different deployment scenarios. A significant constraint was communicating device state to users using only the onboard LED - I had to develop a signaling pattern that clearly indicated when the device was actively typing, waiting between steps, and when enrollment had completed. Achieving reliability required careful timing adjustments to accommodate Chromebook UI delays and ensuring the HID input sequences worked consistently across different ChromeOS versions and hardware models.
This project taught me the value of recognizing when existing technology can be applied to solve problems in unexpected domains. The bigger lesson was understanding when to release rather than monetize - by open-sourcing Centipede, it reached far more schools than any commercial product could have, and the community's continued evolution of the concept has amplified its impact far beyond what I could have achieved alone.
If I were building this today, I would create a full-stack solution with a guided tutorial and complete browser-based implementation supporting device erase, flashing, and logging. Modern WiFi-enabled microcontrollers (at similar cost points) would enable significantly enhanced capabilities: serialized data allowing unique field values per device (reading from CSV rows), remote control and orchestration for managing multiple enrollment stations simultaneously, and real-time progress monitoring. The hardware available today is orders of magnitude more powerful than what was available in 2016.