Arduino Firmware for the HexBoard https://shapingthesilence.com/tech/hexboard-midi-controller/
23d72472 — Jared DeCook a month ago
Layouts: Add bosanquetWilson
Documentation: Start tidying documentation
eac95d91 — Jared DeCook 2 months ago
Added in some new scales and adjusted contrast between dim and normal keys


browse  log 
release notes 



You can also use your local clone with git send-email.

#HexBoard MIDI Controller

The HexBoard is a 140-key board designed for techno-musicians, babies, and computer people.

A HexBoard with the default layout active

You can order your HexBoard today, or contact Jared if you're interested in assembling it yourself.

#The Team

  • Jared DeCook has been writing music, developing hardware, and performing as Shaping The Silence for over a decade.
  • Zach DeCook has been listening to music, breaking hardware, and occasionally writing software since the former discovered his exploitable talents.

#HexBoard "Arduino" firmware

The "Arduino" firmware is the default firmware for the HexBoard (and is what this repository contains).

Sourcehut Build status Nightly builds are automatically made when a commit is pushed to SourceHut.

Build artifacts are usually also attached to the tagged releases on sourcehut, and may be found at https://zachdecook.com/HexBoard/firmware/ for posterity.

The files are in the format VX_Y_Z-model0.uf2, where

  • X_Y_Z is the version number
  • 0 is the model number ("2" for production model, for sale since 2023. "1" for the 2022 development model with the RP2040 processor board).

#Building the firmware

If you want to build the firmware, we'll assume you're already proficient at installing software on your computer at this point.

#Using Arduino-IDE

(Instructions to come)

#Using arduino-cli

(You also need to have python3 installed on your system)

# Download the board index
arduino-cli --additional-urls=https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json core update-index
# Install the core for rp2040
arduino-cli --additional-urls=https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json core download rp2040:rp2040
arduino-cli --additional-urls=https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json core install rp2040:rp2040
# Install libraries
arduino-cli lib install "MIDI library"
arduino-cli lib install "Adafruit NeoPixel"
arduino-cli lib install "U8g2" # dependency for GEM
arduino-cli lib install "Adafruit GFX Library" # dependency for GEM
arduino-cli lib install "GEM"
sed -i 's@#include "config/enable-glcd.h"@//\0@g' ~/Arduino/libraries/GEM/src/config.h # remove dependency from GEM
# Correct Rotary Library
git clone https://github.com/buxtronix/arduino buxduino
cd buxduino
git apply ../Rotary.patch
cd ..
mv buxduino/libraries/Rotary ~/Arduino/libraries/
rm -rf buxduino
# Run Make to build the firmware

Your firmware file will be the uf2 file inside the build directory.

#Flashing the firmware

Before flashing, you may want to note your current firmware version in case you desire to revert. Since Version 0.1.0, the version number for the "Arduino" firmware has been in the Testing menu. The checkbox indicates that the version you have is marked as a 'release' (rather than a nightly build).

  1. Unplug the HexBoard from your computer, then plug it in while holding the button by the USB port.
  2. It should appear as a disk in your computer.
  3. Copy the .uf2 firmware file onto that disk
  4. The disk should eject, and the HexBoard should automatically reboot into that firmware.