
Interactiles Controller
sullyjason/interactiles
Interactive LED button grids that connect two locations over MQTT — press a button in one place, see it light up in the other. ESP32 + NeoPixel switch hardware, KiCad designs, and firmware.

Interactive LED button grids that connect two locations over MQTT — press a button in one place, see it light up in the other. ESP32 + NeoPixel switch hardware, KiCad designs, and firmware.
Solo Mini Controller is an open-source printed circuit board by sullyjason, from the sullyjason/interactiles repository on GitHub. It is a 4-layer board of 38 × 45.3 mm with 36 parts on 70 nets, routed with 240 tracks and 31 vias.
It is built around the BSS138. Its parts include 7 connectors, 3 resistors, 2 capacitors, 2 ICs and 2 switches. It belongs with the lEDs and displays and home automation and IoT boards and the ESP32 and SAM D and SAM boards of this library.
3×5 grid of TL1 NeoPixel switches (7.5mm² each). 4-layer board with MCP23017 I/O expander mounted directly on the underside. Pinout is non-obvious due to space constraints — refer to schematic.

| Qty | Value | Footprint | References |
|---|---|---|---|
| 15 | PLB_RGB_SW | SilvansFootprintLibrary:TL1_RBG_Adressable_1_mini | RGB_SW1, RGB_SW2, RGB_SW3, RGB_SW4, RGB_SW5, RGB_SW6, RGB_SW7, RGB_SW8, RGB_SW9, RGB_SW10, RGB_SW11, RGB_SW12, RGB_SW13, RGB_SW14, RGB_SW15 |
| 2 | 10k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R2, R3 |
| 2 | PINHD_1x2_Female | Connector_PinHeader_2.00mm:PinHeader_1x02_P2.00mm_Vertical | J2, J3 |
| 2 | R_Pack04 | Resistor_SMD:R_Array_Convex_4x0603 | RN2, RN3 |
| 1 | 0.1uF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C2 |
| 1 | 10uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C1 |
| 1 | 330ohm | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R1 |
| 1 | BSS138 | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | JST_02 | Connector_JST:JST_PH_S2B-PH-SM4-TB_1x02-1MP_P2.00mm_Horizontal | J6 |
| 1 | JST_02 | Connector_PinHeader_2.00mm:PinHeader_1x02_P2.00mm_Vertical | J1 |
| 1 | LED | LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D1 |
| 1 | MCP23017_SS | Package_SO:SSOP-28_5.3x10.2mm_P0.65mm | U2 |
| 1 | MountingHole | MountingHole:MountingHole_2.2mm_M2_DIN965_Pad | H2 |
| 1 | PINHD_1x2_Female | Connector_PinHeader_1.27mm:PinHeader_1x02_P1.27mm_Vertical | J8 |
| 1 | PINHD_1x2_Male | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J9 |
| 1 | PINHD_1x3_Male | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J5 |
| 1 | SW_DIP_x05 | Button_Switch_SMD:SW_DIP_SPSTx05_Slide_KingTek_DSHP05TJ_W5.25mm_P1.27mm_JPin | SW2 |
| 1 | SeeeduinoXIAO | Seeed Xiao:Seeeduino XIAO-MOUDLE14P-2.54-21X17.8MM | U1 |
| 1 | Slide_Switch_SPDT_P3mm_10x5x10mm | Button_Switch_SMD:SW_SPDT_PCM12 | SW1 |
It measures 38 × 45.3 mm and has 4 copper layers, 1.6 mm thick.
36 parts, built around the 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 sullyjason/interactiles repository on GitHub, at the commit this page was made from: the board is Button_Modules/Mini/Solo_Mini_Controller/Solo_Mini_Controller.kicad_pcb and its schematic 2x2 Interactiles/PCB/Controller PCB/RGB 2x2 with WS2811.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 sullyjason before reusing the design.

sullyjason/interactiles
Interactive LED button grids that connect two locations over MQTT — press a button in one place, see it light up in the other. ESP32 + NeoPixel switch hardware, KiCad designs, and firmware.

sullyjason/interactiles
Interactive LED button grids that connect two locations over MQTT — press a button in one place, see it light up in the other. ESP32 + NeoPixel switch hardware, KiCad designs, and firmware.

sullyjason/interactiles
Interactive LED button grids that connect two locations over MQTT — press a button in one place, see it light up in the other. ESP32 + NeoPixel switch hardware, KiCad designs, and firmware.
sullyjason/interactiles
Interactive LED button grids that connect two locations over MQTT — press a button in one place, see it light up in the other. ESP32 + NeoPixel switch hardware, KiCad designs, and firmware.

sullyjason/interactiles
Interactive LED button grids that connect two locations over MQTT — press a button in one place, see it light up in the other. ESP32 + NeoPixel switch hardware, KiCad designs, and firmware.

sullyjason/interactiles
Interactive LED button grids that connect two locations over MQTT — press a button in one place, see it light up in the other. ESP32 + NeoPixel switch hardware, KiCad designs, and firmware.

sullyjason/interactiles
Interactive LED button grids that connect two locations over MQTT — press a button in one place, see it light up in the other. ESP32 + NeoPixel switch hardware, KiCad designs, and firmware.

sullyjason/interactiles
Interactive LED button grids that connect two locations over MQTT — press a button in one place, see it light up in the other. ESP32 + NeoPixel switch hardware, KiCad designs, and firmware.

StuckAtPrototype/Racer
These are structured into their own files. I could have used submodules, but decided against it.

willem-pennings/balancing-cube
A cube that balances itself in a corner or edge using reaction wheels

abhishek-kakkar/BeagleLogic
A Software Suite that implements a logic analyzer with the PRU on the BeagleBone / BeagleBone Black.


lachlanA/eagle-to-kicad
Eagle SCH/LIB to KiCad SCH/LIB ULP conversion script

No0ne/ps2x2pico
USB keyboard/mouse to PS/2 interface converter using a Raspberry Pi Pico

StuckAtPrototype/AirCube
Works standalone out of the box. Pairs with Home Assistant in minutes. Other platforms are supported through community-contributed extensions.
