- Introduction
- Part I — The Hardware
- 1. Hardware Overview
- 2. Revisions: v1.0 vs v1.1
- 3. Pinout & Connector
- 4. Assembly & Flashing
- Part II — Getting Started
- 5. Installing the Toolchain
- 6. Verifying Your Device
- 7. USB & OS Notes
- Part III — The Interfaces
- 8. I²C
- 9. SPI
- 10. UART
- 11. GPIO
- 12. PWM
- 13. ADC
- 14. 1-Wire
- 15. Transaction Batching
- Part IV — The Crates
- 16. Crate Map
- 17. gallo CLI
- 18. pico-de-gallo-lib
- 19. pico-de-gallo-hal
- 20. pico-de-gallo-ffi
- 21. pyco-de-gallo
- 22. gallo-mcp MCP server
- Part V — Writing a Device Driver
- 23. Overview
- 24. Exploring with gallo
- 25. Scaffolding the Crate
- 26. Generating Code from TOML
- 27. Implementing the Register Interface
- 28. Designing an Ergonomic API
- 29. Testing with pico-de-gallo-hal
- 30. Blocking vs Async Parity
- 31. Publishing Your Driver
- Part VI — Under the Hood
- 32. Architecture
- 33. Wire Protocol & Schema Versioning
- 34. The Firmware
- 35. Releases & Compatibility
- Appendices
- 36. Status Code Reference
- 37. Endpoint Catalog
- 38. Troubleshooting