XIAO MIDI Synth Board PCB

This is a synth IO board based on my XIAO MIDI Proto PCB for the Seeed Studio XIAO series of microcontrollers.  It can support four or eight potentiometers, depending on the XIAO board being used.

Build Guide: XIAO MIDI Synth Board PCB – Part 2

XiaoSynthBoard-3d

Warning! I strongly recommend using old or second hand equipment for your experiments.  I am not responsible for any damage to expensive instruments!

These are the key tutorials for the main concepts used in this project:

If you are new to microcontrollers, see the Getting Started pages.

The Circuit

XiaoSynthBoard-sch

The MIDI side is my standard 3V3 MIDI circuit with a H11L1 optoisolator on the MIDI IN side and an unbuffered 3V3 compatible MIDI OUT stage.  The board can be populated with either MIDI DIN or MIDI TRS (type A wiring) sockets.

Note: there was an error in the first version of the schematic (and so in the PCB itself) – the coupling capacitor for the TRS socket was the wrong way round.  It is correct in the above schematic.

There is also additional headers for the XIAO, a reset switch and SWD set of headers.  The latter are modelled of the XIAO expansion board.

There are two sets of jumpers that allow for different arrangements of pots and the DAC – full details in the build guide.

The circuit should be compatible with the following in the XIAO series:

  • XIAO SAMD21
  • XIAO RP2040 (four pots only)
  • XIAO ESP32C3 (four pots only)
  • Other XIAO Series – Untested – probably but NOT the ESP32S3 Sense, and probably four pots only.
  • Adafruit QT Py Series – Untested – possibly but with limitations, and probably four pots only.

PCB Design

XiaoSynthBoard-pcb

All pins of the XIAO are mirrored onto the two additional headers, but note that many of the pins are in use on the board:

  • XIAO pins A6/A7 (TX/RX) connect to the MIDI interface.
  • XIAO pins A0-A3 connected to the first four pots.  A0-A3 are analog INPUTs on all of the XIAO and Adafruit QT Py boards as far as I can see.
  • XIAO pins A5, A8-A10 are connected to the second row of pots.  These are only usable as analog INPUTs for the XIAO SAMD21 and this section of the PCB can be cut off if not in use.

When using the XIAO SAMD21 there is an option to replace the pot on A0 with a link to A4.  This frees up A0 to be used as the DAC output if that is desired whilst retaining the use of eight potentiometers.

The DAC output on A0 is optionally connected via a filter circuit to a 3.5mm TRS jack.  The filter is not strictly required for the DAC, but it gives the option of re-routing a different pin to the audio output for cases where a PWM output has to be used in place of a DAC.  Only the XIAO SAMD21 has a DAC for example.

There is a reset switch, SWD headers and headers for external 5V power too.

Note that the SWD and reset switch require the use of “pogo-pin” header connections on the underside of the XIAO, just like those used on the XIAO expansion board.

NOTE: The PCB should be pin-out compatible with the Adafruit QT Py series boards too, but only if the pogo-pins are left unpopulated as these boards don’t have pads (or don’t have them in the same place) on the underside of the board.

XiaoSynthBoard-ger

Closing Thoughts

This is the second PCB in a series building on my posts for the XIAO SAMD21, Arduino and MIDI.  This is a little more challenging to support the wider range of XIAO boards due to the differing number of analog INPUTs and the fact that only the XIAO SAMD21 has a DAC.

There is also a mistake in the silkscreen (in addition to the polarity of the capacitor) – the labels for some of the pots is across the cut – I don’t quite know how I missed that… oh well.

These boards have been sent for manufacturing using the Seeed Fusion PCB service, which I am happy to continue to recommend. They have been supported with discount vouchers that I’ve been sent by Seeed for my previous projects.

Kevin

Leave a comment