WIP (HERON) Axoloti Addon Board Project


#1

After building a number of DIY eurorack builds i've decided to design axoloti addon board and enclosure as my first major foray in electronics design. The intent of this project is to create a board that allow the axoloti to be more easily used with out aditional hardware or pluged into a computer for more complex tasks like sequencing. And if i can get it polished enough relses the design for people who don't want to build a completly custom instrament for their axo and if that goes well hopefully do a version that supports the mini axoloti that currently being designed on the forum.

Quick Front Panel Mockup

Almost Complete PCB Design

The current feature set is
Hardware IO Specs
- 4 GP Pots, 1 GP Encoder with push button, 1 XY Joystick with push button and 1 Slider
- 1 Volume Pot with LED (Possible to Reassign but Volume is Prefered)
- 4 Function Keys with controllable Bi Colour LED for each (SPI)
- 1 Modifier Key with LED (SPI)
- 25 Note Keys with controllable LEDs (SPI)
- 2 Buttons between screens (SPI)
- 2 128x64 OLED displays (I2C)
- 3 5V gate outputs for sequencing or clock sync

All digital IO includeing the buttons and LEDS operate on the spi pins and the screens operate on the I2C bus i've gone with this approach vs usingh a seperate mcu as i feel it makes the device more flecable to program blocks for and i'm using this projects as a skills building exerise with the intetnt of expanding on the amazing work done by the community with shift registers and oleds displays to build a robust set of blocks for use with the board. I think i'm basiclly done with the design for the first prototpye but my only concern is if the choice to run everything off the axoloti will negativelt effect proformence of the axoloti to in any major way and the how usuable the axoloti generated 5v power for supplying the LED's and shift registers.

Feel free to leave any feedback or idea i'm just getting i'm still a beginer with electronics so i've probaley overlooked something so i've inculded the schematics are here for anyone knowledgeable and willing to give them a look over.

Edit:
Current WIP layout


#2

Looks good.

May I suggest to actually have 16 buttons in the bottom row? That would allow it to be used to turn steps for a 16 step sequencer on and off. Organelle has only 14 or 15 too, which is a huge error, in my opinion.

Been waiting for something that actually have that 16 button feature for sequencing for Axoloti.


#3

Looks like Jaffa beat me to it, I totally agree about the buttons along the bottom. Why not shift the left-most button along to make 16 buttons?

Essentially you already have them, but the gap makes the thing look a bit off. I also agree this is an error a lot of manufacturers make.

Another mistake that is often made (also demonstrated in your prototype), is the use of encoders in odd numbers. Never do that. It's important to consider that in such a product, it is almost certainly going to be used in sequencing, so that means the bear minimum amount of pots or encoders is four. Better is of course eight, and even better, is 16. In this design though, you have five (an odd number) so personally I would have four together to act as a bank of sequencer controls, and below those, place your four buttons.

That means you have an encoder left over, so why not add another encoder and place those two encoders together as a separate bank? That way you would have a bank of four pots and four buttons for sequencing, and a separately positioned bank of two further pots that could be used as Attack and Decay or Cutoff and Resonance etc.

Another mistake to avoid is the positioning of buttons above encoders. When placing a bank of four buttons along with a bank of four pots, always place the pots above the buttons; this is for ergonomical reasons since pots protrude the face of the panel more than buttons do.

All of that aside, a big thumbs-up to you for taking-on what is quite an ambitious project since you mentioned you're new to electronics :nerd_face:


#4

Following up on the previous comments, the choice of buttons, displays, pots, encoders all seems arbitrary to me. Except, maybe, the buttons arranged as a piano keyboard.

I don't think I'd ever use a joystick on the right side. To me, a joystick is more of a left hand thing.

edit (added later): Do you know how to program the object which will write and read the SPI?


#5

This looks great :slight_smile: on the joystick point the left hand side would work better, but ow about two joysticks (one either side)? at the cost of losing a few extra GPIO. It sort of looks like an oldschool game controller already and could be fun to lean into this quirk.


#6

@Tim052 I just want to encourage you to keep going. Controllers are very personal so there is bound to be disagreement about the best approach. I don't think that there are universal truths about controller counts or positioning; that's all opinion.

One idea would be to do all the digital IO via MIDI instead of explicitly using digital IO pins. You could make the controller more reusable away from an Axoloti.

I'd also suggest thinking about the software integration. I think people will be more inclined to use an expansion like this if there's a nice plug and play integration with a clear function and they don't need to manually bring up each interface.

Just glancing at this another thing came to mind: why not just run 3.3V logic for everything? For example U5 is running on +5V VCC but then it looks like it potentially drives MISO on PA6. That pin may not be +5V tolerant. I would avoid dealing with the separate logic level unless you absolutely have to; it seems like you might be able to work around. You'd also avoid a situation where a user would mistakenly mix the two.


#7

After seeing this satement from urklang, I just wanted to make it absolutely clear that my post was made to encourage good design decisions, it was not meant to discourage you in any way.

Good interface design is about ensuring the product fits its purpose as well as can be, and my suggestions, although technically an opinion, are those of a designer who knows a thing or two about good design. My suggestions are there to point out why numbers and positioning do matter in the design of your interface.

So I disagree with urklang on that one, and I hope my post doesn't come across as discouraging in any way.


#8

Very very nice design! Me personally I would prefer to have all encoders instead of pots, because if you just have 4 you might wanna create multiple layers of control and then a pot never really reflects the value that its controlling.

I like the Idea of the mini keyboard, but I do strongly agree that the lower row should be 16! For me that was a reason not to buy the Keith McMillen QuNexus and might be a reason not to use your board in the end, alltough I could live with having the first knob a bit more far from the rest, like it is now.

If you check the specs it says:

So its 4 pots for parameter control and 1 encoder for like patch changing, global tempo swing etc. That seems like a very good choice.

I think that could be a clever choice. You could like ad an arduino or teensy that is wired to axoloti via the serial pins, that would also decrease the load on axoloti and leave resources for patching.


#9

Sure, but I was just referring to the layout of them because he has a 'five-in-a-row' thing going on. It think it will frustrate users as much (as shown by three of us now) we would be frustrated by the 'fifteen-in-a-row' layout he has for the keyboard.

Four-in-a-row makes more sense than five, and sixteen-in-a-row makes more sense for the keyboard so that it could double as a step sequence thingummy, that's all I'm getting at.

I never took notice of the spec to be honest, it's just the layout that shows obvious design flaws.


#10

Hmm I don't feel this so much this way. I think one more is less of a problem than one to few. You can easily make the encoder distinguishable buy using a different coloured knob or applying graphics to the enclosure.


#11

Or even simpler, just place it correctly to start with :grin:

Speaking of placement, he obviously has thought about the keyboard doubling as a sequencer anyway, as demonstrated by the bottom left-most button having a light to accompany it, just like the rest do.

It's just placement that spoils it. If I had that design sitting physically in front of me, I'd be annoyed every time I looked at it cause I'd be subconsciously wanting to slide the button to the right to join the rest of the keyboard - it would drive me mad :crazy_face:


#12

awesome project! i agree with most of the constructive criticism in here, also wanna add you are currently kinda wasting space on the frontplate.

what about something like this? you can never have too many pots..

oh also did you consider replacing the bicolor LEDs with WS2812 RGB?
and then since you're thinking eurorack i assume, you might wanna look into adding CV in out. but that could also be handled by another expansion frontplate i guess.


#13

@weasel79

Thank you for the extra bottom row button, I am happy now, hehe :wink:


#14

It's a definite improvement, but why add another button instead of just moving the existing one to the right?

If he'd have moved the existing one to the right it would have had sixteen steps, and in addition, the keyboard would have looked more tidy and symmetrical. Move the existing button to the right on the original design and you would have one and a half white keys either side of the first and last black key, as well as the desired sixteen steps!

Is there some reason I'm not aware of, why we have to have that orphan key in the bottom left?


#15

My guess is that the lay out is that it is based on the design of the Organelle, as I mentioned earlier. Organelle uses the left most button as a selector button. So by adding the extra button, you get the 16 buttons AND get to keep the selection button.


#16

Ah I see, but the goal should be to make it work for Axoloti, and in this case I would still ditch that orphan key and replace it with two buttons used for + and - instead.

That way you would have something along-side the steps that can be used to select 1-16, 17-32 etc. Or like I said, simply ditch the key altogether as you have two displays on this thing anyway, both with two buttons underneath, so even those could be used for such a task.


#17

The thing that matters to me is the 16 buttons for the sequencer, the rest is minor details.


#18

After the deep passsion i have seen here for 16 buttons i have been emotionally moved to add anouther button! jks it was actully always meant to have 16 i just forgot to add anouther button after i decided it needed a modifier button so crisis averted.

Thanks everyone for the feedback made me reconsider some things first i'd just like to say that this is basiclly the first pass on ui and a lot of the awkwardness is purely a result of trying to fit it all around the cutouts and header for axoloti i think it can be definitely improved but it's hard to move the pots out of the way or add a second row without creating a lot of dead space at the top of the device there's already more than i would like.

As far as the 5th pot it is there entirely to act as a control and can be reassigned by the user if they really want as i don't see a reason to prevent someone from doing so. Your assumption that it was a 5th pot does however make it clear that putting it some close to main values is confusing so i will be moving it to a more sperate location and properly diffrentalting it with a diffrent knob type.

The was orginally planning on two joyticks but ran out of pins what i think might to on the on a public version an assuming there there remain space after iterating on the layout is have a postion for the joytick on both wired to the same pin allowing people to pick which side will have the stick.

I've considered this approach but i'd much rather have the pins accessible directly and have a object that just truns it into a midi keyboard than implementing all the LED's and gate outputs the onyl reason i really see to do it is if runn the io is going ot be a massive resource hog which i don't think it will be so the jury out till after the first prototype on that.

Yeah software is going to be a big part of this. The project is mainly about creatring a platform for some more plug and play axoloti patches and building on some really good existing community work. I'm working on this with a friend who's studying electrical engineering currently and were hoping get things like a navigatable menu/parameter slection going and some polished patches for sequencing. Although i want to very clear this is probs going to be decently far out on the timeline.

Based on my reading ofsome old forum posts that pin should be 5v tolerent but now that you've brought it up i am unsure. I've gone with 5v as it lets me do the gate outputs easily and the led's are 5v since it's already on the board i figured i'd take advantage of it.

I had a discussion today with my co designer about how we were going to implement various patches and encoders do probably make more sense would like to hear other peoples feeling on pots vs encoders

The extra pots you added sit right on top of the axoloti unfortunately so adding more pots will substaully increase the size of thing unless people are okay with having them orphened in strage places right now it's around 265mmX120mm which is feeling kind of big to me.

Considered doing RGB bbut honestly could think if why you'd need more than 3 colours on those buttons.

CV would be cool but requires a decent amount of extra components and given my realtive newness to electronics have penciled that away for a future revison/at the very least after i have a working prototype of the current featre setwith most of it working.

I envision it as a modifier key akin to shift where you can hold it down while pressing another button or knob to get a diffrent function and hitting it with your pinky felt like a natral place for it mabe making the button a diffrent shape would better differentiate it's function and help it sit better visually.

After going through all the comments here a rough idea of what i'm going to be looking at as far as changes

  • 16 steps is a lock YAY!
  • encoders instead of pots
    • still going to keep it as 4 main parameters but think it might be a good idea to have 4 buttons and leds as a bank select giving 16 virtual encoders thus matching the length of the step sequencer and giving a lot of flexability for non sequencer use.
  • + - buttons to move octaves/page between pages of step sequences
  • general layout stuff like get it to fit arounf teh axoloti better and clearly differentiating functions from each other
  • Choice of which side the joytick sits on if there's room after the shuffling everything around

Thanks for the feedback looking forward to hearing peoples further thoughts.


#19

@Tim052
Sounds ok, like I said, I hadn't taken notice of the spec, it was just the layout I was refering to. Your latest diagram shows exactly what I was getting at regards a group of four, and placing the buttons beneath the encoders - now that makes sense!

Neither the original design or Weasel's did. The good thing about Weasel's version is it makes good use of space, but the bad thing about it is that the button positions do not correlate to the encoders.

You have fixed this in your new bank of four diagram, and that's a big-ass improvement right there, so the next task in design is to place that bank in the right place and in context of the other controls on the panel.

Here at Axoman Industries we share the frustrations of musicians worldwide. And because "We Hear You" even more than the mighty Behringer do, we have designed the ultimate no-thrills 16 button interface. Axoman Industries is proud to announce the JaffaSplaffaSixteenBaffaBoard which, as soon as we have name clearance, should be made available for the super-low price of £2,000.00, and available in any colour, as long as it's red!


#20

Thanks for the effort, I'll take 2 :wink: