PatchStorage has the closest thing to a wiring diagram. This project gives the general idea that you can modify to match the specific description below:
https://patchstorage.com/dynamic-range-compressor-feedback-topology/
Of course, the above project works as advertised if all you wanted was a dynamic range compressor.
Based on the same wiring diagram, here are some other "broken out" effects that will work on the same wiring diagram:
https://github.com/transmogrifox/Bela_Misc -- specifically "overdrive" and "klingon-tone"

The interface for the whole FX processor is a bit crude for now since I currently depend on the console output to see which effect and parameter are being adjusted.

Here is the most current code for the project:
https://github.com/transmogrifox/transmogriFX_bela

Here is some code that can help get started implementing LCD output and control if you want. Code I haven't pushed to gituhub implements some rudimentary I/O on the LCD so I'm not working totally blind without a computer connected to the IDE, but not good enough to push the code at this point. The audio level meter code has all the pieces needed to design a usable LCD interface.
https://github.com/transmogrifox/Bela_Misc/tree/master/audio_level_meter

The short description is this:
-- Connect 6 pots (10k) between ADC ref pin and gnd with wipers going to Analog input channels 0-5.
-- If you have a wah pedal, disconnect the pot from the wah circuit and connect the pot between ADC ref pin and ground with wiper going to Analog input channel 8.
-- Connect 420 to 500 ohm resistor from 5V to Analog ref pin to make up the extra current drawn by the 10k pots. If you use 100k pots, then the resistor to 5V can be the 4.7k shown in the compressor diagram.
-- Connect bypass pot to digital input 4, switching between 3.3V and GND.

Then for switches, connect either:
1) Normally closed momentary pushbutton switch between digital input pin to ground with 3.3k pull-up resistor to 3.3V.
2) Normally open momentary pushbutton between digital input pin to 3.3V and 3.3k pull-down resistor to ground.

Here are the definitions for what switch channels to use and what they do:

//Control context 
#define CONTROL_CONTEXT_SWITCH	3  //input 0 appears to be dead on dev's unit (maybe ESD? or just broken wire)
#define CONTROL_EFFECT_SWITCH  	1
#define EFFECT_BYPASS_SWITCH	2
#define WAH_PEDAL_BYPASS	4

I was using digital input channels 0-3, but one was broken so I am using 1-4. As the code is written:
Digital input 1: Scrolls through list of FX, makes them active for control. (CONTROL_EFFECT_SWITCH)
Digital input 2: Toggles on/bypass state of active effect. (EFFECT_BYPASS_SWITCH)
Digital input 3: Scrolls through control pages on the effect, which assigns the pots to different sets of parameters.(CONTROL_CONTEXT_SWITCH)
Digital input 4: Logic high (3.3V) wah is activated unconditionally, Logic low wah can be switched on/off with EFFECT_BYPASS_SWITCH if wah is the active effect selected by CONTROL_EFFECT_SWITCH.

From there the audio path is intended to work like this:

{Guitar} ----->[Bela CH0 IN] ...[Bela CH0 OUT] -->{External FX Chain(FX send/return)}--->[Bela CH1 IN]...[Bela CH1 OUT--->{Amplifier}

Here are some hardware interface circuit ideas, but there is no PCB layout nor BOM:
https://github.com/transmogrifox/Hardware/tree/master/Bela_Input_Buffer

The user interface to this is very crude but all the pieces are there to build a nice FX processing unit. My plan is to abandon the current "render.cpp" and start over from scratch but at my current rate this will be a project of many years.

a year later

Built from the GiHub repo and deployed this successfully; it was enjoyable to play through, even if with only reverb active without an input buffer circuit. My question was going to be the one red_tin_dave already asked.
Thanks for sharing.

18 days later

As I'm not good with hardware and lack supplies, I wanted to try controlling transmogriFX using OSC.
So far, so good. The OSC API on Bela is a pleasure to use.
I'm using M. Hexler's excellent TouchOSC as the controller.

The bottom bank of faders is for the chorus module; the upper banks are not yet connected.
The chorus fader settings are sent from Bela to TouchOSC, to provide correct initial settings.
I'm connecting it up one-by-one and will probably do the compressor and the Klingon next.

looking great! would you be able to share the code and the TouchOSC file? We are looking into adding some TouchOSC projects to the examples that come with the board.

Absolutely; I'm working in a fork of ryjobil's repo on GitHub, and was going to include this code and a layout file as a new branch. Then anybody can clone that.

OSC and a touchscreen device is really where it's at. The hardware controls I have in the works will be a lot like a guitar FX processor from the mid-90's (LCD and multi-function buttons).

A video demo of the sliders working would be really cool to see too if you get to a point where you can demo something like that. I'm a sucker for "boring" videos of people making noises and operating controls 😃

A video demo

I will. It will be good practice for making a video. All the kids are doing it.

Pushed code to that branch. There's a TouchOSC layout that exposes Klingon, Overdrive, Chorus and a little of Reverb. Knob values may be getting mangled if you wiggle a lot. Might be treating input domains as linear when they sometimes should be logarithmic.

Check that same repo's Wiki for a recipe if you want to try it.
https://github.com/rhaleblian/transmogriFX_bela/wiki

Some observations:

I started assuming that effects store an input value that was the knob's input after mapping from 0-1 to the input domain -- I cared because I want to send that value to the UI, as the controls are absolute. I didn't see that being the case after attempting to "wire" a pointer to an internal effect param to fetch its value to send back to the UI. And inverting the stored param value to the original input looked not easy in many cases. I dealt with it by storing the mapped input value in each of a Knob object, and never looking inside the effect. But now OSC and hardware knobs might not play nice together.

What was the other thing? I already mentioned linear vs log. Well, maybe it was that it would be nice to read the layout file and generate code that could be dropped into a C++ project to provide objects to talk to using a small support library that is prepared for the generated code.

    plate-of-shrimp But now OSC and hardware knobs might not play nice together.

    it's hard to make that work smoothly without encoders and many LEDs ...

    plate-of-shrimp Well, maybe it was that it would be nice to read the layout file and generate code that could be dropped into a C++ project to provide objects to talk to using a small support library that is prepared for the generated code.

    not sure I understand what you mean there

    not sure I understand what you mean there

    Um, drop the 'small support library' bit, that probably confuses things. The idea is only to extract things from the layout and make C++ representations of them for convenience. Say, that a fader that goes from 0-7 and is called '/coolness/factor' becomes some code you don't have to repetitively write to help wire things up. Using OscReciever and OscSender are easy, and writing a receive callback is easy, so it may not worth the effort.

    7 days later

    Added delay line.
    https://github.com/rhaleblian/transmogriFX_bela/tree/osc
    Exposed effects:
    - compressor
    - klingontone
    - overdrive
    - chorus
    - delay
    - reverb (only partially)
    Sustainer has a layout but the wiring is not done.

    @giuliomoro the files
    https://github.com/rhaleblian/transmogriFX_bela/blob/osc/src/osc.cpp
    https://github.com/rhaleblian/transmogriFX_bela/blob/osc/src/osc_delay.cpp
    show a class abstraction for a virtual "faceplate".

    Re: TouchOSC examples, how about something that is in line with the existing examples but replaces eg a pot with a TouchOSC screen? I could make that.

    Nice !
    Out of curiosity, what makes you prefer TouchOSC over the Bela GUI?

    I should try the GUI. I suppose that if it runs in a browser it is portable, in the physical sense? On a phone or tablet?
    I may move from TouchOSC to a hardware controller if I see one that does OSC.
    Also brings up the question of stomp switch pedalboards, have not looked to see what's out there.
    I also got Trills in the mail recently...

      This video showing the screens came out not so well, but I hope it gives a sense.

      I'll record something with sound but it's a little too early here for lots of noise.

      plate-of-shrimp suppose that if it runs in a browser it is portable, in the physical sense? On a phone or tablet?

      yes! although I must say that your TouchOSC solution looks very good already.

      plate-of-shrimp a hardware controller if I see one that does OSC.

      nice, do they exist?

      plate-of-shrimp sound is bit high in the mix.

      indeed, but cool video anyhow

      plate-of-shrimp Also brings up the question of stomp switch pedalboards, have not looked to see what's out there.

      I know there are MIDI boards out there. I played with a Behringer FCB1010 using a USB-Midi converter in Rakarrack on a laptop. It would probably take some coding to pipe the USB-Midi device into Bela, but if you got that working then it would open up a lot of possibilities for HW controllers.

      Another idea i have tossed around is I have an Acer Spin5, which is plenty of screen to support a nice control interface, and is trivial to get MIDI messages through the standard Alsa driver. The control interface including control to a HW MIDI controller via USB in the laptop could send messages to Bela via OSC.

      I would think a tablet with a USB port could be used in the same way. For that matter a Raspberry pi could be used to bridge the MIDI->USB->Network interface and then you could turn any HW MIDI controller into a HW->OSC controller.

      Well there's some brain dump 😉 .