Expansion board idea (audio production related)

Hi everyone! I would like to share my view on my perfect expansion board. I’d be happy to hear any thoughts about what can be added or improved)
I am also very interested in @Vitaly’s expertise about technical possibility of producing such board.
So, outer panel of the board should have 4 of 3.5mm ports.
The board should have high quality dac/adc module that can be interfaced to uconsole over usb internally. That takes two 3.5mm ports for audio playback and recording.
Other two 3.5mm ports can work as midi in and out. Not sure how it can be interfaced internally, but considering low bandwidth required for midi I suppose it can be done using gpio pins.
Bonus points for on-board microphone and radio)
Such board would make uConsole more capable portable music production device than well known dirtywave m8 for about half the price. And don’t forget the benefits of open-source software and hardware.
Please feel free to share your thoughts)


I would be interested in an expansion board with a nice DAC/ADC along with an additional USB or two.

Love this idea and would love to see it be created, but i have just looked into the specs and seen that the headphone jack does have microphone input. Maybe (for now) you could get some sort of audio input by using a headphone/mic splitter and getting an input/output that way. As soon as i get my uConsole i want to get the uPico as well as implement a M8 headless to plug into it using the UART pins into the uPico (as well as whatever pi gpio) instead of the usual usb. Im still noobish on the subject (especially programming and board design) but do understand some of the logistics. Maybe audio/midi ins/outs might be a good place to start with there being lots of coding documentation online.

I would like to see 2 boards.
1 would be a hi quality audio DIGITAL out. USB-c and optical would be nice… RCA or mini AES if you want to go overkill but only 1 brand does portable with AES, with quality word clock for the optical. Internal dac will never match the quality of a portable device, even the cheap ones like fiio BTR5, but just quality digital out would be very nice because there are quite of few hi quality portable devices without BT, and clockworkpi with good optical and usb out would be a good option.

2nd board that will make the unit very appealing, would be a network interface with 2 RJ45 ports, so people can use the device on the go to check networks, and devices while are on remote sites, or just make it in to a personal router for their laptop. (yes it is not audio related, but I think ideas of useful expansion boards needs to be put somewhere)

I personally would take both boards.

Isnt that what the 4g moblie board is (refering to you second suggestion), youll be able to go online with that anywhere and youll be able to probably connect other devices to it as a sort of tethering station? Or did i get that wrong.

Also there are 2 boards created and available to use atm, uPico and a usb one (both by the same person) and links are knocking about on this forum, if you want to maybe try designing your own board uPico seems like your best bet on helping (just exposing gpio pins)

the 4 G is to put a sim and have internet or even have a phone call. i am talking about a module that allows technicians to use it in the field to test or access network devices. with 2 RJ45 network ports you can plug it in to any point of the network, or even 2 networks at the same time, use it as your personal router and vpn while on the go to access your private VPN back at home ot at the office (something that you can do with the 4G) but the dual RJ45 allows you to do more stuff when working to maintain the infrastructure.

Ok fair, did not know that and that would be cool.

A decent DAC expansion board is something I’m really interested in as well.

My thoughts about it:

minimum setup:

  • 3.5mm stereo output
  • 3.5mm mono input
  • 1 extra usb c port

full setup:

  • 3.5mm stereo output
  • 3.5mm 2x mono input
  • TRS midi io - single 3.5mm
  • 1 extra usb c port

I think radio is an overkill and could cause unwanted signal interference plus it’s probably going to be problematic in full metal case. Not to mention limited space.

I would venture into making this myself, but I’ve never designed a circuit, perhaps inthusuiasts would like to join forces? :slightly_smiling_face:

1 Like

Someone mentioned this earlier but 2x 3.5 audio and 2x midi jacks (1 in 1on out) with a usb c, would it be cool just to have 4 jacks that can be in or out and choose between if you want audio or midi. Making it either an audio or midi power house.

Michanically to switch between midi to audio you could hook up the 3.5 jack pins to a 9pin ON/ON toggle switch which would lead to an audio board one way and to a midi board the other way.

And with midi trs type a/b could be another switch to the (presumably) arduino bored to flick between each one.

Wont know how to change each jack to be the choice of your in/out

With a quick search theres a guy talking about making a mega midi board (4+2 ins and 4+2 outs) using a pi pico, looks doable on the midi side of things and then some but i feel like itll take too much space if you did all of them. Also would be cool to implament the usb (c most likely) for an option for midi or an audio interface for extra inputs, probably just programming it to be a normal usb port.

On the subject of audio, its gonna be a little trickier with having a wide selection of audio chips to choose from (varying between quality and functionality) but looks doable. But the problem is figuring out how to combine them all on a pin connection front to fit with all the cm4 pins. Not knowing what pins that are available is gonna be tricky to start off with especially not owning a uconsole myself :joy:

1 Like

Yes, same here, I only keep dreaming about the uConsole and things I want to do with it:grin:

On the pins side, aren’t there any info available? I saw usb and pico extension boards developed so the knowledge about pinouts must be out there already, no?

Man i love how chatgpt can be your friend for situations like this, so from ai point of view it is possible and could work, but there would have to be measures of isolating and protecting both audio/midi curcuit from noise or ground looping, not so knowledgeable on this front but could be possible with some trial and error

Here’s a basic representation of the wiring configuration using a 9-pin on/on toggle switch to choose between audio (left and right) and MIDI signals:

   |                                     |
---o-------------o-------------o---------o--- TRS Jack Tip (Audio L / MIDI)
   |             |             |         |
---o-------------o-------------o---------o--- TRS Jack Ring (Audio R / MIDI)
   |             |             |         |
---o-------------o-------------o---------o--- TRS Jack Sleeve (Ground)
   |             |             |         |
   |             |             |         |
   |             |             |         |
   |             |             |         |
   |   +---------+---------+   |         |
   |   |                   |   |         |
   |---o                   o---o---------o--- Audio Circuit
   |   |                   |   |         |
   |   +---------+---------+   |         |
   |             |             |         |
   |             |             |         |
   |             |             |         |
   |             |             |         |
   |   +---------+---------+   |         |
   |   |                   |   |         |
   |---o                   o---o---------o--- MIDI Circuit
   |   |                   |   |         |
   |   +-------------------+   |         |
   |                           |         |
   |                           |         |
   |   9-Pin On/On Toggle Switch     |
   |                           |         |
   +---------------------------+         |

In this diagram:

  • The TRS jack’s Tip carries either the Audio L or MIDI signal.
  • The TRS jack’s Ring carries either the Audio R or MIDI signal.
  • The TRS jack’s Sleeve is the shared ground.
  • The 9-pin on/on toggle switch allows the selection between the Audio and MIDI signals for both the left and right channels.
  • The switch routes the selected signal (Audio L/R or MIDI) to the respective Audio and MIDI circuits.

This setup allows for the selection of either the Audio or MIDI signals to be sent to their respective circuits but not both simultaneously. The actual pin connections on the switch might differ based on its specific model or manufacturer, so refer to the switch’s datasheet for the accurate pinout to implement this configuration.

1 Like

True but i havent seen any info of it myself yet as well as own a uconsole myself to determine

uConsole mainboard schematic (including expansion slot pinout) is available in official github repository: https://github.com/clockworkpi/uConsole/blob/master/clockwork_Mainboard_V3.14_V5_Schematic.pdf
Also @Vitaly generously shared schematic of his uPico expansion board which provides gpio pins and usb-c port: https://github.com/dotcypress/upico/blob/main/docs/upico.pdf
This already should be enough to make attempt building board with midi and usb, putting aside dac functionality for now


Beautiful, was going to purchase the uPico board at some point for tinkering and testing.

I’m interested in trying to make an expansion board. I’ve been doing some experiments with the Pico and rust. The Pico is limited to two UART interfaces, which is enough for communicating between the Pico <—> uConsole and the Pico <—> Midi. I thought about just using the UART ports available on my R1 board, but setting the baud-rate needed by midi on Linux was weird. Another thing I wanted to do was write a thing for the Pico to translate midi to control voltage to sync other non Midi enabled synths. On the Linux side I’m planning on using midir to create some virtual midi ports that will be used to direct messages to the serial interface the Pico is connected to.

As far as a nice audio interface goes, I was looking at the norns shield and they use a CS4271, which already has an SPI driver on Linux, so I wonder if that would be easy to get working.

I may never actually finish this, but the initial experiments and planning have been fun.


Please do continue :slightly_smiling_face: , I really wish to use uConsole to dive into DSP and embeded audio - this kind of expansion board would be essential.

Did some shallow reaserch on the topic looking at this as a base: Pisound – Raspberry Pi Sound Card & MIDI Interface

It seems it uses PCM1804 which is single chip 2x2 DAC - just sharing this info in case it’s useful :slightly_smiling_face:

Some ‘thinking out loud’ since I had started researching.

I use the pisound on a rpi 3+. Implements a variant of Prynth It’s not even remotely the footprint. for the uConsole. It’s a great board if you have a larger footprint. The PCM1804 is a nice ADAC, but I think there are some simpler approaches.

USB midi ‘just works’ so adding ports for micro usb adapters should be trivial.

That’s a bit overly specific but I guess your thinking of the of the CS4271? The chip alone in 11-12 Euro in Europe.

Since I have one of these: Audio Injector I was thinking about testing that, but it’s a bit large. There’s also a knock off on amazon: look for Coolwell WM8960

These are the two I’ve been thinking of trying since I have them. Those in the 20+ euro are obviously expensive, but I have them (or relatives) in several pi projects and the kernel drivers just work. Set up requires adding those and boot foo.

I think I’ll pick up a Audio DAC SHIM (Line-Out) since it’s better on the size front BUT that’s only a DAC . But, since I’m primarily doing synthesis, it might be enough process offloading to get me one or two more voices.

I have a couple of Teensy (SPI) audio boards from an old project that could also be used. SGTL5000, I2C pins SDA and SCL in the main. Onboard mic pre-amp stereo 16 bit 44 in/out. But, it’a bit much for this end since it’s got an integrated card reader. Or maybe , maybe?

Oh, I wanted to emphasise that I’m looking at offloading processing as @sacred.goose 's pisound proposal or my injectors. That requires kernel modules, and is not just ADAC and midi foo but can be directly used for ALL dsp without thinking about it. The teensy, for instance, would require building a driver for it which I might do since I know the driver for the teensy. But it’s no way plug and play for audio processing even if you have all the io working.