
Qfn28-breakout
tehrengruber/12-channel-pwm-fan-controller-esp8266
12-channel pwm fan controller board using esp8266

EDA work for the Gemini bringup vehicle
Gemini bringup is an open-source printed circuit board by oxidecomputer, from the oxidecomputer/gemini-bringup repository on GitHub, published under the MPL-2.0 licence. It is a 4-layer board of 187.2 × 112 mm with 283 parts on 301 nets, routed with 6,972 tracks and 506 vias.
It is built around the MAX13235EETP+, LTC4306CGN#PBF and MAX31790ATI+, with the TCA9802DGK, EMIF06-MSD02N16 and KSZ8863RLL among its other parts. Its parts include 105 resistors, 89 capacitors, 29 connectors, 13 ICs and 8 diodes.
This repository contains the electronic design files for the Gemini Bringup board. This board contains some of the moving parts of the final Gemini system, but laid out in a way that is easier to probe and test.
This is a KiCad project; you will need KiCad (preferably 5.1.2) to participate. Additionally, you will need the symbol and footprint libraries in the submodules; you can obtain these by doing either of:
`$ git clone --recursive`when your first clone this repository, or
`$ git submodule update --init`after cloning or syncing up. If you leave out this step, KiCad will complain loudly about missing symbols and/or footprints and attemot to "rescue" them, which will create spurious changes to your copy of the repo and prevent subsequent pull/rebase/merge/push operations from working as desired.
The following items are included with the initial kit; if you are building one of these later you will need to acquire them on your own.
You will need to separately acquire the following to be able to program all the micros:
A SWD tool that can program the STM32H7.
A USB-to-TTL-serial adapter, ideally one ending in loose Dupont wires so it doesn't have a fixed pinout. You will use this for flashing the LPC55 on the RoT carrier, at least the first time. If you don't already have one, we have 10 of them we can distribute. IMPORTANT: This is only for flashing the LPC55; do NOT attach it to the baseboard UART header marked "SERIAL TO HOST". The host header uses RS-232 signalling, which may damage your TTL adapter and will not work properly with it in any event.
Depending on your development goals you may also need:
A SWD tool that can program the LPC55S. The answer here is much less clear and you can skip it for now if you're mostly doing SP work.
A logic analyzer is never a bad idea if you're doing driver development. We like the Saleae Logic.
Handle the board by its edges if possible.
This board is not well-defended against static discharge. Please try not to zap the exposed pins. For best results, use the board in a static-safe workspace, ideally elevated on standoffs in the corner holes (which we forgot to include in your kit, sorry). It will work OK on a non-staticky desk surface, too, as long as you bring yourself and the board to a similar electrical potential before touching exposed metal bits. Touching the Ethernet plug jacks is an OK place to ground, they are somewhat better isolated than the rest of the exposed pins.
If you have a pre-validated board, it should already have firmware on it. To check that things still kinda work:
Unpack the base board and the RoT carrier board from their antistatic bags, handling carefully.
Attach the RoT to the base board, if you want to test the RoT. It goes in the northwest corner of the base board, only fits one way, and makes a satisfying click when it is fully seated.
Plug in the included power supply. (The connector is at the northeast corner.)
You should get two blinking lights, one directly northwest of the big central ARM chip (the SP) and one just south of the RoT carrier board.
To build and program your own firmware, you will need to have followed the toolchain setup instructions in the Hubris repo. We don't yet have a dedicated firmware image for the RoT, and have been running hacked versions of a demo app on it, so instead, here are instructions for building and flashing the SP.
Disconnect power before plugging/unplugging anything.
Plug in the skinny 10-pin ribbon cable from your STLink V3 to connector J301, which is to the northeast of the SP and is labeled "BRICK SP" because that's what you can do with it. (Some STLink's have a 14-pin STDC14 ribbon cable. That works here, too.)
Plug the other end into your STLink V3.
Make sure SW302 (a switch on the top edge of the board) is in the position labelled "OUR SP CODE"
Reconnect power to the board.
In the Hubris repository, run: cargo xtask flash gemini-bu/app.toml
Relax. On a first build this may take several minutes.
A successful build-and-flash will end in something that looks like an error
message (sorry). Scan up a few lines for the phrase ** Verified OK**. If
that appears, you're good, and the lights should be blinking by the SP.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 63 | 0.1uF | Capacitor_SMD:C_0603_1608Metric | C101, C102, C103, C104, C105, C106, C1001, C1002, C1101, C1102, C1201, C1202, C1301, C1302, C1401, C1402 +47 |
| 29 | 22R | Resistor_SMD:R_0603_1608Metric | R305, R306, R307, R311, R312, R313, R314, R315, R321, R322, R324, R325, R1001, R1403, R1404, R1405 +13 |
| 28 | 3.3kR | Resistor_SMD:R_0603_1608Metric | R101, R102, R103, R104, R105, R501, R502, R503, R702, R703, R1101, R1102, R1201, R1202, R1301, R1302 +12 |
| 11 | 10kR | Resistor_SMD:R_0603_1608Metric | R308, R309, R405, R406, R423, R801, R1103, R1203, R1303, R1401, R1402 |
| 9 | M3 | MountingHole:MountingHole_3.2mm_M3 | H101, H102, H103, H104, H105, H107, H108, H109, H110 |
| 8 | 49.9R 1% | Resistor_SMD:R_0603_1608Metric | R411, R412, R413, R414, R415, R416, R417, R418 |
| 8 | 68R | Resistor_SMD:R_0603_1608Metric | R202, R203, R301, R302, R419, R420, R421, R422 |
| 7 | 0R | Resistor_SMD:R_0603_1608Metric | R310, R339, R409, R601, R602, R605, R606 |
| 7 | SMBUS | molex-sl:SL_1x06_Vertical_SMD | J501, J502, J503, J504, J1101, J1201, J1301 |
| 5 | 100kR | Resistor_SMD:R_0603_1608Metric | R212, R317, R318, R319, R320 |
| 5 | 22uF | Capacitor_SMD:C_1210_3225Metric | C404, C406, C408, C416, C605 |
| 4 | 1uF | Capacitor_SMD:C_0805_2012Metric | C326, C332, C701, C702 |
| 4 | 3.3kR | Resistor_SMD:R_Array_Convex_4x0603 | RN501, RN502, RN503, RN504 |
| 3 | 10uF | Capacitor_SMD:C_1206_3216Metric | C401, C418, C419 |
| 3 | 33R @ 100MHz | Inductor_SMD:L_0603_1608Metric | FB301, FB401, FB402 |
| 3 | TCA9802 | Package_SO:VSSOP-8_3.0x3.0mm_P0.65mm | U1101, U1201, U1301 |
| 2 | 1000pF 2kV | Capacitor_SMD:C_1206_3216Metric | C420, C421 |
| 2 | 11pF | Capacitor_SMD:C_0603_1608Metric | C319, C327 |
| 2 | 1N4148 | Diode_SMD:D_SOD-323 | D305, D401 |
| 2 | 2.2uF | Capacitor_SMD:C_0603_1608Metric | C302, C303 |
| 2 | 20pF | Capacitor_SMD:C_0603_1608Metric | C320, C323 |
| 2 | 30pF | Capacitor_SMD:C_0603_1608Metric | C410, C411 |
| 2 | 4.7kR | Resistor_SMD:R_0603_1608Metric | R407, R408 |
| 2 | Amber | LED_SMD:LED_0603_1608Metric_Castellated | D202, D302 |
| 2 | Conn_ARM_JTAG_SWD_10 | Connector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_Vertical_SMD | J202, J301 |
| 2 | DNP | Capacitor_SMD:C_0603_1608Metric | C601, C602 |
| 2 | INA219AxDCN | Package_TO_SOT_SMD:SOT-23-8 | U602, U603 |
| 2 | RJ45_Würth_74980111211 | magjack:Würth_100BT_Magjack | J401, J402 |
| 2 | Red | LED_SMD:LED_0603_1608Metric_Castellated | D201, D301 |
| 2 | TXB0106PWR | Package_SO:TSSOP-16_4.4x5mm_P0.65mm | U801, U1401 |
| 1 | +12V | TestPoint:TestPoint_Pad_D1.0mm | TP101 |
| 1 | +3.3V | TestPoint:TestPoint_Pad_D1.0mm | TP103 |
| 1 | 10R | Resistor_SMD:R_0603_1608Metric | R303 |
| 1 | 11.8kR 1% | Resistor_SMD:R_0603_1608Metric | R410 |
| 1 | 1MR | Resistor_SMD:R_0603_1608Metric | R316 |
| 1 | 200k | Resistor_SMD:R_0603_1608Metric | R701 |
| 1 | 20mR 1% | passives:R_Shunt_Ohmite_LVK12_CW_Pinout | R603 |
| 1 | 22uF | Capacitor_Tantalum_SMD:CP_EIA-7343-31_Kemet-D | C606 |
| 1 | 25MHz ±50ppm | Crystal:Crystal_SMD_5032-2Pin_5.0x3.2mm | Y401 |
| 1 | 2A | Fuse:Fuse_1812_4532Metric | F601 |
| 1 | 32.768kHz | Crystal:Crystal_SMD_3215-2Pin_3.2x1.5mm | Y302 |
| 1 | 4.7uF | Capacitor_SMD:C_0805_2012Metric | C304 |
| 1 | 47mR 1% | passives:R_Shunt_Ohmite_LVK12_CW_Pinout | R604 |
| 1 | 5.6R | Resistor_SMD:R_0603_1608Metric | R304 |
| 1 | 8 MHz | Crystal:Crystal_SMD_5032-2Pin_5.0x3.2mm | Y301 |
| 1 | 913-00001 | grumpy:Oxide_Board_Identifier_33x7mm | H112 |
| 1 | AUX_HDR_G | Connector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_Vertical_SMD | J304 |
| 1 | BATT | Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm | JP301 |
| 1 | BOOT0 | Button_Switch_SMD:SW_SPDT_CK-JS102011SAQN | SW302 |
| 1 | Barrel_Jack | Connector_BarrelJack:BarrelJack_CUI_PJ-036AH-SMT_Horizontal | J601 |
| 1 | Blue | LED_SMD:LED_0603_1608Metric_Castellated | D304 |
| 1 | CR1220 | Battery:BatteryHolder_Keystone_3000_1x12mm | BT301 |
| 1 | Conn_01x04 | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical_SMD_Pin1Left | J201 |
| 1 | Conn_01x10 | Connector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_Vertical_SMD_Pin1Right | J204 |
| 1 | Conn_2Rows-51Pins | hirose-df9:Hirose_DF9-51P-1V(69)_2Rows_51Pin-2MP_P1.0mm_Vertical | J203 |
| 1 | EMIF06-MSD02N16 | micro-qfn16-narrow:DFN-16-1EP_1.2x3.5mm_P0.4mm_EP0.3x2.8mm | U901 |
| 1 | EXPANSION | Connector_PinSocket_2.00mm:PinSocket_2x24_P2.00mm_Vertical_SMD | J1001 |
| 1 | FAN1 | molex-sl:SL_1x05_Vertical_SMD | J706 |
| 1 | FAN2 | molex-sl:SL_1x05_Vertical_SMD | J705 |
| 1 | FAN3 | molex-sl:SL_1x05_Vertical_SMD | J704 |
| 1 | FAN4 | molex-sl:SL_1x05_Vertical_SMD | J703 |
| 1 | FAN5 | molex-sl:SL_1x05_Vertical_SMD | J702 |
| 1 | FAN5V | TestPoint:TestPoint_Pad_D1.0mm | TP701 |
| 1 | FAN6 | molex-sl:SL_1x05_Vertical_SMD | J701 |
| 1 | GND | TestPoint:TestPoint_Pad_1.0x1.0mm | TP104 |
| 1 | GRAPHIC PLACEHOLDER | grumpy:grumpy | H106 |
| 1 | GRAPHIC PLACEHOLDER | grumpy:newt_of_trust | H111 |
| 1 | Green | LED_SMD:LED_0603_1608Metric_Castellated | D303 |
| 1 | HOST_UART | idc-smd:IDC-Header_02x05_2.54mm_Vertical_SMD | J302 |
| 1 | I2CGPIO0 | Connector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_Vertical_SMD | J1502 |
| 1 | I2CGPIO1 | Connector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_Vertical_SMD | J1501 |
| 1 | IDC | idc-smd:IDC-Header_02x08_2.54mm_Vertical_SMD | J801 |
| 1 | IDC_BOX_HDR | idc-smd:IDC-Header_02x04_2.54mm_Vertical_SMD | J1401 |
| 1 | KSZ8863RLL | Package_QFP:LQFP-48_7x7mm_P0.5mm | U401 |
| 1 | LTC4306CGN | Package_SO:SSOP-24_3.9x8.7mm_P0.635mm | U501 |
| 1 | MAX13235EET | Package_DFN_QFN:TQFN-20-1EP_5x5mm_P0.65mm_EP3.25x3.25mm | U302 |
| 1 | MAX31790 | tqfn28:TQFN-28_1EP_4x4mm_P0.4mm_EP2.7x2.7mm | U701 |
| 1 | MCP1703A-5002_SOT89 | Package_TO_SOT_SMD:SOT-89-3 | U702 |
| 1 | Micro_SD_Card | Connector_Card:microSD_HC_Wuerth_693072010801 | J901 |
| 1 | NOBATT | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP302 |
The 275 most common of 283 parts.
It measures 187.2 × 112 mm and has 4 copper layers, 1.6 mm thick.
283 parts, built around the MAX13235EETP+, LTC4306CGN#PBF, MAX31790ATI+ and TCA9802DGK. 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 oxidecomputer/gemini-bringup repository on GitHub, at the commit this page was made from: the board is gemini-bringup/gemini-bringup.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MPL-2.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).

tehrengruber/12-channel-pwm-fan-controller-esp8266
12-channel pwm fan controller board using esp8266


lindamao-waterloop/waterloop_electrical
Version control for the Waterloop Electrical Team


KhanKudo/diplomprojekt
HTL tgm Diplomprojekt RTLS (IOO), Gruppe Foldlabs, Jahrgang 2023/24


stanleyondrus/ILDAWaveX16
ILDAWaveX16 is an open-source, high-resolution, wireless laser DAC with SD-card playback, network control, and ILDA output.
