Using Expert Sleepers FHX expanders with Patch.Init()

This is a project to use the Expert Sleepers 8x CV expander (FHX-8CV) and the 8x gates expander (FHX-8GT) with patch.init() for loads more CV and gate outputs. This is based on implementing the Expert Sleepers SPI protocol in patch.init() - after figuring out the protocol. Here is a short clip with the setup running a software emulation of Øchd but unlike the real Øchd this patch.init() emulation is switchable for bipolar and unipolar CV outs.

The Øchd emulation was just a proof of concept to pull together the key ideas. Here’s a link to a pdf with all the details of the pinout and interconnect and all the details I was able to puzzle out about how to work with the Expert Sleepers SPI protocol.

It’s basically all working as a base for the project I really want to work on. If I get progress on that I’ll add some notes here.

FYI the Øchd emulation is in C++. There is an infinite loop driving a loop counter. There are 8 values held for the 8 LFOs and 8 values held to increment the LFOs each time the loop goes around. The increment amounts are based on powers of the golden ratio.

3 Likes

Ahhhhh this is quite cool

2 Likes

Thank you so much for sharing this on the forum too! It’s seriously amazing.
The new demo clip really shows how powerful this pairing is :slight_smile:

1 Like

This is a really cool project! Would it be also possible to use this with the daisy patch programming in the gen environment?

1 Like

Thanks! So sorry I don’t know Gen but I can only see this working if there is SPI support in Gen. I think the approach I took with this project should work on any embedded system that has SPI and three GPIO pins spare, but if Gen is more about signal processing it might not have a way to call the SPI and GPIO.

and the c++ code is now at GitHub - goochrm/patch.Init-ochd: Demo code for Electrosmith patch.Init() expanded using FHX-8CV DAC and running an emulation of Ochd LFOs.

2 Likes