MBProgramma: hardware synth patch programmer (MBNG variant with a defined hardware set)

IIRC according to TK, there isn’t enough resources to drive all the MIDIbox CV2’s cv’s and run more than 4 OLEDs and 1 CLCD

sneak: perhaps a smaller PCB then? I.e. one 2x8LRE plus the OLEDs/CLCD?

 

(P.S. sorry to hijack the Programma thread, just thinking of multiple usecases!)

Nice project. 

Will these displays also work? 

All it needs now is a big screen, a high end microcontroller board, and some wavetable oscillators plumbed into the MB SID 3 platform :wink:

Haha, yeah. It would make a killer MBsid 3, wouldn’t it? You could also re-target it and make an Ambika with LED rings and some OLED parameter display action for instance.

 

Those displays are just the ticket, but lacking a carrier PCB you might have to get a connector for that foil cable. That connector is likely to be a fine-pitch SMD so it’s not that easy to work with. The fact that the seller advocates soldering the FPC onto the PCB… You have to do that right and there’s a risk it becomes a brittle point of failure. OK, I know that’s how it’s bonded to the carrier PCB, but that’s done with machines and probably inspected under a microscope. It’s not a DIY-friendly solution. 

 

I get bad memories from the Chroma Polaris foil overlay  :brr:

I was thinking bigger! Ambika is stunted by it’s open source zealotry and insistence on through-hole. Get an embedded multicore GHz MIPS/ARM/whatever board in there, use the infrastructure to control soft-oscillators, filters, and effects, and build a Virus killer! :smiley:

 

I’ve got a CI20 board I was going to turn into a synth - I just need to find some free time to write the DSP code. At the moment I’m having too much fun making music! I was going to hook a few knobs up and add a 7" touch screen, but something like this seems more suited! :slight_smile:

Ahh. Olivier wrote about how he had a proto Ambika that wasn’t through-hole at one point of time during its conception. You have nice stuff like the Audiothingies P6, the Preen FM2 etc built on minimal interfaces and MapleMini or similar CPU boards. A bigger VA would be a nice thing. I’d call it Vakov. The V is pronounced as an F in German, Dutch and Flemish :slight_smile:

 

Then again, I had ideas and plans for a simple poly based on Wavetables and a CPU timer driving some CEM3396. A DIY Evolver if you will.

 

Your plans sounds like a Touch-screen Modulus! Ambitious and bold :slight_smile: It could be a kick-ass synth.

Nice project. 

Will these displays also work? 

 

Pay attention: These displays would need a circuit, to power the display. It’s not done with solder a connector to a PCB and connect it directly to midibox. Check the spec-sheet of the displays. The circuit is inside.

 

BTW: I’d also love to use those displays as in the end it might be much cheaper to produce the carrier boards and to buy those displays separately. 

BTW: I’d also love to use those displays as in the end it might be much cheaper to produce the carrier boards and to buy those displays separately. 

 

At least it would allow for a more seamless integration into the control surface, given that there are no DIL headers that eat away precious board space.

Totally!! And no mounting holes on the wrong place :wink:

 

Pls check the other thread I just created.

Great idea. It would make things easier, if there was someone who would design an 8x2 LEDRing board (with the same outer dimensions, screw hole and encoder positions) and add

* support for those OLEDs (or OLED carrier boards)

* support for 12mm encoders - only the three lower pins need to be adjusted.

 

The rest should stay the same, plz :smile: , now is that a PCB routing challenge or not? :phone:

(Edit: to save space, i would not exclude the possibility of SMD shift registers, they are easy to solder!)

 

That would speed up the assembly of an OLED-LRE board a lot!

 

But, even if no one steps forward and designs a board like this, it will just work as well as described in the prototype wiring method, if you have the time, just need a few hours to install the displays. They don´t take longer than inserting the LEDs, cutting the LED pins and soldering them up, it is time intensive anyways.

 

Many greets!

Peter

I’d take on that challenge if I had more time, but I’m afraid this is one of those periods in my life that I need to concentrate on other things than MIDIbox :-(.

Nooo, ilmenator, i was hoping for a purple board!

Hope things get better, soon! :slight_smile:

 

Many greets,

Peter

I was looking for Hot-bar soldering and found Beer-Drinking cat (look last page).

But I’m going to dig bit deeper into soldering these displays. 

Then again, remixed LRE boards with SMD shift registers, maybe even LED resistor arrays etc… A really bizarro adaptation would also be prepared for LED-lit encoders. Most of the pinning stays the same, add a few pins for the switch and the LED(s) of the encoder.

 

As usual we only face two simple problems; time and money  :tongue:  For now, we substitute those with good ole elbow grease. Roll up your sleeves!

 

Bonus points for the beer-drinking cat. It sounds like a real cat dude!  :cat:

 

Hang in there ilmenator!

I’d guess that it wouldn’t be that hard to implement the needed features if we’d have the eagle files of the LRE available :slight_smile:

I appreciate this project a lot - finally a standardized controller surface :smile:

 

Please add more buttons and LEDs, you can never have enough to switch between different functions on your synth, to trigger something (like a .NGR script), or whatever.

 

I don’t see a way for MBCV V2 support, but I also don’t find it necessary.

I think it’s better to work on a dedicated solution for MBCV V2 instead.

MBCV V2 uses a special LCD driver mode which allows to access a 2x20 CLCD and 4 OLEDs from the same core. This is a dedicated hack and neither universal (e.g. it isn’t supported by MBNG) nor scalable (1 CLCD and 4 OLEDs is the limit for MBCV V2, and the OLEDs can only be used as scopes)

 

Best Regards, Thorsten.

Nice to hear!

I can’t speak for Hawkeye, but more LEDs and buttons can certainly be added. Some thought is needed -i.e. do we sprinkle them out here and there, or keep them around the lower display/SCS area or somewhere else?

Obviously we can’t make a dedicated controller such as the lovely JD-800 control surface. Another option would be a couple of blocks with 8LEDs and buttons on top/below to cycle up/down as well as a button next to every LED. If this sits on the side of an OLED we can select LFO 1-8, ENV 1-8, Waveforms going into a mixer, A block or blocks of harmonic levels, FM operators…

However, Hawkeye has a lovely gray Plexiglas/acrylic overlay which it wouldn’t be nice to have to scrap. We need to synchronize a little.

Best,

Johan

Very cool! :slight_smile:

 

We currently have 6 buttons and one encoder in the lower menu area.

 

One reason for this choice was to minimize input serial register use (standard SCS mapping, directly attached to the core). The hope was to be able to attach a maximum number of LEDRing boards - each of them uses four input shift registers, and there was the fear of a too long serial chain, when using another DIN module for more inputs.

Also, there was the hope, that we might be able to extend the existing LEDring boards with an addon-box with even more LEDring-boards later on - this was therefore prioritized over more input possibilites in the menu section, as our goal was to get a maximum size encoder array :slight_smile: (we don´t know the hardware limits of the serial chain yet and how many more LRE boards are ultimately possible).

 

Another reason was the goal of a quite minimalistic/clean programma main surface (with everything necessary involved, but no luxury items/and no excess area used up by controls, that may not be needed by every application) and to design addon boxes for specific use cases later on.

 

The available surface space is quite limited and has been optimized for the Formulor/Ponoko size panels (vertical and horizontal limit of 384mm) - with this, we were able to fit eight OLEDs in the lower compartment. And, we have one push-acceleratable encoder for subbank and superbank switching, a menu button and five freely assignable switches, that allow for 25 custom bookmarks to be very quickly reached with a fast and easily memorized two-key-combo :slight_smile: (see below).

 

Synth-specific stuff, like selecting LFOs, waveforms, envelopes should imho only be handled on the lre-boards, not in the menu section, as we have many different synth targets and we cannot produce hardware that maps to every necessary function - so the idea is to stay generic here, utilize the label OLEDs for best description what each encoder does and hope for the best! :slight_smile:

 

Regarding the lot of lower menu OLEDs:

* One of the lower OLEDs is intended to be used as a key indication screen/menu, that shows which of the menu buttons is mapped to which function, so we are very dynamic here - to build a bookmarking system: with two levels/key presses, we can reach 25 shortcuts, that lead us to different target banks within the programma, or fire .ngr scripts, or other actions. Every bookmarked action/target bank is documented on the keyscreen.

* Another one of the OLEDs is used as an indicator which target synth (MBNG patch) is currently used, and for status message flashes.

* Then, we have four OLEDs for dynamic parameter description/graph/value output. What would be really nice would be an envelope display on those screens. Or synth specific addons, like a comb filter display for the K5000. Or… the algorithm selector for a FM synth. Anything, that needs a bit more complex visualization and description text… these screens get updated, when the respective encoder is turned. If no specialty (e.g. an envelope) is being displayed, there can be a long description of the currently changed parameter and its current and initial (snapshot) value. As we are potentially dealing with a lot of parameters for the complex synths, a bit of information text should be very nice, some synth engines are very complex and not easy to grasp.

* The remaining two OLEDs should display the current superbank and the subbank. This concept is just a logical extension of the standard MBNG banks - it is just a hierarchical access scheme. The superbank can be changed by pushing the menu encoder while turning, the subbank can be changed by only turning the encoder. This allows for a clean segmentation of banks.

The two displays act as a “breadcrumb display”, that shows the currently active superbank (for example “voiced operators” for the FS1r) and subbank (“voice 1”).

To reach a new superbank, push and turn, to switch to a new subbank, just turn the main encoder.

 

That was the navigation idea, at least. I know, these are a lot of things on the agenda and there is so little time - let’s see where we will be headed. It might be a slow process, as we have daytime jobs :slight_smile:

 

In conclusion, my feeling is, that the main menu’s navigation options (with the presented segmentation via main encoder, and the quick access via five*five bookmark general buttons) should be sufficient for any programma needs (even for large synths).

 

All synth-controller functionality, on the other hand, should be handled within the encoder section (with help of the dynamic labels). If encoders are not sufficient, we have the option to extend with external boxes. With the use of an AINSER64, there are lots of analog ins available for additional joysticks/pots or even plain switches for specific (maybe even synth specific) additions.

 

Sorry for the long text :smile:

Many greets and have a great evening!

Peter

I agree with Hawkeye. This is also a work in progress. Later on we will know more as there’s a bit of work just mapping up the controls of various synth engines. :frantics:

Another totally convenient use case might be support for generic USB keyboards if working with patch names. Or, we’ll have to come up with some Xbox/PS3-type of keyboard list. I haven’t the foggiest at this stage. Named preset lists for synths with expansion cards? Dunno either. Let’s see where this all ends up as it slowly grows. :smile:

You might argue the case for some special control element like a button bank for preset selection, or the use of absolute mechanical encoders like the nice 16-position Grayhill switch we know from the x0xb0x. It has a normal 4-bit binary output. Or, what about analog stuff like the 45mm LED sliders like those used by the TTSH ARP 2600 DIY clone? Would’t they make a great envelope controller or organ drawbars? A bunch of LEDs, or the button/LED matrix from the MB-6582? Lots of synths have mod matrices. This has to be looked at later and can be placed in some box on the side if and when there’s a need. I’m totally adding a joystick for that feeling of vectory. It kind of fits the Wavestation A/D and the Prophet VS. Lots of stuff could be mapped to its two axis. Also, inputs for foot pedals and switches would be nice.

Anything that relies on these special control elements would take away from the generic nature of the MBProgramma. My hope would then be that external hardware elements are also linked to some settings that are shadowed in the normal system of banks and sub bank settings. This way they become shortcuts to various existing settings.

Well, gotta hit the hay! Have a good one!
Johan