// the find
hybridgroup/gobot
Golang framework for robotics, drones, and the Internet of Things (IoT)
Gobot is a Go framework for controlling hardware — Raspberry Pi, Arduino, drones, Bluetooth devices, and about 30 other platforms. It abstracts GPIO, I2C, SPI, BLE, and serial protocols behind a unified driver model. Target audience is Go developers who want to write robotics or IoT code without dropping into C.
The driver library is genuinely wide — 50+ I2C sensors, proper SPI ADC support, BLE for Microbit and Sphero, 1-wire for DS18B20. All behind a consistent interface so swapping hardware doesn't require rewriting logic. The 'Metal' mode letting you skip the Robot/Manager abstraction and use drivers directly is a good escape hatch for when the framework feels like overhead. Test coverage is solid — every driver has a corresponding _test.go file with a mock adaptor, which is rare in hardware frameworks. The platform-as-package design means you only pull in what you actually use.
Several listed platforms are dead hardware (Intel Edison, Intel Joule, CHIP, Pebble, Parrot ARDrone 2.0) with no realistic user base in 2026 — this is maintenance surface for no return. The built-in REST API exposes robot control with BasicAuth as the only protection option; no TLS out of the box, which is a real problem for anything beyond a local network. Cross-compilation is the only deployment path for most targets, which the README acknowledges but doesn't make easy — no build tooling, no Docker image for cross-compiling. Concurrency model is event-loop based but the docs don't explain thread safety of drivers, so users will hit data races and have no idea why.