
Starter
opensimgear/device-template
Work-in-progress STM32G0B1 input/output module with USB HID or CDC-only profiles, Cyphal/CAN, persistent settings, ordered panel events, leased LED/display actions, KiCad hardware and native simulation.

Work-in-progress STM32 Cyphal/CAN-to-USB gateway with automatic input/output enrollment, ordered HID controllers, guarded configuration/leased action/event routing and native/Pico debug simulation.
Gateway is an open-source printed circuit board by opensimgear, from the opensimgear/device-gateway repository on GitHub. It is a 4-layer board of 65 × 55 mm with 45 parts on 67 nets, routed with 1,513 tracks and 93 vias.
It is built around the STM32G0B1CBT6, R-78E5.0-0.5 and TCAN3413D, with the TLV75533PDBVR-MS, USBLC6-2SC6 and RC0805FR-0710KL among its other parts. Its parts include 12 capacitors, 8 resistors, 7 ICs, 6 connectors and 5 diodes. It belongs with the STM32 boards of this library.
This project is heavily under development and is not ready for use. Use it entirely at your own risk. To the fullest extent permitted by applicable law, the authors and contributors disclaim all liability for any damage, loss, or other issues arising from its use.
Open gateway.kicad_pro in KiCad 10. This revision develops the gateway around the reviewed STM32G0B1 starter core, adding protected 12 V injection and two physical 4P4C modular CAN/power sockets. The board is a prototype; no assembly has been measured or fabricated. Validation records actual static results and validation limits. Fabrication, footprint review, BOM, schematic and copper preview and 1:1 assembly drawings accompany the editable CAD.
The connectors are four-position/four-contact jacks, often sold as RJ9/RJ10/RJ22 handset connectors. They are smaller than six-position RJ11/RJ12 sockets. They implement the user's final 4P4C everywhere requirement. These powered sockets must never connect to telephone equipment. The former six-contact template ecosystem must be migrated before connecting a module; adapters or casual telephone-cord substitutions are not assumed safe.
| Socket / header | Contacts |
|---|---|
| J1 USB-C | USB 2.0 device, external 5.1 kΩ Rd on CC1/CC2, no USB PD |
| J2/J3 powered CAN | 1 protected BUS_12V; 2 CAN_H; 3 CAN_L; 4 GND |
| J5 12 V barrel | 5.5 mm OD / 2.1 mm ID mating plug, center positive; sleeve GND; switched sleeve unused |
| J4 SWD | 1 target 3.3 V reference, 2 GND, 3 SWDIO, 4 SWCLK, 5 NRST |
| J6 CAN test | 1 CAN_H, 2 CAN_L, 3 GND; no power output |
Contact numbering comes from the exact manufacturer's drawing and local footprint; see FOOTPRINTS.md. Qualify a straight-through four-conductor cable whose center pair carries CAN_H/L as a twisted pair. Most handset cords reverse contacts end to end and many are flat, untwisted cable. A reversed cord swaps both power polarity and CAN polarity. Use continuity checks at every contact before energizing any new cable. No hot-plug or cable-current qualification has been established.
J2 and J3 are electrically parallel on a single CAN FD segment. Copper passes CAN and protected trunk power through independently of MCU reset or firmware. Use a linear chain. Fit a removable 120 Ω, 1%, ≥0.25 W resistor between contacts 2 and 3 only inside an endpoint plug in the unused gateway port, and a second endpoint plug in the final module's unused port. Remove termination on every intermediate module. There is no permanent PCB terminator; J6 is a bench test connection. Do not form a ring.
The barrel input feeds F2 (350 mA hold / 750 mA trip, 30 V PPTC), D6 SS14 reverse-polarity diode, then D7 SMBJ15A TVS at BUS_12V. Both jacks and the MCU branch receive this protected voltage. F1 (200 mA hold / 30 V) separately protects the MCU branch, followed by D1, the local D5 TVS and RECOM 5 V converter. U6/U7 LM66100 combine regulated bus power and USB VBUS into SYS_5V with TI's Figure 17 continuous-output priority topology: the buck-side status output drives USB-side enable through OR_STATUS, with R6 pulling up to BUCK_5V, followed by the 3.3 V LDO. USB never has a path that generates 12 V. The power-source selection is passive and independent of firmware; leakage, backfeed and source transitions still require measurement. Use one 12 V source per trunk; do not join independently powered gateways.
Use a current-limited regulated 12 V bench supply, set ≤0.5 A, and provisionally budget ≤250 mA total at the barrel input at 20–40°C, including the gateway and all chain devices. The connector's 1.5 A/contact rating does not establish a cable/system current budget. F2's hold rating derates with temperature (300 mA at 40°C and 150 mA at 85°C); a PPTC is a slow fault element, not an accurate electronic current limiter. This prototype has no sustained-overvoltage cutoff. TVS and fuse behaviour under actual faults, wire heating, diode drop and connector temperature must be qualified before extending these limits.
| Firmware signal | MCU pad | LQFP48 pin |
|---|---|---|
| USB D− / D+ | PA11 / PA12 | 33 / 34 |
| USB VBUS presence | PB0, 10 kΩ / 15 kΩ divider | 19 |
| CAN RX / TX | PB8 / PB9, AF3 | 47 / 48 |
| CAN standby, high = standby | PB5, external 10 kΩ pull-up | 44 |
| LED, active high through 1 kΩ | PA5 | 16 |
| SWDIO / SWCLK | PA13 / PA14 | 35 / 36 |
| Reset | PF2-NRST | 10 |
Clocks use internal oscillators. VDD, VDDA, VREF+ and VBAT use 3.3 V; the LQFP48 package internally connects USB supply to VDD. Leave PA11/PA12 remapping disabled and disable UCPD dead-battery pull-downs on unused PA9/PA10. The transceiver is in standby during reset; CAN traffic and chain power continue through the passive connectors. External control headers from the device template are absent.
The four-layer board retains the 65 × 55 mm outline and reviewed USB geometry: 0.2474 mm main track width / 0.1501 mm pair gap above a continuous L2 reference plane. Request the documented JLC04161H-7628 construction, 90 Ω differential ±10%, final geometry approval and coupon/TDR; the calculation is not a measured impedance. See fabrication instructions. Reproduce static checks and exports with sh tools/check-and-export.sh 0.1.0 from the repository root after every CAD edit.
KiCad.kicad_sym / KiCad.pretty retain selected upstream library entries under KiCad's license. OpenSimGear contains local manufacturer-derived connector, PPTC and other reviewed footprints. Upstream 3D paths require KiCad's model installation; newly authored parts deliberately omit unverified models.
Follow PCB versioning: this single current design is version 0.1.0, held fixed until launch.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 7 | 100nF 25V X7R | KiCad:C_0805_2012Metric | C1, C6, C8, C9, C10, C11, C13 |
| 4 | M3 3.2mm | KiCad:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 3 | 10k | KiCad:R_0805_2012Metric | R5, R6, R7 |
| 3 | 1uF 25V X7R | KiCad:C_0805_2012Metric | C3, C4, C7 |
| 2 | 4P4C POWERED CAN | OpenSimGear:RJ4P4C_Evercom_5301-4P4C_Horizontal | J2, J3 |
| 2 | 5.1k 1% | KiCad:R_0805_2012Metric | R1, R2 |
| 2 | LM66100DCKR | OpenSimGear:TI_DCK0006A_SC70-6_LM66100 | U6, U7 |
| 2 | SS14 | KiCad:D_SMA | D1, D6 |
| 1 | 0.20A hold / 30V | OpenSimGear:Fuse_Littelfuse_1206L020-30YR | F1 |
| 1 | 0.35A hold / 30V | OpenSimGear:Fuse_Littelfuse_1206L035-30WR | F2 |
| 1 | 10k 1% | KiCad:R_0805_2012Metric | R3 |
| 1 | 10uF 50V X7R | KiCad:C_1210_3225Metric | C2 |
| 1 | 12V DC CENTER + / 5.5x2.1 | OpenSimGear:BarrelJack_SameSky_PJ-102AH_Horizontal | J5 |
| 1 | 15k 1% | KiCad:R_0805_2012Metric | R4 |
| 1 | 1k | KiCad:R_0805_2012Metric | R8 |
| 1 | 2.2uF 25V X7R | KiCad:C_0805_2012Metric | C5 |
| 1 | CAN TEST / END TERMINATION | OpenSimGear:PinHeader_Samtec_TSW-103-07-L-S_P2.54mm_Vertical | J6 |
| 1 | GREEN | OpenSimGear:LED_Kingbright_AP2012SGC_0805 | D4 |
| 1 | R-78E5.0-0.5 | KiCad:Converter_DCDC_RECOM_R-78E-0.5_THT | U4 |
| 1 | RESET | KiCad:SW_PUSH_6mm_H4.3mm | SW2 |
| 1 | SMBJ15A-E3/52 | KiCad:D_SMB | D7 |
| 1 | SMF15A-E3-08 | KiCad:D_SMF | D5 |
| 1 | STM32G0B1CBT6 | KiCad:LQFP-48_7x7mm_P0.5mm | U1 |
| 1 | SWD / 3V3 REFERENCE ONLY | OpenSimGear:PinHeader_Samtec_TSW-105-07-L-S_P2.54mm_Vertical | J4 |
| 1 | TCAN3413D | KiCad:SOIC-8_3.9x4.9mm_P1.27mm | U3 |
| 1 | TLV75533PDBVR | KiCad:SOT-23-5 | U5 |
| 1 | USB-C DEVICE | KiCad:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J1 |
| 1 | USBLC6-2SC6 | KiCad:SOT-23-6 | U2 |
It measures 65 × 55 mm and has 4 copper layers, 1.6 mm thick.
45 parts, built around the STM32G0B1CBT6, R-78E5.0-0.5, TCAN3413D and TLV75533PDBVR-MS. 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 opensimgear/device-gateway repository on GitHub, at the commit this page was made from: the board is electronics/boards/gateway/0.1.0/gateway.kicad_pcb and its schematic electronics/boards/gateway/0.1.0/gateway.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 opensimgear before reusing the design.

opensimgear/device-template
Work-in-progress STM32G0B1 input/output module with USB HID or CDC-only profiles, Cyphal/CAN, persistent settings, ordered panel events, leased LED/display actions, KiCad hardware and native simulation.

FujiNetWIFI/fujinet-hardware
Schematics and design files for FujiNet hardware


micthiesen/crystal-shim
Aquarium skimmer controller: capacitive sensing, ESP32-C6 firmware, and separated mains switching



