The problem
Kids' driveway chalk art (bike roads, hopscotch, dinosaurs) is fun but slow and limited by hand; there's no easy way to 'print' a custom design at driveway scale.
Turning a drawn design into reliable robot motion requires a clean pipeline from art to toolpath to hardware, testable without a physical robot.
The highest-risk unknown is whether liquid chalk can be reliably actuated through small spray valves without clogging.
The approach
Split the system into a stable stage-by-stage pipeline — designer to design.json to planner to toolpath.json to firmware or simulator — with JSON schema contracts so any stage can be swapped or run in isolation.
Let a Python planner convert a design into a toolpath (moves plus spray events), and a simulator render that toolpath as a preview image so the whole chain can be validated with no hardware.
De-risk the riskiest hardware question first with a written spray-clog test protocol before committing the bill of materials.
What I built
- A TypeScript/Vite designer web app to draw a design on a virtual driveway and export design.json
- A Python planner CLI that rasterizes and converts designs into robot toolpaths
- A Python simulator CLI that renders a toolpath to a PNG preview with no robot required
- Shared JSON schemas (design + toolpath) forming stable contracts between the designer, planner, and firmware
- An ESP32/PlatformIO firmware stub that parses toolpaths over serial (hardware driving not yet wired)
- Full project spec with a decisions log, a first-pass hardware BOM, and a spray-clog de-risk test protocol
- Python
- TypeScript
- Vite
- JSON Schema
- ESP32 / PlatformIO
- pytest
Result
v0.1 software pipeline works end-to-end: the example road-grid design flows cleanly through planner and simulator (3/3 unit tests pass). Hardware is still ahead of the software — firmware parses toolpaths but does not yet drive motors or spray.