Now Reading
GeroTakke.de – ottopot

GeroTakke.de – ottopot

2023-12-31 03:42:22

  1. Introduction
  2. Features
  3. Build
  4. Software Setup
  5. Ideas
  6. Thanks

Introduction

2 ottopot variants, one with LEDs and one without

That is the ottopot. It is a MIDI controller I made with nothing however 8 dials. Nonetheless, the dials I made within the highest high quality that I probably may. There are 2 issues specifically that I have not seen in another comparable gadgets:
Excessive decision with 14bit MIDI CCs (12bit efficient decision) and a quasi-1:1 mapping from bodily motion to CC worth; like you understand from analog potentiometers however in fact with out the stops on both finish.

If you need to construct your personal, I’ve revealed the 3D print information, a construct documentation and the supply code right here.

I am contemplating this the 0.9 model; I am at the moment making an attempt to be taught KiCad to make a easy PCB for it so the constructing course of is simpler.

Let’s dive into among the particulars!

Options

14bit CCs

I’ve come throughout this a few years in the past and I have been obsessive about it ever since. Normally you ship MIDI management messages with a single CC that may maintain a price between 0 to 127, so 7bit. That is a bit course for lots of functions. 14bit CCs are a intelligent method of sending 2 CC messages in fast succession the place the primary one is the coarse worth and the second is the tremendous worth. Since each bit doubles the decision, that is enormous enchancment!
Now it looks like it’s somewhat obscure, however I’ve discovered software program assist to be fairly good. Logic and Bitwig each assist it; these are the DAWs I exploit, however from a fast search it looks as if Ableton additionally helps it and doubtless others as effectively. With Bitwig I exploit Moss’ generic flexi.
{Hardware} assist for 14bit CCs alternatively is principally non-existent. That is one of many the reason why I constructed my very own controller.
For the ottopot, I’ve settled with utilizing 12bit for the learn decision.

1:1 mapping

With analog pots it looks like you’re very a lot in charge of the parameter; each motion on the dial instantly interprets right into a change of the parameter. With typical MIDI controllers utilizing encoders, it looks like there’s a disconnect; like there is a layer of goop between the dial and the parameter. I believe that’s largely as a result of the connection just isn’t 1:1, so one full flip of the dial would not correspond to a full sweep by means of the parameter’s vary. In addition they usually use acceleration so the worth change is relying on the pace of your movement, not simply the space.
With the ottopot, it feels very near analog potentiometers to me. There is no acceleration and I’ve made it so one full flip is one full sweep throughout the entire vary. It makes for a way more musical feeling, a minimum of it does to me.

Construct

I believe try to be accustomed to soldering and have a little bit of expertise with different electronics initiatives earlier than making an attempt to construct an ottopot proper now.
It would get fairly a bit simpler with the following model after I be taught KiCad and make a PCB.
For now, there’s simply loads of wiring.
General value for supplies and transport has been round 220€ for me. I’ve made a model of the faceplate that does not have the holes for the LEDs so you possibly can simply skip them — the code works the identical with out the LED boards related. This manner it can save you ~100€ for the LED boards.
One other factor you could possibly skip is the re-greasing of the pots, however I extremely recommend that you simply do it. It feels so a lot better with decrease resistance.

Supplies

Changing the grease on the pots for decrease turning resistance

Opening a potentiometer

Pry open the small legs that maintain the steel half to the plastic base. I discovered it best to begin with a utility knife and as soon as they’re opened just a little bit, proceed with pliers.

Removing the circlet

Take away the circlet utilizing a pair of pliers. It isn’t simple! I discovered it helps to make use of a potentiometer knob to make it simpler to carry on to the physique.

Remove the factory grease

Use degreaser to take away the manufacturing unit grease from each the shaft in addition to the bottom. That stuff is tremendous sticky, it feels virtually like glue. The shaft will flip very simply as soon as the grease is gone. Make certain it’s totally gone so the totally different pots will really feel the identical.
Finest to do this in a sink and use some paper towels to dry and clear the elements. You possibly can roll the sides of a chunk of paper towel and use one thing like a tooth decide to get within the axle gap within the physique.

Put new grease on the shaft

Put some new grease on the shaft and the axle gap within the physique. I am utilizing Shimano premium bearing grease and I actually like the texture of it, simply the correct amount of resistance. Although I am positive another bearing grease will do the identical. I am placing just a little grease on each elements after which insert the shaft and switch it round a few instances earlier than wiping the surplus with a little bit of paper towel.

Reinstall the circlet

Reinstall the circlet with a pair of pliers. Once more, I discovered it helps to make use of a poti knob as type of a stand for the shaft.

Reinstall the wiper

Put the wiper again on the physique. There is a matching cutout on the wiper that matches into the shaft. The picture exhibits the orientation which I discovered to be best to make them match.

Reinstall the plastic body part

Lastly match the physique; there’s a longer aspect which ought to face within the course of the pins. Use pliers to bend the legs again over to carry the plastic half in place.

Finished pot

Executed! You must have a pot that feels quite a bit simpler and really good to show. Now simply do it seven extra instances 🫠

3D printing the case and knobs

I’ve revealed the fashions on printables.
There is a high case for the model with LEDs and one for the one with out.
For the knobs, I am utilizing this mannequin: Encoder Knob by Void, the 16mm_3mm_D.stl file printed at 103% scale on my Prusa Mini. I recommend printing 1 and checking the match earlier than committing to print all 8 in a single go.
In my fashions I am utilizing 0.2mm tolerances for all of the holes however I believe my printer is not tuned completely so I additionally want to wash up the holes after printing with a drill a tiny bit; for the pot holes I exploit a 7mm drill, for the small LED holes I exploit a 2.5mm drill.
I exploit 4 warmth set insert from CNC kitchen within the backside case and 4 generic m3x8 screws with allen heads to lock the highest case to the underside.
Lastly I exploit a few 3m rubber ft to connect onto the bottom to stop slipping.

Wiring up the boards (Teensy + multiplexers)

I will attempt to go over this rapidly as a result of I am planning on doing a PCB quickly so it will develop into out of date.
You may have to wire up the Teensy to 2 74HC4051 multiplexers after which the multiplexers to a leg every of the the 8 pots together with floor and 3v3.
5v from the Teensy goes to the LED boards in addition to 3v3, floor and clock+information for i2c.
I designed the case in order that the wire mess will match snugly, so you may have to depart the wires comparatively quick.

Wired up boards

These are the boards wired along with the little bit of perfboard within the center to splice some wires. Black is floor, pink is 3v3, yellow are the multiplexer choose pins. Let’s go over the person connections subsequent; I hope this image might help with orientation and provide you with an concept of the scale it is best to goal for to make it match within the case.

  • Solder a black wire from Teensy GND to the perfboard, getting ready to run ~5 extra wires from that.

  • Solder a pink wire from Teensy 3v3 to the perfboard. There can be ~2 extra wires from that.

  • Solder 3 yellow wires from Teensy ports 20, 21 and 22 to the perfboard. Every one will run to each mux boards, so 2 extra wires from every.

  • Solder 3 black wires from the bottom pin of the perfboard to those pins on the primary mux board: GND, VEE, E.

  • Solder a pink wire from the 3v3 pin of the perfboard to the VCC pin on the primary mux board.

  • Solder 3 yellow wires from the yellow wires on the perfboard to the S0, S1 and S2 pins on the primary mux board. Be sure that Teensy pin 20 goes to S0, 21 to S1 and 23 to S2. That is the reverse order of the pins on the Teensy.

  • Solder a wire from Teensy pin 14 (A0) to the Z pin on the primary mux board.

Now for the second mux board, principally the identical however we’re utilizing the pins on the appropriate aspect of the primary mux board if potential to avoid wasting house:

  • Solder a small black wire from GND from the primary mux board to GND on the second.
  • Additionally from VEE to VEE
  • And a pink one from VCC to VCC
  • There is no second E pin so run a black wire from the perfboard floor to E on the second mux.
  • Once more, solder 3 yellow wires from the yellow wires on the perfboard to the S0, S1 and S2 pins on the second mux board, identical as the primary one.
  • Now solder a wire from Teensy pin 15 (A1) to the Z pin on the second mux board.

These are all of the connections within the picture above.
Subsequent, let’s put together the LED boards (optionally) after which let’s handle the potentiometers.

Making ready the LED boards (optionally available)

Every of the 8 LED boards wants some particular solder bridges. I will quantity them the best way they’re wired to the multiplexers, so left to proper, high to backside.

Potentiometers from the top with numbers

That is the order of the potentiometers (and LED boards) seen from the highest; this would be the order through which to attach the Y-pins on the mux boards as effectively. Take into accout we’re working from the underside so it will likely be flipped.

View of a single LED board with areas for the solder bridges

These are the areas through which we might want to add some solder bridges to set the i2c addresses and the pull-up resistors.

First board with the required bridges

For example, here is the primary board with all solder bridges we’d like. That is the one board that may have the bridges for the resistors.

Here is a listing of all solder bridges wanted on the 8 LED boards:

  • 1: Pull-up Resistors. SJ1. SJ6.
  • 2: SJ3. SJ8.
  • 3: SJ1. SJ8.
  • 4: SJ2. SJ5.
  • 5: SJ2. SJ6.
  • 6: SJ2. SJ7.
  • 7: SJ2. SJ8.
  • 8: SJ3. SJ6.

Wiring up the potentiometers

For this, we’ll add an extended wires to every of the mux boards’ Y0Y7 pins. I’ll use gray wires for the pins on the primary mux board and purple wires for the second. That is necessary for the order through which they will get soldered to the pins on the potentiometers.
We may also add one lengthy wire from the VCC and one from the GND pins on the second mux board. These will connect with the primary potentiometer and from there, we’ll do a “wavey wire chain” between all of the pots; examine the following photos to grasp what I imply.
Begin by placing all of the pots within the 3d printed high case so there is a information for the lengths of the wires. In case you use the LED boards, put them in first and use the pot’s washer between the pot and the LED board; see beneath for the LED board orientation. The holes are a barely unlucky dimension and the washers assist so the pots do not get jammed up within the LED board holes.
For the following couple of images, I am not utilizing the LED boards so it is simpler to see the place issues go.

Wavey wire for connecting the pots together

That is how I put together the wavey wire to attach the `3v3` and `gnd` pins. The loops are about 5-4cm lengths of wire the place I every twist the ends along with the following piece. All in all we’d like 7 items as a result of the eighth one will connect with the wire on the mux board.

Pots connected together with 3v3 wavey loops

See Also

Solder the pink wavey wire loop to the leftmost pin on every of the pots besides the higher proper one. Here is all of the 3v3 pins related; word that the highest proper remains to be open since that is the one which’ll connect with the mux board.
Do the identical factor with the bottom wavey wire and join it to the third pin from the left on every pot leaving the higher proper one free once more.

Connections on one pot

Now it is time to solder the `Y0` – `Y7` pins from each mux boards to the pots. That is fiddly stuff.
The connections within the orientation from the image are: 3v3, Y-pin from mux board 2, gnd, Y-pin from mux board 1.
It is fairly necessary to maintain the wires considerably quick so that they’ll match within the case. There can be an image of every little thing related, however
first let’s go over how the pots are numbered.

Potentiometers from the top with numbers

That is the order of the potentiometers from the highest; this would be the order through which to attach the Y-pins on the mux boards as effectively.

Pots numbered from the bottom

Flipping the board will make it so they’re numbered like this. Word that I oriented the pots so the pins level in the direction of the underside on this orientation.
it like this, each `Y0` pins from the mux boards will go to the highest proper pot, `Y1` to the one left to it and so forth.

All the pots connected

So that is the top results of all of the potentiometers connections. The 3v3 and gnd wires on the primary potentiometer have been related to the mux board in addition to the wavey wires, connecting all pots collectively. (For the eagle eyed: please do not get confused, the mux boards are out of order on this image. The written documentation is right, I simply tousled the order within the construct. Sorry. That is the one image the place you possibly can see the distinction.)

Put it all in the case

In case you’re not doing the LED boards, you are virtually performed. In any other case skip to the following part. Put a micro USB cable by means of the again gap of the underside case, join the Teensy and wiggle every little thing in place so you possibly can shut the case. In case you’re fearful about it, you could possibly use scorching glue to repair the boards in place and use 2 cable ties (inside and outdoors) for pressure reduction on the cable.

Wiring up the LED boards (optionally available)

LED boards in the top case

In case you use the LED boards, issues ought to appear to be on this image now.
You may want to attach all of the boards with the provided quick wires to one another and solder one of many connecting wires as much as the Teensy pins.
The order of the wiring would not matter, the solder bridges of the i2c pins are what’s making them match to their potentiometers.

LED boards in the top case, wired up

That is the way it takes care of you connected all of the connecting cables between the LED boards. One on the primary board remains to be disconnected, we’ll solder this up
to the Teensy subsequent.

LED boards in the top case, wired to the Teensy

Join the pink wire to the 5v pin on the Teensy.
The blue wire goes to pin 19 (SCL0) on the Teensy.
Inexperienced wire to pin 18 (SDA0).
The black wire goes to the bottom pins on the perfboard.
Yellow wire goes to the 3v3 pins on the perfboard.

That wraps up the construct!
Like I wrote above: Put a micro USB cable by means of the again gap of the underside case, join the Teensy and wiggle every little thing in place so you possibly can shut the case. In case you’re fearful about it, you could possibly use scorching glue to repair the boards in place and use 2 cable ties (inside and outdoors) for pressure reduction on the cable.

Constructing & importing the firmware

The code is a platformIO mission so you may must have it put in. I am utilizing platformIO core from the command line however
the VSCode extension must be tremendous as effectively.
Clone the project from the repo to your laptop.
You probably have platformIO arrange, ensure you join the Teensy to your laptop by way of USB and make sure that it’s the solely Teensy that’s related. Then run pio run --target add from the principle listing of the repo and that must be it.
If you need to alter the LED shade from the default blue, you are able to do so in primary.h.

Software program Setup

Setup in Bitwig Studio

Set up Driven By Moss so you should use its Generic Flexi script. Make certain the Ottopot is related.
Obtain this settings file and put it someplace in your laptop the place it will possibly keep.
Then in Bitwig’s Settings->Controllers, add a controller, and choose the Flexi controller script. For enter and output port, use the Ottopot MIDI ports.
Scroll down a bit till you see the Load/Save part and press “Load”. Choose the file you downloaded. That is it it; your remotes ought to now be managed by the ottopot and the LEDs must be up to date relying on the chosen remotes.

Setup in Logic Professional

Open Good Controls and press Study Project for the primary knob, then wiggle the primary knob on the ottopot. Logic will decide up that it’s a 14bit CC. Sadly you’ll need to disable the Suggestions function within the project settings since Logic would not appear to ship usable 14 bit CCs again to the gadget (solely the LSB can be despatched, not the MSB). This additionally means that it’ll solely work with the annoying “decide up after scrolling previous” mechanic.
If there’s sufficient curiosity, I may most likely write a controller script for Logic to repair that.

Future targets, concepts

  • PCB for a lot simpler meeting (hopefully)
  • “Shift button” for small changes (going from 1:1 to one thing like 1:3)
  • Ahead and again buttons for altering distant pages

Thanks

Bjørn and Juan for his or her work on the Infinite Potentiometer code.

Input Labs for making the Alpakka controller and giving me the arrogance {that a} do-it-yourself 3D printed product can simply rival industrially made industrial options.

Michael from CapraDesignStands for the advise and prematurely for the assistance with the PCB.

Divergent Waves for serving to with KiCad and the PCB.

Source Link

What's Your Reaction?
Excited
0
Happy
0
In Love
0
Not Sure
0
Silly
0
View Comments (0)

Leave a Reply

Your email address will not be published.

2022 Blinking Robots.
WordPress by Doejo

Scroll To Top