/OMX-27

Primary LanguageC++

OMX-27

Build Status

Mechanical key switch midi keyboard and sequencer. Based on Teensy 3.2 and Cherry MX RGB key switches.

Full kits and partial kits are available for sale here.

Dimensions: 313mm x 65mm

Firmware

Kits are shipped with a blank Teensy. You will need to flash the firmware to the device.

Load pre-compiled firmware w/ TyUpdater

Download the correct OMX-27 firmware "hex" file from the GitHub Releases page page or the Firmware-Hexes directory in this repo.

NOTE - 2023 boards with Teensy 4.0 have a different firmware and will have a "T4" suffix.

Get TyTools from GitHub here. More info here (https://koromix.dev/tytools).

Copy TyUploader to your machine and open it. Be sure your OMX-27 is plugged in. It should show up in the TyUpdater application.

tyupdater

Click the Upload button and select the firmware hex file you want to upload. This should upload the firmware and the OMX-27 should reboot. That's it.

Teensyduino (compile yourself)

Install Teensyduino from the PJRC website.

In Teensyduino Library Manager - check to be sure these are installed and on the most recent versions.

Libraries:
Adafruit_Keypad
Adafruit_NeoPixel
Adafruit_SSD1306
Adafruit_GFX_Library
U8g2_for_Adafruit_GFX
Adafruit_FRAM_I2C
Adafruit_MCP4725

image

Also check to be sure MIDI Library (by Francois Best / fortyseveneffects) is updated to 5.02 (I believe this is installed by default with Teensyduino)

Set the following for the Teensy under the Tools menu:

Board: Teensy 3.2/3.1 or Board: Teensy 4.0
USB Type: MIDI
CPU Speed: 120 MHz (overclock)

Open the sketch at OMX-27-firmware/OMX-27-firmware.ino, click verify to ensure it all compiles and upload to flash the firmware to the hardware, pushing the button on the Teensy first.

PlatformIO / VSCode (optional)

Ensure Homebrew in installed. Instructions
Install PlatformIO CLI tools. Detailed Instructions

# Mac OSX
brew install platformio

# check out the project
git checkout https://github.com/okyeron/OMX-27.git

# go to the project directory
cd OMX-27

# compile the project (this may take a while the first time)
pio run

# upload to hardware (don't forget to push button on Teensy)
pio run -t upload

# use serial monitor for debugging
pio device monitor

# clear FRAM/EEPROM
pio run -t clear-storage

(optional) Install PlatformIO IDE VSCode extension. Instructions

Install EditorConfig extension for your text editor. Instructions

Note: when making changes using the PlatformIO toolchain, please ensure the sketch still builds on Teensyduino before opening a PR.

BOM

Bill of Materials

Build

Build Guide

Docs

Documentation

Web Configurator

Online Configurator

FAQ

Q: What key switches are recommended?
A: Any RGB switches with a Cherry MX footprint can be used - I'm using Cherry MX RGB and these are linked in the BOM. Different varieties are available (Red, Brown, etc.)

Q: Can I use other key switches?
A: Yes - as long as they have the same footprint as Cherry MX switches and a window/opening for the LED to shine through. Low profile keys like the Cherry Low Profile or Kailh Choc switches have a different footprint and will not work.

Q: What about recommended Keycaps?
A: Also listed in the BOM. You want an MX stem cap, with translucency or a window for the LED to shine through. DSA profile caps work well.

Q: Does this project require soldering?
A: Yes. Thru-hole soldering is required along with some easy SMD (LEDs and jacks).

Q: What's with these LEDs?
A: This project uses SK6812-MINI-E reverse mount LEDs. They are somewhat hard to find, so I'll try to offer them included with kits. They are easy to solder, even if you've not done much SMD.

Q: Can I get the Gerbers or order the pcbs myself?
A: No. Not open source at this time.

Q: Can I get some of those windowed keycaps you're using?
A: Yes (send me an email).