
A3motion buttonmatrix v01
a3-audio/a3-motion
The 4-channel motion sampler of A³ Audio. It records movements on a touchscreen sphere and plays them back in time with the beat, steering each channel's position on A³ Core over OSC.

The 4-channel motion sampler of A³ Audio. It records movements on a touchscreen sphere and plays them back in time with the beat, steering each channel's position on A³ Core over OSC.
Motion pcb is an open-source printed circuit board by a3-audio, from the a3-audio/a3-motion repository on GitHub. It is a 2-layer board of 201.2 × 190.3 mm with 251 parts on 215 nets, routed with 3,043 tracks and 223 vias.
It is built around the 74HC4051, SN74LVC1T45DBV and WS2812B-2020, with the BSS138 among its other parts. Its parts include 107 resistors, 59 ICs, 44 diodes, 34 capacitors and 1 transistor.
The 4-channel motion sampler of A³ Audio. It records movements on a touchscreen sphere and plays them back in time with the beat, steering each channel's position on A³ Core over OSC.
This repository holds the panel firmware (firmware/, ESP32-S3) and the PCB and
housing designs (hardware/; the boards in pcb/, one folder per revision: v1 the first boards (mainboard and button matrix), v3_1 the current one). The touchscreen app is
a3-motion-ui, wired in here as the
submodule a3-motion-ui (named ui until 2026-10-31: every submodule path is
now its repository's name).

Documentation: https://a3-audio.github.io/a3-doc/
A PlatformIO project for the esp32-s3-devkitc-1-n16r8. Run from firmware/:
pio run # build
pio run -t upload # flash
pio device monitor # serial monitor, 115200 baud
pio test -e native # host-side unit tests
python3 -m unittest test_hostUpload and monitor need no port. They find the panel by its USB ID, the CH343
bridge 1A86:55D3 (build.hwids in boards/esp32-s3-devkitc-1-n16r8.json).
host.py polls the firmware over serial and prints the decoded buttons,
encoders and pots (python3 host.py; needs pyserial). Its docstring lists
the options and describes the binary poll-frame protocol. Use it to tell a
firmware fault from a fault in the UI.
Motion UI runs on any Linux machine with a touchscreen, and the panel connects
to it over USB. It is tested on a NUC (on the rig, the Core machine) and was
first planned for a Raspberry Pi 5; see
Hardware
in the docs. The i3 config, the X rules and the user service are in the UI
repository, under
platform_config/.
REUSE-compliant: the licenses are in LICENSES/, which file has which is in
.reuse/dep5.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 57 | 10k | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R1, R2, R12, R13, R14, R15, R16, R17, R22, R23, R24, R25, R26, R27, R100, R106 +41 |
| 44 | WS2812B-2020 | 3dAudioFoot:A3_CherryMxHybrid_WS2812Led2020 | D1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +28 |
| 36 | ~ | 3dAudioFoot:a3_jumper_fix | U2, U10, U11, U12, U14, U15, U16, U18, U19, U20, U22, U23, U24, U26, U27, U28 +20 |
| 33 | 100nF | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C2, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23, C24 +17 |
| 25 | 1k | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R10, R11, R20, R21, R31, R32, R36, R37, R43, R44, R50, R51, R104, R105, R109, R110 +9 |
| 24 | 10K | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R18, R19, R29, R30, R34, R35, R41, R42, R48, R49, R56, R57, R102, R103, R107, R108 +8 |
| 12 | ~ | 3dAudioFoot:A3_ENC_POT_mix | U1, U5, U9, U13, U17, U21, U25, U29, U33, U37, U41, U49 |
| 9 | 74HC4051 | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U43, U47, U48, U53, U54, U55, U56, U57, U59 |
| 6 | MountingHole | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4, H5, H6 |
| 1 | 0 | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R99 |
| 1 | 10v/1mF | Capacitor_SMD:CP_Elec_10x10 | C1 |
| 1 | BSS138 | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | SN74LVC1T45DBV | Package_TO_SOT_SMD:SOT-23-6 | U42 |
| 1 | ~ | 3dAudioFoot:ESP32-S3-DevKitC-1 | IC1 |

a3-audio/a3-motion
The 4-channel motion sampler of A³ Audio. It records movements on a touchscreen sphere and plays them back in time with the beat, steering each channel's position on A³ Core over OSC.

a3-audio/a3-motion
The 4-channel motion sampler of A³ Audio. It records movements on a touchscreen sphere and plays them back in time with the beat, steering each channel's position on A³ Core over OSC.

a3-audio/a3-motion
The 4-channel motion sampler of A³ Audio. It records movements on a touchscreen sphere and plays them back in time with the beat, steering each channel's position on A³ Core over OSC.

a3-audio/a3-motion
The 4-channel motion sampler of A³ Audio. It records movements on a touchscreen sphere and plays them back in time with the beat, steering each channel's position on A³ Core over OSC.

VimDrones/AM32_esc_development_board
Open Source AM32 ESC development board


aravindjayan/DragonFly_FC
Flight Controller for flying things based on RP2350A MCU

sneakylizard123-4/Mega2560plus
Mega 2560+ is an upgraded version of the Arduino Mega 2560. It keeps the same form factor and pinout as the original so it still works with every Mega shield, but it adds an onboard sensor suite and an ESP32-S3…

tangentaudio/pico-cnc-hmi
Raspberry Pi Pico HMI for LinuxCNC using USB Raw HID

MitchellStride/Hummingbird-RP2040-Clock-Module
RP2040 RTC Module, highly compatible with JLCPCB's basic SMT components.


It measures 201.2 × 190.3 mm and has 2 copper layers, 1.6 mm thick.
251 parts, built around the 74HC4051, SN74LVC1T45DBV, WS2812B-2020 and BSS138. 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.
From the a3-audio/a3-motion repository on GitHub, at the commit this page was made from: the board is hardware/pcb/v3_1/motion_pcb.kicad_pcb and its schematic hardware/pcb/v1/a3motion_buttonmatrix_v01.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask a3-audio before reusing the design.