Skip to content

v0.2.0 - Easier to Build, Easier to Extend

Latest

Choose a tag to compare

@github-actions github-actions released this 05 Oct 15:12
· 14 commits to main since this release

Tiny Engineer v0.2.0

v0.2.0 is a big step toward making Tiny Engineer something you can actually build, customize, and keep improving — not just a cool prototype.

Since v0.1.0, 66 commits landed across hardware, CAD, firmware, integrations, and documentation.

From prototype to buildable project

The biggest change is the new parametric CAD model. Tiny Engineer now supports both FS0307 and SG90 servos, automated STL/STEP/3MF exports, parametric mounts and covers, tolerance tests, and multiple mechanical fixes.

There is also a proper mechanical assembly guide, measured screw list, improved shopping lists, and models prepared for external 3D printing.

From wires to a real board

Tiny Engineer is also moving toward much cleaner electronics.

This release introduces:

  • new integrated PCB combining USB-C, servo control, audio, power distribution and peripheral connections
  • KiCad tooling and manufacturing checks for JLCPCB

It replaces a pile of modules and wires with one reproducible board, while the advanced path using individual modules remains fully supported.

From developer setup to “plug it in”

Getting firmware onto the robot is now dramatically easier.

Tiny Engineer now has a browser-based Web Flasher, versioned firmware builds, downloadable CI artifacts and OTA firmware + filesystem updates.

First-time setup also gained a configuration wizard, servo calibration, better servo testing and configurable hostname.

More agents. More personality.

Tiny Engineer can now react to Claude Code and Antigravity CLI, alongside Cursor.

The robot itself also got more expressive: kaomoji, new cover and dots eye styles, improved sleep/wake animations, a dead state with sound, safer servo idle behavior and diagnostic RGB blink codes.

And there is now an official mods workflow — starting with the Halloween pumpkin-head variant. 🎃

❤️ Community

A significant part of this release came from community contributions.

Special thanks to:

  • @jtruland — Claude Code integration, ESP32 carrier board, diagnostics and setup improvements
  • @Mechazawa — OTA firmware and filesystem updates
  • @Hilo-Hilo — parametric bottom cover and chair mounts
  • @AndreLYL — kaomoji expression system
  • @rarephill — Antigravity CLI integration

And thank you to everyone else who contributed code, fixes, documentation, ideas, testing, and feedback since v0.1.0.

Tiny Engineer is becoming a much better project because people are building it together.

Full changelog

Hardware & CAD

  • Parametric FS0307 + SG90 model
  • STL, STEP and 3MF export workflow
  • Parametric bottom cover and chair mounts
  • Screw/servo tolerance test models
  • Compact ESP32-C3 carrier board
  • Main Control Board
  • Integrated production-oriented PCB
  • KiCad/JLCPCB tooling and validation
  • Multiple servo, neck, bell, lamp, keyboard and mounting fixes
  • External 3D-printing preparation

Firmware & UX

  • Web-based firmware flashing
  • OTA firmware + filesystem updates
  • Versioned builds and firmware artifacts
  • First-time setup wizard + servo calibration
  • Configurable hostname
  • Servo PWM shutdown when idle
  • Subsystem diagnostic blink codes
  • Improved boot, sleep and wake behavior

Personality & integrations

  • Claude Code integration
  • Antigravity CLI integration
  • Improved Cursor hooks
  • MacBook sleep/wake integration
  • Kaomoji expressions
  • cover and dots OLED eye styles
  • Improved sleep animations
  • Dead-state animation + audio

Project

  • Mechanical assembly guide
  • Updated screw/BOM/shopping documentation
  • CI firmware compile/package tests
  • Contribution and PR templates
  • Coding-agent guidelines
  • Mods workflow + Halloween example
  • General README, CAD, assets and integration documentation improvements

Flash offsets (default USB layout)

File Offset
tiny-engineer-v0.2.0-bootloader.bin 0x0
tiny-engineer-v0.2.0-partitions.bin 0x8000
tiny-engineer-v0.2.0-firmware.bin 0x10000
tiny-engineer-v0.2.0-littlefs.bin 0x220000

All four files are required for a clean first flash or web install. App + LittleFS alone is enough only when bootloader and partition table are already on the chip.

Web flash: jamro.github.io/tiny-engineer/flash/ — pick this tag (or any release that ships manifest.json). Offsets above match this tag’s partitions.csv. Usual path: clone the tagged commit and run pio run -t upload (see docs/flash.md).

What's Changed

  • Feat/antigravity cli integration by @rarephill in #18
  • fix(scripts): keep $PROJECT_DIR intact when it contains a space by @jtruland in #20
  • docs: give the serial port per platform, not just the macOS form by @jtruland in #21
  • feat(rgb): identify the failed subsystem with a red blink code by @jtruland in #23
  • Setup AP wizard for assembly: servos, hardware checks, then Wi-Fi by @jamro in #26
  • feat(cad)!: parametric 3d model with support for FS0307 and SG90 by @jamro in #27
  • feat(integrations): add Claude Code hooks CLI by @jtruland in #34
  • feat(firmware): add an optional kaomoji expression library by @AndreLYL in #37
  • docs: add measured M2 screw list and shopping list (sg90) by @mjspe in #41
  • feat: add mechanical assembly guide by @jamro in #44
  • feat(pcb): add compact-carrier-board for ESP32-C3-Zero by @jtruland in #32
  • feat(pcb): add main-control-board MVP by @jamro in #35
  • feat(cad): add a parametric bottom cover and chair mounts by @Hilo-Hilo in #49
  • feat(mods): add hallowing pumpkin head example by @jamro in #51
  • feat(firmware): add over-the-air firmware and filesystem updates by @Mechazawa in #55
  • feat(pcb): design integrated PCB for Tiny Engineer electronics by @jamro in #46

New Contributors

Full Changelog: v0.1.0...v0.2.0