IRIS HX4: a 4x MIDI Controller/Switcher for the HX Stomp

by al5668 in Circuits > Audio

63 Views, 0 Favorites, 0 Comments

IRIS HX4: a 4x MIDI Controller/Switcher for the HX Stomp

ebafdb08-62c0-43fe-9f40-0f728e247d07.jpg
50b2ee80-0037-4028-9ebe-6a4411457409.jpg

I wanted to design a MIDI controller using an Arduino as an cheaper, modular and more configurable unit. This controller is designed to send custom configurable MIDI Control Change (CC) and Program Change (PC) messages to the Line 6 HX Stomp. Each footswitch can toggle effects on/off, change parameters, switch between presets, active tuner, or navigate pages of commands, with the OLED displays showing the current page and active functions.

In this build I have included 4 footswitches but the design is easily expandable with some minor change to code and screen display design. Currently, the controls are fixed in the code and you will need to manually alter these in the .ino to change the functionality. This walkthrough assumes basic knowledge of Arduino code and assembly of electronics.

Details on the code are available on: https://github.com/al5668/iris-hx4-midiswitcher

Supplies

Electronics:

  1. 2x SSD1306 OLED Screens
  2. 1x Arduino Nano Every
  3. 4x SPST Footswitches
  4. 1x MIDI DIN 5 Plug
  5. 1x 2.5mm DC Panel Mounted Power Socket
  6. 1x 220Ω Resistor
  7. Single Core Wiring
  8. Stripboard

Mechanical:

  1. 1x Aluminium Enclosure (Hammond 1590, 90mm x 90mm)
  2. 3D printed faceplate for two screens (https://makerworld.com/en/models/1934949-ssd1306-dual-faceplate)

Software:

  1. GitHub Repo: https://github.com/al5668/iris-hx4-midiswitcher
  2. Arduino IDE

Prepare Enclosure

Untitled Diagram.drawio.png
Enclosure.jpg

In preparation for assembly we need to ensure that we can house the system in an enclosure. I have opted for a Hammond 90mm x 90mm aluminium enclosure and, using a stepper bit and files, I was able to create a square opening for the screen faceplate. Note that the diagram is not to scale and is intended as a guide - frankly you can 3d print an enclosure if you like!

Prepare Arudino Circuit

iris-hx4-midiswitcher-breadboard.png
4bc5d980-24a8-456d-bcdd-7e8d197ab595.jpg

As the diagram highlights, solder the Arduino Nano Every Board, Switches onto the stripboard following the layout. The MIDI switch and After placing the components, add the wire links and resistor, cut any necessary stripboard tracks underneath, and verify all continuity so the switches, MIDI output, and power rails match the illustrated circuit. Here, I have only include switches for digital pins D2-D5 but if one could easily include more switches if needed.

Prepare OLED Screen Faceplate

faceplate.jpg
d617f203-e131-4bbf-a073-a538783d17d5.jpg

In order to conveniently align the OLED screens in place - I made a 3D printed faceplate to accommodate the two OLED screens. The link to print this is available here: https://makerworld.com/en/models/1934949-ssd1306-dual-faceplate

The OLED screens should have a through hole which will line up with the pins of the faceplate. This is a push-fit connection which can be bonded in place. Additionally, I have attached a piece of electric tape (pictured) just to ensure there is no residual conductivity and the pins won't short.

Assemble Screen

2fb3148a-e7c2-42a1-82ea-15b9fad057fe.jpg
becd6787-0c2a-4427-a9a7-abfc19e2c317.jpg
115a403d-2e99-4759-83ab-cf8301cdacfc.jpg

Ensure that the underside of the 3D printed faceplate is glued to the ensure as pictured. Using stripboard, and jumper cables, solder both OLED screens to strip board to ensure a common SDA, SCL, Vin and Ground cables. Use the image above as reference to make sure each wire connects to the same rows and tracks shown.

Additional notes: I was able to run two OLED screens from the same SDA/SCL wires (see circuit diagram from previous step) since SSD1306 OLED screens typically have two i2C addresses. In my case I was able to re-solder the jumper resistor on the back of one of the screens to change the i2C address to 0x3C. I recommend looking at this article for help here: https://bitbanksoftware.blogspot.com/2019/01/controlling-lots-of-oled-displays-with.html

Prepare MIDI and DC Plug Wiring

185dd6f6-0305-46f0-ae49-c09dc99f7a05.jpg
ceb60df5-d186-46c7-bb1f-a2c158defc8b.jpg

Ensure that the MIDI DIN 5 Plug is solder as dictated by the circuit diagram with the inclusion of a 220Ω Resistor to ensure the controller does not overcurrent the HX stomp. Furthermore, wire the DC plug to the Vin and ground of the Arduino Every Board. Mount both the MIDI and DC plug into the enclosure.

Final Assembly

56488002-e761-47a4-81d3-9270155f9904.jpg
6baa254c-e64c-46e4-9b2d-8213e83a22c6.jpg
iris-hx4-splashpage.bmp

Upload the code via the Arduino IDE and GitHub repository provided, ensuring that you name the correct COM port during the upload. I have provided a final gut-shot of the electronics to give an idea of how much available space there is in this enclosure.