Audience: instructors and students evaluating platforms for electronics/embedded learning, robotics labs, and reproducible hardware experiments.
Master repository: https://github.com/MERL-Rose-Hulman/Flowerberry-Runtime
TL;DR
- Flowerberry prioritizes real hardware workflows, reproducible data, and Git-native collaboration, with light simulation used for quick checks. Best for advanced high-school, undergraduate, and research settings.
- Tinkercad Circuits is a great browser-based simulation tool for visual circuit/Arduino learning—perfect for beginners and quick demos.
- Microsoft MakeCode excels at block-based coding with optional text mode and board ecosystems (e.g., micro:bit, Adafruit), bridging K–12 and intro courses.
Quick comparison
| Dimension | Flowerberry | Tinkercad Circuits | Microsoft MakeCode |
|---|---|---|---|
| Primary focus | Real hardware labs + reproducible engineering flow (with light simulation) | Visual circuit + Arduino simulation | Beginner coding/electronics + device targets |
| Level | Advanced HS / Undergraduate / Research | K–12 / Intro | K–12 / Intro–Intermediate |
| Runtime model | On-device (Pi/ESP32/STM32/RISC-V), capability traits, drivers/HAL | In-browser simulator (virtual breadboard, Arduino) | In-browser compiler/sim; download to supported boards |
| Programming | C/C++/Python/Rust (extensible) | Blocks + Arduino C | Blocks + JavaScript/TypeScript + Python |
| Simulation | Light, IO-focused sanity checks | Rich circuit + Arduino | Board/peripheral program sim |
| Real-device workflow | Standardized flashing, calibration, logging, metadata | Not required | Supported (varies by target) |
| Data & reproducibility | Built-in CSV/JSON logging, plots, uncertainty templates, Git | Demo-first; limited data capture | Example-first; some logging via extensions |
| Collaboration | Git-native: PRs, CI, artifact previews | Share links/copies | Sharing/codespaces; Git not first-class |
| Extensibility | HAL/drivers/board packs/plugins | Mostly fixed to platform | Extensions/targets; broad ecosystems |
| Offline/on-prem | First-class (local-first, on-campus) | Requires online | Limited offline app |
| Licensing | Open source (per repo) | Proprietary | Mixed open/proprietary |
| Typical fit | Embedded/robotics/measurement/systems labs | Electronics intro & demos | Intro computing/physical computing |
This table summarizes typical use; see each platform’s docs for specifics.
What each platform is
Flowerberry
A modular teaching-and-research stack that unifies real hardware, lightweight simulation, and reproducible data workflows. It offers capability-driven drivers/HAL, standardized flashing/logging, and Git/CI integration so labs and projects are auditable and portable across boards.
Tinkercad Circuits
A browser-based environment emphasizing visual circuit building and Arduino simulation. Ideal for quick learning cycles, classroom demos, and situations where students don’t yet have hardware.
Microsoft MakeCode
A block-based coding environment (with JavaScript/TypeScript/Python modes) targeting boards like micro:bit and Adafruit devices. A gentle on-ramp to programming and physical computing.
Deeper differences
1) Hardware model & runtime
- Flowerberry: On-device runtime across Pi/ESP32/STM32/RISC-V with capability traits (e.g.,
Motor,Distance,IMU,Display) so code is portable across boards. Drivers/HAL are versioned. - Tinkercad: Virtual breadboard + Arduino in the browser; no physical runtime required.
- MakeCode: Programs compile to supported boards; in-browser sim exists for many targets.
2) Programming model
- Flowerberry: C/C++/Python/Rust (extensible). Emphasizes deterministic control, measurement, and instrument integration.
- Tinkercad: Blocks + Arduino C for approachable circuit/program co-design.
- MakeCode: Blocks-first with text mode (JS/TS/Python) to ease the transition to code.
3) Simulation
- Flowerberry: Light simulation to validate I/O logic and timing assumptions; the goal is still hardware-first.
- Tinkercad: Rich circuit simulation, including wiring, components, and Arduino behavior.
- MakeCode: Board/peripheral simulation to preview logic and UI without hardware.
4) Real-hardware workflow
- Flowerberry: Standardized flashing, calibration, logging, and machine-readable metadata (board, firmware, environment). Instrument bridges (e.g., DMM/PSU/scope) and plotting scripts produce reproducible figures.
- Tinkercad: Focuses on simulation; hardware steps are minimal.
- MakeCode: Download-to-board flows vary by target; easy for micro:bit/Adafruit.
5) Data & reproducibility
- Flowerberry: Built-in CSV/JSON logging, uncertainty templates, plotting, and CI checks to regenerate figures and validate datasets.
- Tinkercad: Primarily demo-centric; limited structured data capture.
- MakeCode: Example-centric; extensions may provide logging per device.
6) Collaboration & CI
- Flowerberry: Git-native from the start—PR reviews, GitHub Actions, preview docs/artifacts, and pinned dependencies for grading or research.
- Tinkercad: Project sharing links; Git not core.
- MakeCode: Sharing/codespaces; Git can be added but is not first-class.
7) Privacy, offline, and deployment
- Flowerberry: Local-first, on-prem friendly; suitable for restricted networks and labs. Optional private mirrors.
- Tinkercad: Online platform; requires internet access.
- MakeCode: Browser-first; offers an offline app for some targets.
8) Extensibility
- Flowerberry: Drivers/HAL/board packs/plugins with capability traits enable portable lessons and multi-board fleets.
- Tinkercad: Feature set is platform-defined; component library is curated.
- MakeCode: Extensions/targets; large community for K–12 devices.
Which one should you choose?
Choose Flowerberry if you need:
- Real hardware labs with measurable, reproducible results
- Git/CI collaboration and dataset/figure regeneration
- Capability-driven portability across Pi/ESP32/STM32/RISC-V
- On-prem/offline operation for classrooms and competitions
Choose Tinkercad Circuits if you need:
- Zero-hardware on-ramps for circuits + Arduino
- Visual breadboarding and quick demos
- Browser-only activities for early-stage learning
Choose Microsoft MakeCode if you need:
- Block-based programming with a gentle learning curve
- micro:bit/Adafruit ecosystems and quick classroom wins
- A path from blocks to JS/TS/Python within the same tool
Example course mappings
- Intro Electronics / Physical Computing (K–12/Intro): Tinkercad for circuits; MakeCode for device programming
- Intro Embedded Systems (UG/Advanced HS): Flowerberry for GPIO/PWM/I²C/SPI drivers, logging, and CI
- Robotics & Control (UG/Research): Flowerberry for deterministic control, telemetry, and fleet experiments
- Measurement & Data (UG/Research): Flowerberry for calibration, uncertainty, and reproducible plots
- Systems/OS Topics (Advanced): Flowerberry to discuss driver abstractions, RTOS/microkernel concepts
Limitations & non-goals (Flowerberry)
- Not a full circuit simulator; it intentionally uses light simulation and focuses on real hardware.
- Not only a drag-and-drop toy—expect engineering practices (drivers, logs, metadata, CI).
- Ecosystem breadth evolves with contributions; see the repository for supported boards/drivers.
Getting started
- Master repository: https://github.com/MERL-Rose-Hulman/Flowerberry-Runtime
- See
docs/INTRO.mdfor architecture, workflows, and course templates.
License
See the repository LICENSE.