# Add on programmer

**URL:** <https://lookmumnocomputer.discourse.group/t/add-on-programmer/5612>\
**Category:** DIY STUFF\
**Created:** [November 2, 2022, 12:15pm UTC](https://lookmumnocomputer.discourse.group/t/add-on-programmer/5612 "2022-11-02T12:15:50Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![craigyb](https://yyz2.discourse-cdn.com/free1/user_avatar/lookmumnocomputer.discourse.group/craigyb/32/21602_2.png) [@craigyb](https://lookmumnocomputer.discourse.group/u/craigyb)\
**Post date:** [November 2, 2022, 12:15pm UTC](https://lookmumnocomputer.discourse.group/t/add-on-programmer/5612/1 "2022-11-02T12:15:50Z")

</div>

I wanted to add a few options to my last synth build but I had run out of front panel space. I only had one space left for a knob or a switch or a group of toggles. So I thought why not put a little display there and encoder or buttons and make a programmable device that stores certain parameters. Knowing I already had some code on a few of my poly designs I came up with this simplified version where I just stripped out all of the programmer, mux, demux sections which left me with the Settings page. Had to convert it from a colour ST7735 SPI interface to an SSD1306 mono i2c, but I think it works quite well. Not finished yet but you can use pins of the Teensy 2.0 or a shift register for output pins depending on your needs. I could probably reduce the display size down by half too as I don’t need such a big area.

[![](https://global.discourse-cdn.com/free1/uploads/lookmumnocomputer/original/3X/a/8/a84af8f990a5252c71541ce8a04edfa494f17535.jpeg "Add on parameter programmer for a synth") ](https://www.youtube.com/watch?v=Gn5Q73PJi-I)

---

<div class="post-metadata">

**Author:** ![antoine.pasde2](https://yyz2.discourse-cdn.com/free1/user_avatar/lookmumnocomputer.discourse.group/antoine.pasde2/32/326_2.png) [@antoine.pasde2](https://lookmumnocomputer.discourse.group/u/antoine.pasde2)\
**Post date:** [November 3, 2022, 9:24pm UTC](https://lookmumnocomputer.discourse.group/t/add-on-programmer/5612/2 "2022-11-03T21:24:53Z")

</div>

Do you plan on sharing the code for this?

---

<div class="post-metadata">

**Author:** ![craigyb](https://yyz2.discourse-cdn.com/free1/user_avatar/lookmumnocomputer.discourse.group/craigyb/32/21602_2.png) [@craigyb](https://lookmumnocomputer.discourse.group/u/craigyb)\
**Post date:** [November 3, 2022, 9:29pm UTC](https://lookmumnocomputer.discourse.group/t/add-on-programmer/5612/3 "2022-11-03T21:29:21Z")

</div>

Of course, I have just built it into my synth and I’m currently testing, should be published tomorrow. I have 3 shift registers so 24 outputs plus whatever is spare on the SOC. also I’ve added an SPI based dual channel DAC for control of pitchbend and modulation levels but I’ve not actually coded that part yet, but simple enough.

It’s already controlling the MIDI channel and lin/log envelope selection of my two envelopes.

---

<div class="post-metadata">

**Author:** ![craigyb](https://yyz2.discourse-cdn.com/free1/user_avatar/lookmumnocomputer.discourse.group/craigyb/32/21602_2.png) [@craigyb](https://lookmumnocomputer.discourse.group/u/craigyb)\
**Post date:** [November 4, 2022, 8:52am UTC](https://lookmumnocomputer.discourse.group/t/add-on-programmer/5612/4 "2022-11-04T08:52:02Z")

</div>

Progress is being hampered by constant power outages thanks to the Russians.

---

<div class="post-metadata">

**Author:** ![craigyb](https://yyz2.discourse-cdn.com/free1/user_avatar/lookmumnocomputer.discourse.group/craigyb/32/21602_2.png) [@craigyb](https://lookmumnocomputer.discourse.group/u/craigyb)\
**Post date:** [November 4, 2022, 2:19pm UTC](https://lookmumnocomputer.discourse.group/t/add-on-programmer/5612/5 "2022-11-04T14:19:26Z")

</div>

Code is up on GitHub, I will do a schematic shortly, I have added the DAC code etc and tested outputting 2.5v to each DAC output.

> **[GitHub - craigyjp/Synth-add-on-programmer: Running out of room on your front...](https://github.com/craigyjp/Synth-add-on-programmer)**
>
> Running out of room on your front panel? then add hidden functions with this handy programmer - GitHub - craigyjp/Synth-add-on-programmer: Running out of room on your front panel? then add hidden f...

---

<div class="post-metadata">

**Author:** ![antoine.pasde2](https://yyz2.discourse-cdn.com/free1/user_avatar/lookmumnocomputer.discourse.group/antoine.pasde2/32/326_2.png) [@antoine.pasde2](https://lookmumnocomputer.discourse.group/u/antoine.pasde2)\
**Post date:** [November 5, 2022, 12:49am UTC](https://lookmumnocomputer.discourse.group/t/add-on-programmer/5612/6 "2022-11-05T00:49:27Z")

</div>

Thank you very much for sharing.

In the schematic pdf some connections seem to be missing.  
E.g. one end of “FILTER MODE BIT 0” seems to be missing. (From U1 port QH maybe?)  
And should the “FILTER MODE CV” and “AMP MODE CV” be connected to an ADC input of the micro-controller or do they go to other parts of the synth not shown in the schematic?

---

<div class="post-metadata">

**Author:** ![craigyb](https://yyz2.discourse-cdn.com/free1/user_avatar/lookmumnocomputer.discourse.group/craigyb/32/21602_2.png) [@craigyb](https://lookmumnocomputer.discourse.group/u/craigyb)\
**Post date:** [November 5, 2022, 5:17am UTC](https://lookmumnocomputer.discourse.group/t/add-on-programmer/5612/7 "2022-11-05T05:17:24Z")

</div>

Yeah, I missed the filter mode bit 0, I’ve fixed that now.

Filter mode CV and Amp mode CV are outputs from a very crude r2r DAC so they connect to pin 3 of each Envgen8c in a different schematic, but I haven’t updated the main synth schematics. It provides a simple voltage 0v, 2.5v and 5v depending which bits are set high/low to switch the Envgen8c from normal mode to gated looping and LFO looping.

---

<div class="post-metadata">

**Author:** ![craigyb](https://yyz2.discourse-cdn.com/free1/user_avatar/lookmumnocomputer.discourse.group/craigyb/32/21602_2.png) [@craigyb](https://lookmumnocomputer.discourse.group/u/craigyb)\
**Post date:** [November 5, 2022, 3:52pm UTC](https://lookmumnocomputer.discourse.group/t/add-on-programmer/5612/8 "2022-11-05T15:52:14Z")

</div>

![20221105_153955](https://global.discourse-cdn.com/free1/uploads/lookmumnocomputer/original/3X/f/3/f383988f819d8a0bdededaeb6f698c8a2b6f4562.jpeg)

finally built it into the case

---

<div class="post-metadata">

**Author:** ![craigyb](https://yyz2.discourse-cdn.com/free1/user_avatar/lookmumnocomputer.discourse.group/craigyb/32/21602_2.png) [@craigyb](https://lookmumnocomputer.discourse.group/u/craigyb)\
**Post date:** [November 7, 2022, 7:55am UTC](https://lookmumnocomputer.discourse.group/t/add-on-programmer/5612/9 "2022-11-07T07:55:05Z")

</div>

Finished this off yesterday, I implemented a VCA control of the aftertouch depth from off to 10 using the DAC I added. Works well as the AT can be a bit wild if you just press gently on the keystep pro.

Schematics and code updated on the GitHub page as before.
