Русский

TOAST by SpaceMelodyLab

custom compact MIDI-controller

Features

  • 9 knobs (not encoders), 9 buttons:
    SettingKnobButton
    MessageControl ChangeNote
    Program Change
    Control Change
    Channelindividual or bank-assigned
    Combo++
    Bottom+
    Top+
    Snap To+
    Snap Width+
    Inverted+
    Velocity+
  • X2 with pressed "ALT" button
  • 2 banks. Each bank settings: Channel, Display on/off, Display contrast
  • USB-MIDI for DAW (connect with Type-C - Type-A cabel)
  • MIDI-out for DIN5 or 3.5 jack (TRS type A or TRS type B - according to your order)
  • Display
  • Settings management:
    • directly on the device
    • via browser on this page ("Settings" tab)
  • Weight and dimensions:
    • 3.5 jack version: 0.16 kg, 104 x 104 x 37 mm
    • DIN5 version: 0.17 kg, 104 x 104 x 41 mm
  • Can be expanded with up to 2 bluetooth keypads with up to 4 buttons each

Knob setting examples

Example Knob DAW controller
Default
Top:
100

Bottom:
60
Snap To:
63

Snap Width:
7
Combo:
ON

Inverted ALT:
 ON

Snap "magnetizes" the knob to a given value (so it's easier to "hit"
the center or 0 of a DAW controller).

Combo sends two commands at once: according to the settings for the pressed
button "ALT" and according to the settings for the released "ALT" button.
That allows you to set up 2 different MIDI messages for button press.

Enclosure

The case is made of PETG plastic on a 3D printer. The front panel is made by a factory method and is a printed circuit board (there are no stickers on it).

Two verisons extra MIDI-out: 3.5 jack TRS or DIN5.
It works with USB-MIDI as parallel.

3.5 TRS jack connector

In a case with a 3.5 jack outputs may be adapted to a DIN connector
either Type - A or Type - B. Type - A is incompatible with Type - B.
Different manufacturers make 3.5 jack connections on their own discretion.
Even one manufacturer can install 3.5 jacks for different adapters in different
generations of the same device.
You can find out on the website https://minimidi.world which type of 3.5 jack is on which device.
Adapter Type - A connection:

Adapter Type - B connection:

Settings management via browser

Examples for bank, knob, button and bluetooth button:

Settings management directly on the device

1. Switch to settings mode

2.a. Knob fast setting
(from any menu point)


2.b. Any setting:
go to knob\button\bank\display setting
menu point then change setting value

3. Save changes

Disclaimer

1. Color may differ from photo.

2. USB-cabel: Type-C - Type-A only. Does not work with Type-C - Type-C cabel.

3. Enclosure may have 3D-printing artefacts.

Bluetooth panel

The controller may be expanded with up to 2 bluetooth keypads with up to 4 buttons each.

Each bluetooth panel has 2 buttons with 3.5 jack that allows to connect any 2 extra buttons.

There is switch inside that manages connection fo 3.5 jack: either 2 extra buttons (default) or this panel provides 2 buttons for something (battery must be removed in this case).

Power supply: 3.3V CR-2032 battery inside.

Remove bottom screws to replace battery or toggle switch.

Use this page in Chromium-based browser.

Steps

1. Connect MIDI-controller via USB

2. Switch it to settings mode:

3. Press "Detect MIDI-controller" button below on this page

4. Change settings in browser

5. Press "Upload to MIDI-controller" button below on this page

6. Save changes:

Abbreviations: CC - Control Change, PC - Program Change

Use this page in Chromium-based browser.

Uploading firmware looks kind of strange due to browser security restrictions.

Steps

1. Disconnect all Arduino-based devices.

2. Connect the MIDI-controller via USB.

3. Press "Prepare" button. The firmware will be downloaded and prepared for upload to the device.

4. Press "Reset serial" button, choose "TOAST (SpaceMelodyLab)" (may also be called "Arduino Leonardo") in the dialog. The MIDI-controller will become ready for uploading. Now hurry up!

5. Quickly press "Flash MIDI-controller" button, choose "Arduino Micro" in the dialog. Wait some seconds for the confirmation message.

6. Check the MIDI-controller. The new version should be displayed on it's splash screen when you connect device to USB.

Refresh this page if something went wrong.

Releases

v.1.7 (01 March 2026)
  • Bugfix: the screen didn't turn on when you pressed the same button or adjusted the same potentiometer as before the screen automatically turned off. (The screen automatically turns off after 10 seconds of controller inactivity.)
v.1.6 (05 February 2026)
  • Bugfix: the controller rebooted itself after pressing the Bluetooth panel button and then pressing the "BANK" button.
  • Screen refreshes faster when the position of a potentiometer has been changed after regulating another potentiometer.
v.1.5 (22 December 2025)
  • Eliminated the loss of commands when simultaneously controlling several potentiometers.
v.1.4 (19 July 2025)
  • Calculation has been corrected when the "Top" parameter of the knob is set. The last value was always allocated to the same sector of rotation of the knob, that was inconvenient for small values of the "Top" parameter (for example, up to 10).
v.1.3 (16 June 2025)
  • Buttons may be assigned to Control Change and Program Change MIDI messages.
v.1.2 (06 June 2025)
  • Added instruction for connection bluetooth keypad
  • Fixed bug:
    1. Press and hold button - message "Note on" sent.
    2. Press button "ALT".
    3. Release button "ALT". Bug: message "Note off" sent for setting "ALT"
    Now fixed: message "Note off" sent for same setting as declared in step 1.
  • Added autoreleasing bluetooth keypad button if you press "ALT" button during holding keypad button.
v.1.1 (30 March 2025)
  • Excluded some debug messages
  • Display contrast max value = 127