Install guide
All you need is Chrome or Edge on a computer: the browser writes MIDoRI onto the board. No toolchain, no command line. It takes about ten minutes.
This browser can't flash the board. Open this page again in Google Chrome or Microsoft Edge on a computer. Safari, Firefox and phone or tablet browsers can't talk to USB devices directly (Web Serial).
What you need
A supported board
M5Stack CoreS3 / CoreS3 SE, M5Stack Tab5, Elecrow CrowPanel Advanced 7" (ESP32-P4) or Freenove ESP32-S3.
A USB-C cable
One that carries data: with a charge-only cable the board never shows up. If something doesn't work, try another cable first.
A computer and browser
Windows, macOS, Linux or ChromeOS, with Google Chrome or Microsoft Edge.
A microSD card (optional)
For the example scripts and plugins. 32 GB or smaller, formatted FAT32.
No release has been published yet. Once one is out you can install it from here. Until then, build from source (see the README).
Pick your board
Choose how to use USB
What the board's USB port is for decides which firmware you install. You can reinstall later to change it.
The Tab5's USB-A port always takes MIDI gear, so with USB-C going to your computer you can still plug gear into USB-A. This is the only combination published for the Tab5.
This board has a single USB circuit, so it either takes MIDI gear or plugs into a computer, not both at once.
Either way, MIDI goes through the USB-C port labeled "USB 2.0". The "UART" port is for flashing only.
Connect the board
Pick your board first.
Connect the USB-C port on the board to your computer.
Reinstalling MIDoRI (the second time onward): MIDoRI uses the USB port for MIDI, so the computer won't find it as is. Put the board in download mode first: hold the reset button on the side for about 3 seconds and let go when the green LED inside lights up. Coming from the factory firmware, you don't need this.
Connect the board's USB-C port (not USB-A) to your computer.
Reinstalling MIDoRI (the second time onward): MIDoRI uses USB-C for MIDI, so the computer won't find it as is. Put the board in download mode first: hold the reset button and let go when the green LED starts blinking.
Connect the USB-C port labeled "UART" to your computer. No buttons needed.
If Windows doesn't find the board, install WCH's CH343 driver (the port is a CH343 USB-to-serial chip).
Connect the USB-C port labeled "COM" to your computer. Usually no buttons needed.
If flashing doesn't start, hold BOOT, press and release RESET, then release BOOT, and try again.
Install
- Press the button and the browser lists the serial ports. Choose the board and press "Connect" (it shows up as "USB JTAG/serial debug unit" or similar"USB Single Serial" or similar).
- Press "Install MIDoRI", tick "Erase device" and go on (always the first time; saved settings are cleared).
- Flashing takes a few minutes. Keep the cable plugged in until it's done.
- If you used download mode, press the reset button once afterwards to start MIDoRI.
Prepare a microSD card (optional)
The example scripts, and plugins with MIDI filters (chords, arpeggios…) and screen layouts, come ready to copy onto a card.
- Download the SD card files (zip) and unzip them.
- Copy everything into the top level (root) of a FAT32 microSD card, the
pluginsfolder included. - Insert the card and power the board off and on.
Try it
MIDoRI starts on the Home screen. Its tiles take you to each screen:
- MIDI Devices: tap cells to connect your devices (keyboard → synth, for example)
- Keys / Pads / Knobs / XYPad: play from the screen
- Tempo / Sequencer: set the tempo, build patterns and play them
- Scripts: run a script from the SD card
With no screen, run scripts from the serial console (115200 bps) with load /sd/name.rb.
See the README for more.
To write your own Ruby scripts, start from the examples and the documentation.
Troubleshooting
The board isn't in the list of ports
- Make sure the cable carries data (many are charge-only).
- Try another USB port on the computer, or plug in directly instead of through a hub.
- When reinstalling MIDoRI, put the board in download mode first (step 3).
- On Windows, if the CrowPanel or Freenove doesn't appear, install the CH343 driver.
"Failed to connect", or flashing stops part way
- Put the board in download mode and try again.
- Close other apps using the port (Arduino IDE, a serial monitor…).
- Reload the browser tab and start over.
The screen stays dark after installing
- Press the reset button once (after download mode the board doesn't restart by itself).
- Install again with "Erase device" ticked.
- Check that the board you picked matches the one in your hands.
Going back to the original firmware
M5Stack products can be restored with M5Stack's flashing tool (M5Burner); Elecrow and Freenove products with the firmware their makers publish. Flashing anything else over MIDoRI replaces it on any of the boards.
Flashing from the command line (for developers)
Download the merged .bin for your board and mode from the release page and write it at 0x0 with esptool:
pip install esptool
python -m esptool --chip esp32s3 write_flash 0x0 midori-v1.0.0-m5stack-host.bin # --chip esp32p4 for Tab5 / CrowPanel
To build from source, see the README.