Skip to the content
PCBKitNew board
4 layers19.1 × 16.8 mmSynthPass, the printed circuit board in 3D

An open-source protocol & hardware design for to detect nose boops & transfer simple data, designed for protogen/synth fursuits

Size
19.1 × 16.8 mm
Copper layers
4
Thickness
1.6 mm
Parts
17
Nets
24
Pads
73
Tracks, vias
148, 41
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
30 Jan 2026
Updated
18 Oct 2026

Overview

SynthPass is an open-source printed circuit board by JackToaster, from the JackToaster/SynthPass repository on GitHub, published under the GPL-3.0 licence. It is a 4-layer board of 19.1 × 16.8 mm with 17 parts on 24 nets, routed with 148 tracks and 41 vias.

It is built around the CH572D and SM04B-SRSS-TB. Its parts include 4 resistors, 3 capacitors, 2 connectors, 1 IC and 1 diode. It belongs with the audio and music boards of this library.

Main components

2

README

README.md

SynthPass

An open-source protocol & hardware design for to detect nose boops & transfer simple data, designed for protogen/synth fursuits.

Built to solve a very important problem. With SynthPass, you won't have to break character or pull off your paws and fumble with your phone to trade contact details. Just nose-boop, and SynthPass will automagically trade a small chunk of user-defined data, like a web link, username, or anything else that can fit in a couple hundred bytes of plain text. Then plug in your SynthPass at the end of the day and download all the data you've collected.

SynthPass is also designed to easily interface with nearly any protogen/synth fursuit. SynthPass hardware can be powered by a single 3.3V supply, and supports digital several digital interface options.

Features

  • Simple interface to fursuits

    • GPIO: pin HIGH (3.3V) when booped, LOW (0V) when not booped. Additional pin that's high
    • UART: Message for boop start/end
    • I2C: Register for boop status
    • Don't want to modify your firmware or connect the digital pins to your controller? The GPIO output can also drive an LED to indicate when another SynthPass is nearby and when a nose boop is detected.
  • Advanced interface

    • UART/I2C Only
    • Approximate range & unique ID of peer prior to boop
    • Extra boop parameters (e.g. boop expression, color, name/species of peer)
  • USB interface

    • Mass storage device for downloading collected data. Simply plug in the SynthPass into a computer and open MESSAGES.HTM in your web browser.
      • Edit the files ME/BOOP.TXT and ME/PROX.TXT to set your own messages to be transferred on proximity/boop
      • Edit ME/SYNTHPAS.INI to change settings for LED behavior, boop range, and enable proximity messages
    • Software bootloader switch for firmware updates over USB - send the character 'b' to the USB TTY that appears to switch to the USB bootloader.

Hardware

SynthPass is based on the ultra-low-cost WCH CH57x series microcontrollers.

  • 2.4GHz radio

    • Boop detection by RSSI (radio signal strength)
    • ISLER protocol for peer-to-peer and broadcast communication without need for pairing
    • CH572 also supports BLE (possibility for future companion app?)
  • Protogen/Synth Suit Interface

    • 4-pin JST SH connector, compatible with QWIIC/Stemma QT (TODO?)
    • Single 3.3V input (possibly support 5V input with some hardware designs)
    • Option for I2C, UART, or GPIO communication protocol
    • Designed for easy integration with most synth/protogen heads

Software

Using CH32Fun + iSLER library for communication

SynthPass communicates using BLE advertising frames with a fixed MAC address so that SynthPassdevices can easily be detected.

Communication (currently) uses a fixed channel (Channel 37) and PHY mode (1Mbps).

TODO document stuff better :3

Development

Building SynthPass

SynthPass uses PlatformIO to manage the firmware toolchain, and the ch32fun framework to handle the ch572's hardware interfaces.

To compile the firmware, you'll need to:

  • Clone the SynthPass repo git clone https://github.com/JackToaster/SynthPass.git
  • Run pio run -e [board hardware target]. [board hardware target] should be replaced with one of the targets defined in platformio.ini:
    • nanoch57x for the nanoch57x dev board
    • pretzelslab for the SynthPass hardware in this repo & the SynthPasses handed out at Anthrocon 2026
    • axionqc for AxionQc's hardware design

Updating firmware

We have a custom upload script built into the PlatformIO configuration for SynthPass, all you need to do to update the firmware is:

pio run -e [board target] -t upload

for the "official" Pretzel's Lab hardware: pio run -e pretzelslab -t upload

If the firmware is borked and the flashing script doesn't work, hold down the boot button while plugging in the SynthPass to force it into ISP bootloader mode.

Parts

17
QtyValueFootprintReferences
45.1kResistor_SMD:R_0402_1005MetricR1, R2, R3, R4
210uCapacitor_SMD:C_0402_1005MetricC1, C3
10.1uCapacitor_SMD:C_0402_1005MetricC4
132MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY2
1CH572DCH572D:CH572DU2
1LED_SmallLED_SMD:LED_0603_1608MetricD1
1LOGOgraphics:synthpassG***
1LOGOgraphics:qrG***
1LOGOgraphics:pretzelG***
1PCB AntennaRF_Antenna:Texas_SWRA117D_2.4GHz_RightAE1
1SM04B-SRSS-TBConnector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_HorizontalJ1
1SW_PushButton_Switch_SMD:SW_SPST_TS-1088-xR020SW1
1USB_C_Plug_USB2.0Connector_USB:USB_C_Receptacle_G-Switch_GT-USB-7010ASVP1

Questions

How big is the SynthPass PCB?

It measures 19.1 × 16.8 mm and has 4 copper layers, 1.6 mm thick.

What parts does the SynthPass use?

17 parts, built around the CH572D and SM04B-SRSS-TB. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the SynthPass KiCad files?

From the JackToaster/SynthPass repository on GitHub, at the commit this page was made from: the board is hardware/SynthPass.kicad_pcb and its schematic hardware/SynthPass.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the SynthPass design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers34.6 × 10.9 mmCh570funprog withuart, the printed circuit board in 3D

    Ch570funprog withuart

    cnlohr/ch570funprog

    CH570-based RISC-V Programmer

    27 parts6MIT
  • 4 layers76.1 × 70.7 mmUsb sp dev, the printed circuit board in 3D

    Usb sp dev

    Ismael034/usbsp

    Have you ever tried to plug a USB device into a computer that has USB restrictions enabled? It's frustrating, isn't it? You can't use your USB devices, and you have no way to bypass the restrictions.

    79 parts2MIT
  • 2 layers17.8 × 28.9 mmCH572, the printed circuit board in 3D

    CH572

    cyao1234/c57

    Low-cost bluetooth devboard with a ch572 MCU. To program it press the boot button, and use either mountriver studio or ch32fun.

    23 partsCERN-OHL-P-2.0
  • 2 layers90 × 64 mmDivine light, the printed circuit board in 3D

    Divine light

    tobycm/divine-light

    A handheld device with neopixels so you can have lights wherever you want :b

    88 partsMIT
  • 2 layers28 × 34.5 mmCh570-led halo, the printed circuit board in 3D

    Ch570-led halo

    cnlohr/cnhardware

    My dumping grounds for all my kicad projects and random hardware bringup.

    30 parts114
  • 4 layers101.6 × 53.3 mmZ80ctrlng, the printed circuit board in 3D

    Z80ctrlng

    jblang/z80ctrl

    AVR-based bootloader, I/O, and debugging for Z80-based computers

    65 parts73
  • 4 layers79 × 79 mmMinuet, the printed circuit board in 3D

    Minuet

    brown-studios/minuet

    Minuet upgrades your MAXXAIR Maxxfan with a brushless DC motor, home automation features, and accessories.

    103 parts67MIT
  • 8 layers106 × 62 mmCm5-m2key b usb3-ix, the printed circuit board in 3D

    Cm5-m2key b usb3-ix

    taskx6004/AnyRadio-CM5

    modular RPI CM5 carrier board

    224 parts42