Skip to content

About

All-in-one Tauri desktop IDE for Arduino & ESP boards: Blockly block coding, Monaco C++ editor, and an on-device ML studio. GPL-3.0.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

⚡ TechieDo IDE

A branded, hardware-aware desktop IDE for Arduino & ESP boards — block coding, pro C++, and on-device machine learning, all in one app.

Tauri React Rust TypeScript License: GPL v3


✨ What is it?

TechieDo IDE is an all-in-one desktop environment for building, flashing, and experimenting with Arduino and ESP microcontrollers — Arduino Uno / Nano / Mega / Leonardo / Uno R4, the ESP32 family (S3, C3, S2, classic), and ESP8266 boards. It blends three things kids and makers usually need separate tools for:

  • 🧩 Block coding that generates real, compilable Arduino C++
  • 👨‍💻 Pro code editing with full syntax highlighting
  • 🧠 A "Train a Model" studio for on-the-desktop machine learning

It's built with Tauri v2 (Rust core + web UI), so it's small, fast, and cross-platform.


🚀 Features

⚙️ Arduino mode (Blocks ↔ C++)

  • Drag-and-drop Blockly workspace with a custom C++ code generator — what you build is what gets compiled.
  • ~90 robotics blocks: dual motors & robot drive, servos, full digital/analog I/O, PWM/DAC, timing.
  • ~20 sensors & modules: ultrasonic, DHT temp/humidity, DS18B20, PIR, IR line/obstacle, potentiometer, LDR, gas, flame, rain, tilt, MPU6050, BMP280, I2C scanner, MEMS mic.
  • Displays: OLED (SSD1306), 16×2 I²C LCD, TM1637 7-segment, and an 8×8 dot-matrix editor with a click/drag LED painter and 26 ready-made patterns (smiley, heart, arrows, and more).
  • Addressable LEDs (NeoPixel/WS2812), buzzer/tones & musical notes, Serial, Wi-Fi & Bluetooth blocks.
  • Smart include management: required #includes and library objects are added automatically, and variables are auto-declared, so the generated sketch actually compiles.
  • Pro editor (Monaco) side-by-side with the blocks.

🧠 ML mode (Train a Model)

  • Pick a model type — Image classifier, Face recognition (OpenCV LBPH), or Data/CSV — then collect data and train, all powered by real Python (scikit-learn / OpenCV).
  • Capture from the webcam or load image files / CSV datasets.
  • Author with blocks or Python, side by side — the blocks generate the training script live.
  • Auto-installs missing Python packages on first run — no manual setup.
  • Train → Test → Save, with live training output.

🔌 Hardware & tooling

  • Broad board support — pick from Arduino (Uno, Nano, Mega, Leonardo, Micro, Pro, Uno R4 WiFi/Minima, Nano Every, Nano 33 IoT, MKR WiFi 1010), the ESP32 family, and ESP8266 boards. Compile/flash uses each board's FQBN automatically.
  • USB auto-detection and a built-in serial monitor (xterm.js).
  • Compile with arduino-cli and flash over USB with esptool.
  • OTA flashing over Wi-Fi and mDNS board discovery (ESP boards).
  • Camera preview (MJPEG) and a battery indicator.
  • Library manager for installing Arduino libraries.
  • Two themes — Solarized Lite & Midnight Dark — and a toggleable workspace grid.

🛠️ Tech stack

Layer Tech
App shell Tauri v2
Backend Rust (serial, USB, mDNS, file I/O, Python runner)
Frontend React + Vite + TypeScript + Tailwind CSS
Blocks Google Blockly with custom C++ / Python generators
Code editor Monaco Editor
Terminal xterm.js

📦 Getting started

Prerequisites

  • Node.js 18+
  • Rust (stable) + the Tauri prerequisites (on Windows: WebView2, usually preinstalled)
  • Optional, for full hardware/ML features:
    • arduino-cli — to compile & flash. Install the core(s) for the boards you use:
      arduino-cli core update-index
      arduino-cli core install arduino:avr         # Uno / Nano / Mega / Leonardo / Micro / Pro
      arduino-cli core install arduino:renesas_uno # Uno R4 (WiFi / Minima)
      arduino-cli core install arduino:samd        # Nano 33 IoT / MKR WiFi 1010
      arduino-cli core install arduino:megaavr     # Nano Every
      arduino-cli core install esp32:esp32         # ESP32 / S3 / C3 / S2
      arduino-cli core install esp8266:esp8266     # NodeMCU / Wemos D1 (needs the ESP8266 board-manager URL)
    • Python 3.x on your PATH — for the ML studio (packages auto-install)

Run in development

# install JS dependencies
npm install

# launch the desktop app (Vite + Rust, hot-reloads on change)
npm run tauri dev

Build a release

npm run tauri build

🗂️ Project structure

TechieDo_IDE/
├─ src/                    # React UI
│  ├─ components/          # TopBar, CenterWorkspace, BottomConsole, MLWorkspace, …
│  ├─ blockly/             # block defs, toolbox, C++/ML generators, dot-matrix field, presets
│  └─ ml/                  # Python training/inference script templates
├─ src-tauri/             # Rust backend
│  └─ src/lib.rs           # commands: serial, compile/flash, OTA, mDNS, Python/ML runner
├─ index.html
└─ package.json

🗺️ Roadmap

  • Wire trained models into Arduino blocks (when model detects ▾ X)
  • Continuous (live) video inference in the ML studio
  • Pose / hand detection model type
  • A–Z / 0–9 dot-matrix glyphs + scroll-text block
  • Broad Arduino & ESP board support (Uno/Nano/Mega/Leonardo/Uno R4, ESP32 family, ESP8266)
  • More board targets (Raspberry Pi Pico, Teensy)

🤝 Contributing

Contributions, issues, and feature requests are welcome! This is a community-friendly, completely open-source project.

  1. Fork the repo
  2. Create a feature branch (git checkout -b feature/my-feature)
  3. Commit your changes
  4. Open a Pull Request

Share-alike, please. TechieDo IDE is copyleft (GPL-3.0). If you modify it and share or distribute your version, you must make your source changes available under the same license so the whole community benefits. Improving it privately for yourself is fine — but anything you ship to others must stay open. Please open a PR here so your improvements flow back into the main project.


📄 License

TechieDo IDE is free and open source under the GNU General Public License v3.0.

In plain terms — you are free to:

  • ✅ Use it for anything, including commercially
  • ✅ Study and modify the source
  • ✅ Share copies and your modified versions

…on one condition (this is the copyleft part):

  • 🔁 If you distribute the software or a modified version, you must release your source code under GPL-3.0 too. Improvements can't be made closed-source — they have to be shared back with everyone, exactly as the original is.

There is no warranty; see the LICENSE file for the full legal text.


Made with ⚡ for makers, students, and robot-builders.

About

All-in-one Tauri desktop IDE for Arduino & ESP boards: Blockly block coding, Monaco C++ editor, and an on-device ML studio. GPL-3.0.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages