Using just a few rotary encoders to control almost every parameter of axoloti?


#4

why is it me thinking it's the best (and easiest) to have an arduino zero compatible as midi cc on the axoloti?


#5

you mean like this simple thing i did just now?

encoder inputs.axp (14.3 KB)


#6

I had the same idea as Inaba, but I don't understand answers (maybe because I never used a axoloti)

Would it be possible to create a patch and use a main poti to switch beneath osc, lfo, filters etc. and use the other potis to adjust selected parameters? That woud be pretty much the system of a Waldorf Blofeld or a MicroKorg.
Or, to be more specific, would it be possible to do this just in the Axoloti patcher? (without programing new objects etc.)


#7

Did you have any luck with using encoders in the end? Did your patch work? Looks pretty good to me.


#8

Here is my test with a rotary enc., the patch file can be download at github. It may don't run very sweet and need some improvement.


#9

maybe this is off-topic,but I just did this


#10

I think the encoders would work great if there was a way to have the axoloti control a small oled screen to display defined parameters. This would make it so much more powerful ! Is there a way to easily interface it to a small oled screen?


#11

Here is where I have got to with this one.
Using arduino to deal with UI

More photos and info when I am closer to everything working together.


#12

Have you seen these?

https://www.amazon.co.uk/gp/aw/d/B0156CO5IE/ref=aw_wl_ov_dp_1_1?colid=22A0CMSPVTSTN&coliid=I6QZFSWH7WJ6I&vs=1


#13

Sooo further explanation of what's going on in the photo I posted plus a vid

The black buttons (top left in pic) cycle through pages

Each page has 4 variables which are controlled by the four rotary encoders

The values are then displayed on the blue numerical displays (3 digits per encoder 0-127)

In the final version this will give 80 midi cc's which can then be sent to axoloti via UART

I hope to send values from axoloti to set the variables so that it all makes sense when you load presets etc as wel as 3 letter descriptions of the parameters to display on the screens but have yet to go near that.


#14

Reminds me very much of a Waldorf style matrix. :slight_smile:


#15

What is the way to get axoloti to send the info to the arduino? This could open the possibility to make an encoder based interface really interactive!


#16

I plan to use UART.
Connect rx , tx and gnd.
Apply code ( I have yet to work that bit out)
I have been getting the arduino side of things sorted so I have some variables to send when I do test it.


#17

what about a maple mini (clone) with stm32duino. It's much faster (72mhz, 4 timers, 12bit ADCs etc.) then a lot of AVRs and it's much cheaper. Later you can flash your MCU with chibios, too. A maple mini clone cost only around $3 incl. shipping example1 & example 2.

I played around with a maple mini clone, oled screen (ssd1306), two enc. etc. and send the message by uart to axoloti. for most components there a library with you can edit by your need but they're working out of the box.
I used midi styled communication with a higher baudrate. I was able to use the oled screen to print out current lfo waveform like an oscilloscope.

At the moment, I'm trying to mod my euxo layout to use a maple mini clone and send the datas to axoloti. transmitting should be done by I2C. If I get it working, I will post the codes online.


#18

Does that mean you have had success cominicating between axoloti and something over UART?
I would be very interested to know more about what you were doing at the axoloti end.


#19

yes, no problem. I used the chibios reference and the "extra_midi_input.axh" from archive/tests/io bin.

this is one script2 code, where an LFO value should be transmit.

uint8_t *rxbuf;
uint8_t *txbuf;
int i = 0;

void setup (void){
static uint8_t _txbuf[8] attribute ((section (".sram2")));
static uint8_t _rxbuf[8] attribute ((section (".sram2")));
txbuf = _txbuf;
rxbuf = _rxbuf;

}

void loop (void){

/*rxbuf[0] = sdGet(&SD2);
out1 = rxbuf[0];
LogTextMessage("serial: %i", rxbuf[0]);
*/
//LogTextMessage("HELLO");
sdPut(&SD2, 0x01);
sdPut(&SD2, 0x02);
sdPut(&SD2, in1);
/*
rxbuf[0] = sdGet(&SD2);
out1 = rxbuf[0];
*/
chThdSleepMilliseconds(1);

}

finally axo sends 3 bytes. 1. byte = new message; 2. byte = type of message for arduino code; 3. byte = value…
I don't know if axo's uart gpios are 5V compatible to work with avr voltage level.


#20

This is great news. Would it be possible to have axoloti send "there's a new program and here are the parameters I understand for this program" to the UI controler ?

I have an oled setup + 3 encoders (w/ button) I designed to react to light that I could adapt for this. It's based on teensy3.. color display at very nice rate, but that would be overkill.

I think ideally if we could scroll through the parameters and change them it would be great.


#21

I believe it's possible to send any parameters you want.

My design should allow for 80 cc's on the rotary encoders and then 32 more on the glowing buttons.
I also have a shift button tho I am unsure what I am using that for at this point. I'm basically looking to have a control surface which is super open ended to allow control of a wide variety of patches.

So I want to send all the parameters on patch open and then manipulate them from there.

I was thinking it would be cool if I can use some of the squishy buttons to recall presets. At which point sending the parameter values would be really important.

This is all the UI bits. Demonstrating proof of concept on the Arduino side. Lots of coding still to be done but I think I am near to being in a position to try and physically connect the two soon(when full time job and family commitments allow)


#22

This looks cool, even though I much prefer an OLED screen instead of big led number displays :slight_smile: the cheap oleds are so cheap that one wonders about using 4 displaying oleds for info about parameter or LFO, OSC info, etc.. :slight_smile:


#23

I plan to do that with the next one.
For now those were convenient and easy as I am pretty new to this.