explaingit

imranduratbegovic/coban1.0

Analysis updated 2026-05-18

3DartAudience · developerComplexity · 4/5LicenseSetup · hard

TLDR

A hobby robotics project that attaches solenoids to a recorder and controls them over Bluetooth from an Android app, making the instrument play itself.

Mindmap

mindmap
  root((Coban 1.0))
    Hardware
      ESP32-C3 controller
      6 solenoids
      Custom PCB
      3D printed body
    App
      Flutter Android
      Bluetooth BLE
      Song creator
      Gemini sheet scan
    Firmware
      Arduino IDE
      ArduinoJson
      BLE protocol
    Files included
      PCB layout
      3D print files
      Prebuilt APK
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a self-playing recorder robot by following the hardware guide, PCB files, and 3D print files in this repo.

USE CASE 2

Use the Flutter app source to connect to an ESP32-C3 BLE device and send fingering commands from Android.

USE CASE 3

Add Gemini sheet-music photo recognition to a Flutter app using the API key integration pattern shown here.

What is it built with?

DartFlutterArduino/C++ESP32-C3

How does it compare?

imranduratbegovic/coban1.0matheusanbs/bytebapoanshikadixit/cheerup
Stars310
LanguageDartDartDart
Setup difficultyhardmoderatemoderate
Complexity4/53/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires electronics assembly, 3D printing, ESP32 firmware flashing, and Flutter build toolchain.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

Coban 1.0 is a hardware and software project that turns a soprano recorder into a self-playing instrument. A Flutter app on Android sends musical notes over Bluetooth to a small ESP32-C3 microcontroller mounted on the recorder. The microcontroller then triggers six solenoids that physically press down on the recorder's finger holes, causing the instrument to play the correct notes. The physical build uses a standard Stagg soprano recorder modified to function as a six-hole instrument by permanently blocking the thumb hole and seventh hole. Six push solenoids drive custom 3D-printed flexible valves that replace the instrument's original O-rings. A custom PCB routes all the connections, and a 3D-printed body clamps around the recorder and holds the battery pack, PCB, and solenoids together. The Android app connects to the device over Bluetooth Low Energy and offers a full set of playback controls: saved songs, a manual song creator where you draw fingering patterns directly, a tap-timing recorder, and live hole controls you can trigger in real time. When built with a Gemini API key, the app can also take a photo of sheet music and convert it into a melody automatically. The repository includes a pre-built Android APK that works for manual mode and Bluetooth control without needing an API key. The firmware runs on the ESP32-C3 using the Arduino IDE with the Espressif board package and the ArduinoJson library. The app communicates over a documented Bluetooth protocol, sending small JSON packets that specify the note name, a six-bit fingering mask, duration in milliseconds, and a breath intensity value. The hardware files include the PCB layout in JSON and SVG format and three 3D model files for the main body, solenoid spacers, and flexible valves. The main body prints in rigid PLA, but the valves must print in flexible TPU or TPS because the design depends on the material bending to snap onto the solenoid plunger. The project is released under the MIT License.

Copy-paste prompts

Prompt 1
I'm building the Coban robotic recorder. Walk me through the solenoid wiring, MOSFET setup, and flyback diode placement using the info in this repo.
Prompt 2
I have the Coban Flutter app source. How do I add a new song to the manual song creator and save it?
Prompt 3
Explain the Bluetooth protocol the Coban app uses to send note packets to the ESP32-C3 firmware.
Prompt 4
I want to add Gemini sheet-photo recognition to my Flutter app. Show me how Coban 1.0 implements the dart-define API key pattern.

Frequently asked questions

What is coban1.0?

A hobby robotics project that attaches solenoids to a recorder and controls them over Bluetooth from an Android app, making the instrument play itself.

What language is coban1.0 written in?

Mainly Dart. The stack also includes Dart, Flutter, Arduino/C++.

What license does coban1.0 use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is coban1.0 to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is coban1.0 for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub imranduratbegovic on gitmyhub

Verify against the repo before relying on details.