Beginner questions about patch.Init() capabilities

I want to get a patch.Init() module (with the Daisy Submodule) and I have some questions. I am planning to program it with Max gen~ but I’m willing to learn C++ if that has additional functionality.

  • Can the firmware code determine when jacks are plugged in? In other words, can I implement my own normalling behavior in the firmware? If it’s not directly supported, are there any dependable tricks to do it, like can you detect slight noise at the CV input if something is plugged in?

  • I heard the CV jacks and control knobs on the Daisy Patch are not independent, but looking at the Oopsy JSON config for the patch.Init() / Daisy Submodule, it looks like they are independent on this hardware. Is that correct?

  • There’s a Max gen~ example of loading an audio file off an SD card, but I don’t know if that’s just for the Daisy Patch. It looks like the Submodule has an SD-compatible interface, but does the patch.Init() module actually have a ready-to-go SD card slot that I can access from gen~? If so, can I read and write arbitrary files to the SD card (for example, to autosave state)? If not, is this something I can add ~easily?

  • Is the patch.Init() compatible with the ST LINK-V3 MINI DEBUGGER? Debugging is of course very useful, but being able to flash the firmware without the boot/reset buttons seems really nice so I can screw the module into my rack while developing firmware (as long as I can access the USB jack of course, which I’m thinking I could do with an Intellijel USB extender module).

  • Why is the “B” IO numbered starting from B5? What happened to B1-4? Is that because the Submodule has additional IO not utilized by the patch.Init()? If I go really deep, could I make my own extender module to make use of the additional IO (using an I2C in the back or something)?

Thanks,
Adam

No

Yes

Well you can see that there’s a SD slot on module’s panel, can’t you? No idea if it’s working with oopsy, but it probably does or will be supported soon enough

Naturally. You have to solder the debug header yourself though.

If you go really deep, you can find extra pads on patch SM and I recall the module itself might not utilize everything from main pin headers.

1 Like

Thanks both, this is useful information that I was also looking for.
FYI I have another FAQ thread in the #products:patch-init forum, maybe this post can be moved there too?

(Frequently?) Asked Questions specifically about Patch.init()

Thanks for the answers!

I ordered one and should have it in about a week or so. For my first project I’m going to make a delay. I was going to buy a dedicated delay module for more money and more HP than a patch.Init(), but now I’m going to make my own :smile:

Err, duh, yes I see it. I was too focused on the labeled inputs when posting this. I will report back if it works with Oopsy.

Cool. Since this thread is short I’m going to leave a link/quote to this over there and continue the conversation in that thread.

1 Like

I think it bears mentioning - Patch.init is intended as an example for development of custom boards/panels using patch.sm.

Specifically, in response to the question about plug detection for normalling - if a developer wants to be able to test if a jack is plugged into a CV input, a board can be designed which connects an output port to the switch pin of all CV inputs. See MI Plaits code for details on how it works.

This is very good to know. Yeah, I realize the patch.init is one of many possibilities you can achieve with the patch submodule, which has more functionality than the patch.init’s panel exposes. I am not a hardware person (yet) so I’m pretty clueless as to what else the submodule can do.

I decided to “dip my toes” into DIY modules by writing my own firmware. So I think the patch.init (or Daisy patch) are perfect for where I’m at right now, especially because I am comfortable with gen~. We will see where this journey takes me. I may very well make my own module one day, maybe on the Daisy platform, and I will definitely want to know when things are plugged in. Normalled jacks are so useful.