Share your DIY controller project based on MIDI for 3rd Party Devices | AXE3 | FM3 | FM9 |

Holy !!!! I understand why she is called HOLLY its an amazing piece of gear. Really great build very professional

Cool that you chime in @Nero .. Ive been reading and trying all your shared code for the AFXII before I converted to the III.


Cheers 🍻

it was actually named after my wife, that was the only way i could think to keep her from questioning the amount of money i spent prototyping it lol it worked...

I remember documenting alot of the Axe FX 2 and AX8 messages on the fractal wiki that was a long time ago when i released axelive!

The 2 was a pain because you had to figure it all out on your own, i spend days sniffing messages between the editor and the AX8 to try to figure out how it worked, now with the 3 we got that 3rd party documentation and you can write a sync solution in a couple of hours.

After seeing your controller i'm going to add support for the ST7735 for BMC, i have a bunch of those displays laying on my bench and now that i see how good they look i'll go for it.
 
After seeing your controller i'm going to add support for the ST7735 for BMC, i have a bunch of those displays laying on my bench and now that i see how good they look i'll go for it.
That would be awesome 🤘. If you can make it work with the bodmer eSPI library.

Im using a CD74HC4067 16-Channel Multiplexer module, its very convenient to work with and spares a lot of pins. Does BMC support that hardware?

Will read about BMC and see if its any use for my peddleboard atm.


Cheers 🍻
 
Im not familiar with the bodmer library, i use the adafruit library at the moment, i was using the teensy libraries for the spis displays which is great but since bmc also has oled support the issue became fonts, i hate the 7x5 fonts so i switch to the adafruit lobrary so all displays use the same custom font i did which is narrow but easy to read from the floor

BMC centers the text on the displays so having a consistent font is a must, does the bodmer library have its own fonts or does it use adafruit fonts? If it uses adafruit fonts then i would give it a try, the adafruit library is alot slower than the teensy one
 
Im not familiar with the bodmer library, i use the adafruit library at the moment, i was using the teensy libraries for the spis displays which is great but since bmc also has oled support the issue became fonts, i hate the 7x5 fonts so i switch to the adafruit lobrary so all displays use the same custom font i did which is narrow but easy to read from the floor

BMC centers the text on the displays so having a consistent font is a must, does the bodmer library have its own fonts or does it use adafruit fonts? If it uses adafruit fonts then i would give it a try, the adafruit library is alot slower than the teensy one
Yes it uses adafruit fonts. It's the best lib I've used sofar.

Just had a look at BMC, that looks great! Will study on it if I can use it and convert my software to use with BMC.
Also had a look at the BMC hardware. A 32 mux 🤩 whaaaat thats awesome. I thought 16 was the max on a single board.

Thank you for pointing out BMC, exiting to get back on another development adventure 😅

Cheers 🍻
 
You can have as many muxes as you want, the 4067 can all use the same 4 channel pins they each need a separate analog pin tho, ph and yes BMC supports the hc4067, and many other multiplexers
 
Its funny in theory you can wire 17 hc4067s with one analog pin on the teensy and have 256 analog pins
Hey there @Nero

Ive been watching some YT videos on the BMC channel. Your integration with TeensyDuino and Arduino IDE 2.* is my 'ding dong' for round 2.

Although I know ST7735 is not supported (yet), I'm curious what wil work with the BMC config.h file created with the BMC editor.
Will start today and report back

If this works like I hope it will, I will have my starting point to build a completely new controller 😁.

Cheers 🍻
 
This is cool stuff @Nero, I just made my first build using the GUI. It is very easy to use. Dont understand yet how to implement my own code and functions yet, but that will come later.

Ive created a config.h file. Now to update the Arduino IDE and add the BMC libriary and see how the teensy responds :)
The grid is not big enough to place all the screens, but i guess that doesnt matter for the configuration. would be great if the grid could be scaled or the objects on the grid so the peddleboard could be fully drawn like it is. Again I understand that for the configuration file this will not be of any addition.


Here is the layout of my peddleboard as its build in real time.
first_GUI_use.jpg
 
Its funny in theory you can wire 17 hc4067s with one analog pin on the teensy and have 256 analog pins
That's why my PCB's all have multiplexers like the 4067 but also shifters (like the 74HCT595 for leds, see my other threads contrib in this topic) , and also working now with the MCP23017 and hi speed i2c to multiplex tons of rotary encoders ;-)
The MCP23x17 series are unique for me in the sense that they trigger useful interrupts so that you don't miss synchronous data.
It provides more choices for controllers as you free up a hell lot of IO's!
 
Last edited:
This is cool stuff @Nero, I just made my first build using the GUI. It is very easy to use. Dont understand yet how to implement my own code and functions yet, but that will come later.

Ive created a config.h file. Now to update the Arduino IDE and add the BMC libriary and see how the teensy responds :)
The grid is not big enough to place all the screens, but i guess that doesnt matter for the configuration. would be great if the grid could be scaled or the objects on the grid so the peddleboard could be fully drawn like it is. Again I understand that for the configuration file this will not be of any addition.


Here is the layout of my peddleboard as its build in real time.
View attachment 128001
you may just have to tighten the layout for now, i'll add more options for sizes of the char display, the char display uses 1 event per line, so line 1 could be the current preset name, line 2 the current scene name and so on.


I also have to go thru the API again, i recently updated BMC to version 2 which changed everything around, because of that i don't think i added custom events to the new version, the idea is that you get say 256 custom events, you assign a button a custom event index, then you add a callback in your sketch, that callback would get the index number along with flags like the type of hardware that is calling that function so with that you could tell the sketch "trigger custom function x" and you can run any code you want there, for leds you return true or false to turn them on/off, etc.

I'll be working more on the API but if you have suggestions as far as what things you would want BMC to do i can implement code for it if it's possible.

I tested the bodmer library for the displays, i tested it with the ILI9341 because i already have one wired up and it's def faster than the adafruit library, a simple fillScreen took this long

Adafruit library about 200ms per fill
bodmer library about 100ms per fill
Teensy's ili9341_t3 (which uses hardware SPI) about 40ms per fill

so i'm going to look at a few other things but so far it sounds worth it to move BMC to the bodmer library just so i can use 1 global font, the only downside of the bodmer library is that i'll have to heavily modify it so that you can use the ILI and ST displays together which is my goal.
 
Can you share a picture of the actual displays you are using? like the font and back, or a link to where you got them, i wanna get a couple to test them with BMC
The screens are from this seller:
https://a.aliexpress.com/_EvsZfu3

Is you buy more then 10 you can app the seller for discount (above some price there is even free shipping) great store good producs fast shipping and great service if anything is wrong.
I had 3 'broken' screens from a stash of 34 I bought , he replaced them for me for free.

I still have 1 defective screen on my peddleboard, but to lazy to replace it ;)

20231018_230238.jpg20231018_230223.jpg

These screens are really great. I can overclock them on 3.3V up to 38Mhz
On 5V I clock them 32Mhz and normal is 27Mhz for ST7735.
With the bodmer library, you can do all kinds of fast printing on the screens. Even the sprite function is just stellar 👌. My tuner is a Sprite and updates ridiculously fast. The tuner sprite code is borrowed from @prongs_386 his peddleboard.

Cheers 🍻
 
Like I wrote a long time ago, the power and the quality of the usb midi/audio libs in Teensy products is unique in the arduino world (you can build synths with it!). glad you use them now too :)

The only thing I'm not such a great fan (but can always be worked-around) are:
  • Analog noise high sensivity (you have to be careful with analog inputs as they can get very noisy -> can be annoying for pedals)
  • high speed i2c needs pullup resistors adjustments on SDA / SCL (I use 800khz speed ATM but few guys could make it work 1.7Mhz on teensy)
 
Last edited:
Back
Top Bottom