

Hat rpizero tx
Repository to share of OCC related PCB.
- Size
- 39.7 × 22.7 mm
- Copper layers
- 4
- Thickness
- 1.61 mm
- Parts
- 49
- Nets
- 53
- Pads
- 174
- Tracks, vias
- 383, 29
- Pours
- 3
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 20 Sep 2024
- Updated
- 20 Oct 2026
Overview
Hat rpizero tx is an open-source printed circuit board by Idetic, from the Idetic/OCC_boards repository on GitHub. It is a 4-layer board of 39.7 × 22.7 mm with 49 parts on 53 nets, routed with 383 tracks and 29 vias.
It is built around the STM32L432KCU6, MCP6001T-I/OT(MS) and TLV75533PDBVR-MS, with the 2N2222AU, GT-USB-7010C and MK-11C04-G013 among its other parts. Its parts include 18 resistors, 13 capacitors, 4 ICs, 2 diodes and 2 switches. It belongs with the STM32, NXP (LPC, Kinetis, i.MX RT) and Raspberry Pi (Linux) boards of this library.
Main components
7STM32L432KCU6
UFQFPN-32(5x5)-40℃~+85℃ 1.71V~3.6V 12bit 12bit 256KB 26 32 Bit 64KB 80MHz ARM Cortex-M4 Built-in FLASH UFQFPN-32(5x5) Microcontrollers (MCU/MPU/SOC) ROHSSTMicroelectronicsMicrocontrollers (MCU/MPU/SOC)MCP6001T-I/OT(MS)
SOT-23-5-2.75V~-1.35V、1.35V~2.75V -25℃~+85℃ 1 1.2V/us 1.5MHz 1pA 2.1V~5.5V 28uA 2pA 500uV 650nV/℃ 95dB Built-in compensation、Zero drift / auto-zero Rail-to-Rail Input, Rail-to-Rail Output SOT-23-5 Operational Amplifier ROHSMSKSEMIOperational AmplifierTLV75533PDBVR-MS
SOT-23-5SOT-23-5 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSMSKSEMIUncategorised2N2222AU
SOT-89-55℃~+150℃ 1 NPN 10nA 1V 300 300MHz 40V 500mW 600mA 6V NPN SOT-89 Bipolar (BJT) ROHSCBIBipolar (BJT)GT-USB-7010C
SMD-40℃~+85℃ 1 1.68mm 10,000 Cycles 16P 24V 5A 7.35mm Black Female Surface Mount, Right Angle Type-C USB 2.0 SMD USB Connectors ROHSG-SwitchUSB ConnectorsMK-11C04-G013
SMD,5.5x0.7mm-20℃~+70℃ 0.7mm 10,000 Cycles 1A 3.8mm 5.5mm 6V Black J-Lead Rectangular Columnar SPDT Surface Mount, Right Angle SMD,5.5x0.7mm Slide Switches ROHSG-SwitchSlide SwitchesTS-1088-AR02016
SMD,4x3mm-30℃~+80℃ 1.6N 100,000 cycles 12V 2mm 3.9mm 3mm 50mA Black Round Button SMD(SMT) Tab SPST Surface Mount,Vertical Without Bracket SMD,4x3mm Tactile Switches ROHSXUNPUTactile Switches
README
Constant_Current_PCB/last_version/README.mdSTM32 Constant-Current LED Driver Board
A compact STM32-controlled LED driver with an adjustable linear current sink, high-side current sensing, USB-C, and expansion headers. The circuit can drive an external LED from a 5 V supply, with the current reference provided by the MCU's PA4 DAC output.
This document describes the checked-in KiCad schematic and PCB. Values are design values, not measured performance guarantees. Output current limits, modulation bandwidth, and thermal performance still require characterization.
Board specifications
| Parameter | Design specification |
|---|---|
| Project | hat_rpizero_tx |
| CAD version | PCB saved with KiCad 9.0 |
| PCB outline | 39.67 × 22.70 mm, rectangular, measured from Edge.Cuts |
| Configured PCB thickness | 1.6062 mm |
| Copper layers | Four: F.Cu, In1.Cu, In2.Cu, B.Cu |
| Dielectric | FR4 in the configured stackup |
| Configured copper thickness | Outer layers: 35 µm; inner layers: 15.2 µm |
| Supply rail | Nominal +5 V from USB-C or POWER2 |
| Logic rail | +3.3 V, generated by U4 (TLV75533PDBVR) |
| Microcontroller | U1: STM32L432KCU6, UFQFPN-32 with exposed pad |
| External crystal | X1: 32.768 kHz, specified component load capacitance 6 pF and tolerance 20 ppm |
| Crystal capacitors | C1, C2: 8 pF each |
| LED outputs | One external LED connection, LED1 |
| Current control | U2 MCP6001T-I/OT, Q1 2N2222AU, R5 and R7 trimmers |
| Current measurement | U3 INA199A1DCKR with R8 = 0.110 Ω high-side shunt |
| Interfaces | USB data, SWD, serial signal header, I²C, PA1–PA3, two DAC signals |
| Firmware | No firmware or flashing image included in this directory |
The project filename does not establish Raspberry Pi HAT compatibility. The current PCB has no 40-pin Raspberry Pi header.
Power
USB1 VBUS and POWER2 pin 1 connect directly to the same +5 V net. U4 generates +3.3 V for the MCU and logic headers; U2 and U3 use +5 V. USB-C CC1 and CC2 each have a 5.1 kΩ pull-down resistor (R9 and R10).
The design has no separate power-source selection or isolation between USB VBUS and POWER2. Use one supply source at a time unless the external power arrangement explicitly handles the shared rail. The files do not establish an approved input-voltage range or total current budget.
LED current driver
The LED current path is:
+5 V → R8 (0.110 Ω) → LED1 pin 1 → external LED
→ LED1 pin 2 → Q1 collector/emitter → R7 → GNDU2 compares the R5 wiper voltage with Q1's emitter voltage and drives Q1's base. R5 is a 10 kΩ trimmer between DAC1/PA4 and ground. R7 is a 100 Ω trimmer used as a variable emitter resistor; its third terminal is unconnected. R6 is a 10 kΩ resistor between Q1 base and emitter.
While the feedback loop is regulating, the approximate relationships are:
V_reference = α × V_DAC1 (0 ≤ α ≤ 1, set by R5)
I_emitter ≈ V_reference / R7_effective
I_LED ≈ I_emitter (neglecting base current and R6 current)
V_shunt = I_LED × 0.110 Ω
V_I_LED ≈ G_INA199A1 × V_shunt (within the amplifier's operating limits)These equations describe circuit operation, not a safe current range. R7 can approach zero resistance, so its marked 100 Ω value does not provide a fixed minimum current-limiting resistance. The usable current depends on trimmer settings, DAC voltage, LED forward voltage, transistor dissipation, component ratings, and available voltage headroom. The board does not include a switching boost stage.
U3 measures the voltage across R8. Its output is available at SW2 pin 4 (I_LED); the netlist does not connect this output directly to an MCU ADC input. Check the amplifier output range before connecting it to a 3.3 V input.
Connector pinouts
Pin numbers below follow the schematic symbols and PCB pad numbers. Use the footprint's pin-1 marker to determine physical orientation.
| Connector | Pin | Signal | Description |
|---|---|---|---|
| POWER2 | 1 | +5V | Supply input, shared with USB VBUS |
| POWER2 | 2 | GND | Supply return |
| LED1 | 1 | LED+ | LED anode supply, after R8 |
| LED1 | 2 | LED− / Collector | LED cathode connection to Q1 collector; not ground |
| DAC1 | 1 | DAC1 | MCU PA4; also feeds R5 |
| DAC1 | 2 | DAC2 | MCU PA5; this connector has no ground pin |
| I2C1 | 1 | +3.3V | Logic supply |
| I2C1 | 2 | GND | Ground |
| I2C1 | 3 | SDA | MCU PB7, 4.7 kΩ pull-up to +3.3 V |
| I2C1 | 4 | SCL | MCU PB6, 4.7 kΩ pull-up to +3.3 V |
| USART1 | 1 | +3.3V | Logic supply |
| USART1 | 2 | GND | Ground |
| USART1 | 3 | USART1_TX | MCU PA9 through R13 (100 Ω) |
| USART1 | 4 | USART1_RX | MCU PA8 through R14 (100 Ω); see review notes |
| SW2 | 1 | SWCLK | MCU PA14 through R3 (75 Ω) |
| SW2 | 2 | SWDIO | MCU PA13 through R4 (75 Ω) |
| SW2 | 3 | NRST | Isolated net in the current design; see review notes |
| SW2 | 4 | I_LED | U3 current-sense output |
| PA1 | 1 | +3.3V | Logic supply |
| PA1 | 2 | GND | Ground |
| PA1 | 3 | PA1 input | MCU PA1 through R15 (1 kΩ); C13 (100 nF) to ground at MCU side |
| PA2 | 1 | +3.3V | Logic supply |
| PA2 | 2 | GND | Ground |
| PA2 | 3 | PA2 | MCU PA2, 10 kΩ pull-up to +3.3 V |
| PA3 | 1 | +3.3V | Logic supply |
| PA3 | 2 | GND | Ground |
| PA3 | 3 | PA3 | MCU PA3, 10 kΩ pull-down to ground |
The pin headers use 2.54 mm pitch. POWER2 and LED1 use two-position terminal-block footprints with 2.54 mm pitch.
USB1 routes D− to MCU PA11 and D+ to PA12. USB functionality depends on firmware. The serial header exposes logic signals; no RS-232 or RS-485 transceiver is present.
Boot, reset, and programming
- SW1 selects the BOOT0 connection between +3.3 V and ground through R18 (10 kΩ). R1 adds a permanent 10 kΩ pull-down on BOOT0.
- SW3 pulls the MCU NRST pin to ground. R2 (10 kΩ) pulls that pin up to +3.3 V, and C9 (100 nF) connects it to ground.
- SW2 provides SWCLK and SWDIO through 75 Ω series resistors. It provides neither a ground pin nor a +3.3 V reference pin; obtain those from another header when connecting a debugger.
- Firmware must configure the DAC and peripherals before their intended behavior can be specified. No default LED current, USB protocol, serial baud rate, or modulation waveform is defined by these hardware files.
Design review notes
The following observations are present in both the exported schematic netlist and PCB pad-net assignments:
| Item | Observation and implication |
|---|---|
| SW2 reset | SW2 pin 3 is on /NRST, while MCU pin 4, SW3, R2, and C9 are on Net-(U1-NRST). SW2 pin 3 therefore does not provide MCU reset in the current design. |
| Serial RX | The USART1_RX net connects to PA8, and PA10 is unconnected. Verify the MCU alternate-function mapping and intended firmware before relying on this as a hardware USART receive interface. |
| MCU exposed pad | U1 pad 33 is assigned an unconnected net. Confirm the package's exposed-pad connection requirements before fabrication. |
| Current readback | I_LED is exposed on SW2 pin 4 without a direct MCU ADC connection. |
These are connectivity observations, not a complete electrical-rule, routing, or manufacturability review.
Initial setup and characterization
- Review the connector orientation, LED polarity, and design notes above.
- With power disconnected, set R5 toward its ground end and set R7 to a high effective resistance. Verify the settings with a meter.
- Connect the external LED to LED1 and apply a current-limited nominal 5 V supply through one power input.
- Verify +5 V and +3.3 V, then program the MCU using SWD with a shared ground and suitable voltage reference from another header.
- Start with a low DAC1 reference. Measure LED current externally while adjusting the reference and trimmers; monitor transistor and trimmer temperature.
- Record the usable current range, thermal limits, and current-sense calibration before operating at the intended load or modulation rate.
Project files and manufacturing
| Path | Contents |
|---|---|
| hat_rpizero_tx.kicad_pro | KiCad project settings |
| hat_rpizero_tx.kicad_sch | Top-level schematic, power and connectors |
| STM32.kicad_sch | MCU, crystal, boot and reset circuitry |
| Driver_LED.kicad_sch | LED current driver and sensing circuitry |
| hat_rpizero_tx.kicad_pcb | PCB layout and stackup |
sym-lib-table, fp-lib-table | Symbol and footprint library configuration |
models/, models.pretty/, models.3dshapes/ | Local component resources |
| jlcpcb/ | Fabrication and assembly exports |
| jlcpcb/production_files/BOM-hat_rpizero_tx.csv | BOM with values, designators, footprints and LCSC codes |
| jlcpcb/production_files/CPL-hat_rpizero_tx.csv | Component placement export |
jlcpcb_old/, jlcpcb_viaje_turin_03-03-26/ | Earlier manufacturing export sets |
hat_rpizero_tx-backups/ | KiCad project backups |
Open the .kicad_pro file in KiCad 9 or a compatible later version. Resolve any library paths needed on the local machine. Regenerate fabrication and assembly exports from the reviewed PCB before ordering: existing exports are snapshots and are not established here as matching the latest layout. The configured stackup is a CAD setting; confirm the actual fabrication stackup with the manufacturer.
Specifications still to establish
| Specification | Status |
|---|---|
| Approved input-voltage range and maximum supply current | Not characterized |
| Minimum and maximum regulated LED current | Not characterized |
| Supported LED forward-voltage range | Not characterized |
| Current accuracy, ripple and calibration | Not characterized |
| Continuous power and thermal limits | Not characterized |
| Modulation bandwidth and optical data rate | Not characterized |
| Operating and storage temperature ranges | Not established |
| Firmware repository, build and flashing instructions | Not supplied |
| Hardware revision and matching manufacturing release | Not identified |
| License | No license file supplied |
Parts
49| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | 100nF | GRM155R71H104KE14D:C0402 | C3, C4, C7, C9 |
| 4 | 10k | Resistor_SMD:R_0402_1005Metric | R6, R16, R17, R18 |
| 3 | Conn_01x03 | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | PA1, PA2, PA3 |
| 3 | Conn_01x04 | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | I2C1, SW2, USART1 |
| 2 | 100 | Resistor_SMD:R_0402_1005Metric | R13, R14 |
| 2 | 10k | RC0402FR-0710KL:R0402 | R1, R2 |
| 2 | 10uF | CL05A106MP5NUNC:C0402 | C5, C6 |
| 2 | 1u | Capacitor_SMD:C_0603_1608Metric | C11, C12 |
| 2 | 4.7k | Resistor_SMD:R_0402_1005Metric | R11, R12 |
| 2 | 5.1k | Resistor_SMD:R_0402_1005Metric | R9, R10 |
| 2 | 75 | Resistor_SMD:R_0402_1005Metric | R3, R4 |
| 2 | 8pF | Capacitor_SMD:C_0402_1005Metric | C1, C2 |
| 2 | Conn_01x02 | DB125:CONN-TH_DB125-2.54-2P-GN | LED1, POWER2 |
| 1 | 0.1uF | Capacitor_SMD:C_0402_1005Metric | C10 |
| 1 | 100n | Capacitor_SMD:C_0402_1005Metric | C13 |
| 1 | 110m | 1206W4F330LT5E:R1206 | R8 |
| 1 | 1k | Resistor_SMD:R_0402_1005Metric | R15 |
| 1 | 1uF | CL05A105KP5NNNC:C0402 | C8 |
| 1 | 2N2222AU | 2N2222AU:SOT-89-3_L4.5-W2.4-P1.50-LS4.0-BR | Q1 |
| 1 | 3296W-1-101_C48997939 | 3296W-1-101LF:RES-ADJ-TH_3296W | R7 |
| 1 | 3296W-1-103_C48997937 | 3296W-1-103:RES-ADJ-TH_3296W | R5 |
| 1 | Conn_01x02 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | DAC1 |
| 1 | GT-USB-7010C | easyeda2kicad:USB-C-SMD_GT-USB-7010C | USB1 |
| 1 | INA199A1DCKR | INA199A1DCKR:SC-70-6_L2.2-W1.3-P0.65-LS2.1-BR | U3 |
| 1 | MC-306 32.768kHz 6.0pF 20ppm | Q13MC30620006:MC-306_4P-L8.0-W3.2-P5.5-BL | X1 |
| 1 | MCP6001T-I/OT | MCP6001T-I:SOT-23-5_L3.0-W1.7-P0.95-LS2.8-BR | U2 |
| 1 | MK-11C04-G013 | MK-11C04-G013:SW-SMD_MK-11C04-G013 | SW1 |
| 1 | STM32L432KCU6 | models:UFQFPN-32_L5.0-W5.0-P0.50-TL-EP3.5 | U1 |
| 1 | TLV75533PDBVR | TLV75533PDBVR:SOT-23-5_L3.0-W1.7-P0.95-LS2.8-BR | U4 |
| 1 | TS-1088-AR02016 | TS-1088-AR02016:SW-SMD_L3.9-W3.0-P4.45 | SW3 |
More from Idetic/OCC_boards
1- 2 layers39 × 24.5 mm

Similar boards
- 2 layers62.7 × 76.4 mm

- 4 layers150 × 137.1 mm

Controller
CircuitGuy943/Sabre-Integrated-flight-controller
(🚧) A "Jack of all trades" custom flight controller board. With support for both power and control and the ability for custom firmware
282 parts2GPL-3.0 - 4 layers2 × 24.9 mm

- 4 layers34 × 48 mm

- 6 layers54.6 × 57.1 mm

CM5 MINIMA 2
piecol/CM5_MINIMA_REV2
Compact, feature-filled CM5 carrier board
102 parts170CERN-OHL-S-2.0 - 2 layers85.6 × 88.9 mm

OM Landroid MB
rich21044/Openmower-for-Landroid-WR141E
Taking the hardware developed as part of ClemensElfleins work on Openmower and adapting it to fit a 2019 Landroid WR141E.
126 parts8GPL-3.0 - 2 layers45 × 15 mm

Ez uart adapter
easybe/ez-uart-adapter
An USB-UART adapter that can power-cycle your board
23 partsCERN-OHL-W-2.0 - 6 layers59.5 × 62.7 mm

CM5 MINIMA 3
KiCad/kicad-source-mirror
This is an active mirror of the KiCad development branch, which is hosted at GitLab (updated every time something is pushed). Pull requests on GitHub are not accepted or watched.
112 parts3.1kGPL-3.0
Questions
How big is the Hat rpizero tx PCB?
It measures 39.7 × 22.7 mm and has 4 copper layers, 1.61 mm thick.
What parts does the Hat rpizero tx use?
49 parts, built around the STM32L432KCU6, MCP6001T-I/OT(MS), TLV75533PDBVR-MS and 2N2222AU. 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 Hat rpizero tx KiCad files?
From the Idetic/OCC_boards repository on GitHub, at the commit this page was made from: the board is Constant_Current_PCB/last_version/hat_rpizero_tx.kicad_pcb and its schematic Constant_Current_PCB/circuit/signal_conditioning.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Hat rpizero tx design in my own project?
Its repository states no licence, so its author keeps all rights: ask Idetic before reusing the design.