Chat

Welcome to Flux

Treat Flux like your intern. Tell it what you'd like to build and it'll get to work. You can also ask it questions, brainstorm ideas, and teach it your preferences. Learn More

Explain project
Write a project description
Find schematic issues
Create a test plan
Simulate a circuit
Prepare for Manufacturing
Component Selection Workflow
New Subsystem Wizard
Write I2C initialization code
Generate firmware skeleton
U3B
U3A
J1
U2
U1
Manufacturer Part Number
ESP32-S3-WROOM-1-N16R8
U_C6
Q_BEEP G - R_BEEP P2
F1 P2 - U4 IN
U1 IO10 - U_C6 IO7
U1 IO19 - J1 DN1
U1 IO18 - U10 SDI
R21 P2 - U13 T-
U1 IO41 - U13 ~CS
L_3V3 P2 - U8 FB
TOUCH_INT
U31 OSCI - Y1 P1
R20 P2 - U13 T+
U1 IO0 - SW1 1
U10 AGND - U11 AGND
U1 IO7 - R23 P1
U13 DVDD - C20 P1
U3A VOUT - U3B VOUT
U10 AGND - U11 AGND
L_3V3 P2 - U8 FB
U1 IO18 - U10 SDI
J6 2 - R19 P1
C17 P2 - U4 SW
U10 AGND - U11 AGND
U1 IO21 - U10 SDO
J1 CC1 - R5 P1
U1 IO17 - U10 SCK
U30 P6 - J_FP 7
U30 P1 - J_FP 2
U10 AGND - U11 AGND
L_3V3 P2 - U8 FB
J7 1 - R20 P1
J4 1 - R_TC_IN P1
J6 2 - R19 P1
U1 IO38 - U10 ~CS
L_3V3 P2 - U8 FB
L_3V3 P2 - U8 FB
U7 VSYS - U3B VIN
U4 VCC - C11 P1
L_3V3 P2 - U8 FB
U1 IO1 - J_MEZZ 1
U1 IO5 - J_MEZZ 5
U31 OSCO - Y1 P2
U1 IO41 - U13 ~CS
U8 VIN - U7 VBUS
U35 R - U1 RXD0
U4 VCC - C11 P1
U30 P7 - J_FP 8
U10 DVDD - U11 AVDD
U1 IO8 - R24 P1
U3A VOUT - U3B VOUT
R_TC_IN P2 - U10 T+
U1 IO2 - J_MEZZ 2
U8 SW - L_3V3 P1
C17 P2 - U4 SW
R20 P2 - U13 T+
R16 P2 - U11 T+
L_3V3 P2 - U8 FB
U1 IO2 - J_MEZZ 2
U1 IO42 - U10 ~FAULT
R17 P2 - U11 T-
L_3V3 P2 - U8 FB
L_3V3 P2 - U8 FB
L_3V3 P2 - U8 FB
J7 1 - R20 P1
L_3V3 P2 - U8 FB
U1 IO20 - J1 DP1
U30 P7 - J_FP 8
J1 CC2 - R6 P1
U1 IO18 - U10 SDI
R19 P2 - U12 T-
U35 CANL - L_CAN 2
U8 VIN - U7 VBUS
L_3V3 P2 - U8 FB
U1 IO7 - R23 P1
F1 P2 - U4 IN
Q_BEEP G - R_BEEP P2
U1 IO47 - J2 1
U1 IO18 - U10 SDI
U1 IO8 - R24 P1
U35 Rs - R14 P1
L_3V3 P2 - U8 FB
L_3V3 P2 - U8 FB
J4 1 - R_TC_IN P1
L_3V3 P2 - U8 FB
J4 2 - R15 P1
U1 EN - R1 P1
Q1 G - U20 P00
U31 OSCO - Y1 P2
Q1 D - J9 Pin_1
L_CAN 3 - J8 Pin_1
U30 P3 - J_FP 4
U1 IO15 - U_C6 EN
U10 AGND - U11 AGND
R18 P2 - U12 T+
U1 IO5 - J_MEZZ 5
F1 P2 - U4 IN
U10 AGND - U11 AGND
R20 P2 - U13 T+
L_CAN 4 - J8 Pin_2
U31 OSCI - Y1 P1
U1 IO20 - J1 DP1
U1 IO8 - R24 P1
U35 CANH - L_CAN 1
Q1 G - U20 P00
Q_BEEP G - R_BEEP P2
U30 P5 - J_FP 6
R_TC_IN P2 - U10 T+
U1 IO16 - R_BEEP P1
J4 2 - R15 P1
R18 P2 - U12 T+
J5 2 - R17 P1
U10 AGND - U11 AGND
U1 IO8 - R24 P1
U10 AGND - U11 AGND
U30 P2 - J_FP 3
L_CAN 3 - J8 Pin_1
U35 D - U1 TXD0
U1 IO39 - U11 ~CS
L_CAN 4 - J8 Pin_2
U8 VIN - U7 VBUS
Q2 G - U20 P01
U30 P1 - J_FP 2
L_CAN 4 - J8 Pin_2
U8 SW - L_3V3 P1
U1 IO47 - J2 1
Q_BEEP D - BZ1 ~
U8 SW - L_3V3 P1
U8 VIN - U7 VBUS
L_3V3 P2 - U8 FB
J6 2 - R19 P1
L_3V3 P2 - U8 FB
U12 DVDD - U13 AVDD
U1 IO7 - R23 P1
Q2 D - J9 Pin_2
U1 IO42 - U10 ~FAULT
U10 AGND - U11 AGND
R_TC_IN P2 - U10 T+
U1 IO11 - U_C6 IO2
L_3V3 P2 - U8 FB
U8 EN - U3A ~{CE}
U1 IO1 - J_MEZZ 1
U1 IO17 - U10 SCK
U1 IO41 - U13 ~CS
U4 BST - C17 P1
Q2 G - U20 P01
R19 P2 - U12 T-
L_3V3 P2 - U8 FB
U8 VIN - U7 VBUS
U10 AGND - U11 AGND
Q_REV D - D2 K
U1 IO12 - J_MEZZ 6
L_3V3 P2 - U8 FB
U1 IO12 - J_MEZZ 6
U13 DVDD - C20 P1
R17 P2 - U11 T-
J6 1 - R18 P1
U1 IO42 - U10 ~FAULT
L_3V3 P2 - U8 FB
U1 IO6 - J_MEZZ 7
U1 IO14 - U_C6 IO4
F1 P2 - U4 IN
Q1 D - J9 Pin_1
U10 AGND - U11 AGND
U10 AGND - U11 AGND
J7 2 - R21 P1
R15 P2 - U10 T-
U10 AGND - U11 AGND
R18 P2 - U12 T+
U1 IO13 - U_C6 IO3
U4 BST - C17 P1
J1 CC2 - R6 P1
J6 1 - R18 P1
J5 1 - R16 P1
U10 DVDD - U11 AVDD
L_3V3 P2 - U8 FB
U10 AGND - U11 AGND
J6 1 - R18 P1
L_3V3 P2 - U8 FB
R15 P2 - U10 T-
U35 R - U1 RXD0
R16 P2 - U11 T+
L_3V3 P2 - U8 FB
J5 2 - R17 P1
J4 1 - R_TC_IN P1
U1 IO21 - U10 SDO
U1 IO0 - SW1 1
U1 IO7 - R23 P1
L_3V3 P2 - U8 FB
U1 IO8 - R24 P1
U11 DVDD - U12 AVDD
U35 CANH - L_CAN 1
J4 2 - R15 P1
U1 IO6 - J_MEZZ 7
U10 DVDD - U11 AVDD
U1 IO38 - U10 ~CS
U1 IO17 - U10 SCK
U1 IO15 - U_C6 EN
U1 IO0 - SW1 1
U1 IO7 - R23 P1
Q2 D - J9 Pin_2
U10 AGND - U11 AGND
U1 IO39 - U11 ~CS
U1 IO10 - U_C6 IO7
U8 VIN - U7 VBUS
U1 IO17 - U10 SCK
U30 P4 - J_FP 5
R19 P2 - U12 T-
U35 D - U1 TXD0
U1 IO9 - U_C6 IO6
U35 Rs - R14 P1
J10 Pin_1 - Q_REV S
L_3V3 P2 - U8 FB
L_3V3 P2 - U8 FB
U10 AGND - U11 AGND
U30 P6 - J_FP 7
U1 IO18 - U10 SDI
U1 IO7 - R23 P1
R4 P1 - U_C6 IO0
J5 1 - R16 P1
U8 EN - U3A ~{CE}
C17 P2 - U4 SW
U10 AGND - U11 AGND
U10 AGND - U11 AGND
U10 AGND - U11 AGND
U1 IO9 - U_C6 IO6
L_CAN 3 - J8 Pin_1
R16 P2 - U11 T+
U10 AGND - U11 AGND
U1 IO8 - R24 P1
U1 IO21 - U10 SDO
U1 IO40 - U12 ~CS
U1 IO7 - R23 P1
U1 EN - R1 P1
Q_REV D - D2 K
U1 IO4 - J_MEZZ 4
U10 AGND - U11 AGND
U3A VOUT - U3B VOUT
L_3V3 P2 - U8 FB
U1 IO19 - J1 DN1
U11 DVDD - U12 AVDD
R21 P2 - U13 T-
U30 P3 - J_FP 4
U10 AGND - U11 AGND
U1 EN - R1 P1
U1 IO42 - U10 ~FAULT
U30 P5 - J_FP 6
U1 IO21 - U10 SDO
U1 IO19 - J1 DN1
R_TC_IN P2 - U10 T+
F1 P2 - U4 IN
U1 IO7 - R23 P1
R21 P2 - U13 T-
Q_REV D - D2 K
J10 Pin_1 - Q_REV S
U1 EN - R1 P1
U13 DVDD - C20 P1
J7 2 - R21 P1
U1 IO42 - U10 ~FAULT
U1 IO40 - U12 ~CS
U1 IO16 - R_BEEP P1
U1 IO0 - SW1 1
L_3V3 P2 - U8 FB
U1 IO3 - J_MEZZ 3
L_3V3 P2 - U8 FB
U1 IO13 - U_C6 IO3
L_3V3 P2 - U8 FB
U1 IO42 - U10 ~FAULT
U10 AGND - U11 AGND
U7 VSYS - U3B VIN
U30 P2 - J_FP 3
U1 IO8 - R24 P1
U1 IO40 - U12 ~CS
R4 P1 - U_C6 IO0
U13 DVDD - C20 P1
L_3V3 P2 - U8 FB
L_3V3 P2 - U8 FB
U1 IO8 - R24 P1
L_CAN 3 - J8 Pin_1
U1 IO39 - U11 ~CS
U31 OSCO - Y1 P2
J5 1 - R16 P1
U1 IO7 - R23 P1
L_3V3 P2 - U8 FB
U13 DVDD - C20 P1
U31 OSCI - Y1 P1
U1 IO4 - J_MEZZ 4
U1 IO8 - R24 P1
L_CAN 4 - J8 Pin_2
TOUCH_RST
J7 1 - R20 P1
U1 IO20 - J1 DP1
U1 IO3 - J_MEZZ 3
U30 P0 - J_FP 1
U1 IO14 - U_C6 IO4
U12 DVDD - U13 AVDD
U10 AGND - U11 AGND
J7 2 - R21 P1
L_3V3 P2 - U8 FB
U1 IO21 - U10 SDO
Q_BEEP D - BZ1 ~
U30 P4 - J_FP 5
U1 IO7 - R23 P1
U1 IO8 - R24 P1
U1 IO11 - U_C6 IO2
U30 P0 - J_FP 1
U8 VIN - U7 VBUS
J5 2 - R17 P1
U8 EN - U3A ~{CE}
R15 P2 - U10 T-
U35 CANL - L_CAN 2
J1 CC1 - R5 P1
L_3V3 P2 - U8 FB
R17 P2 - U11 T-
U1 IO17 - U10 SCK
U1 IO38 - U10 ~CS
U1 GND_10 - U1 GND_11
GND
U3A GND - U3B GND
U1 GND_10 - U1 GND_11
J10 Pin_2 - Q_REV G
U35 GND - C8 P2
U20 A2 - U30 A0
U35 GND - C8 P2
J_MEZZ 14 - J_MEZZ 15
GND
J10 Pin_2 - Q_REV G
GND
U1 GND_10 - U1 GND_11
Qd S - R_BEEP_PD P2
U35 GND - C8 P2
U1 GND_10 - U1 GND_11
R5 P2 - R6 P2
U1 GND_1 - U1 GND_2
U1 GND_10 - U1 GND_11
U1 GND_3 - U1 GND_4
Qd S - R_BEEP_PD P2
J10 Pin_2 - Q_REV G
J10 Pin_2 - Q_REV G
Q_BEEP S - R_BEEP_PD P2
Q_BEEP S - R_BEEP_PD P2
J10 Pin_2 - Q_REV G
R5 P2 - R6 P2
U20 A2 - U30 A0
U3A GND - U3B GND
Q_BEEP S - R_BEEP_PD P2
J_MEZZ 14 - J_MEZZ 15
U1 GND_7 - U1 GND_8
R5 P2 - R6 P2
U3A GND - U3B GND
U1 GND_1 - U1 GND_2
U1 GND_7 - U1 GND_8
J10 Pin_2 - Q_REV G
J10 Pin_2 - Q_REV G
GND
U35 GND - C8 P2
C_RTC1 P2 - C_RTC2 P2
U_C6 GND_2__14 - C7 P2
GND
U1 GND_10 - U1 GND_11
R5 P2 - R6 P2
R5 P2 - R6 P2
R5 P2 - R6 P2
R5 P2 - R6 P2
C_RTC1 P2 - C_RTC2 P2
U30 A2 - U40 WP
Q_BEEP S - R_BEEP_PD P2
U3A GND - U3B GND
Q_BEEP S - R_BEEP_PD P2
J10 Pin_2 - Q_REV G
Q_BEEP S - R_BEEP_PD P2
J10 Pin_2 - Q_REV G
R5 P2 - R6 P2
U1 GND_3 - U1 GND_4
U1 GND_10 - U1 GND_11
GND
Q_BEEP S - R_BEEP_PD P2
Q_BEEP S - R_BEEP_PD P2
U1 GND_10 - U1 GND_11
U1 GND_3 - U1 GND_4
U30 A2 - U40 WP
U1 GND_10 - U1 GND_11
J10 Pin_2 - Q_REV G
Q_BEEP S - R_BEEP_PD P2
U_C6 GND_2__14 - C7 P2
L1
Inductance
10uH
C16
Capacitance
100nF
C26
C20
C11
End of Life
Capacitance
100nF
C5
End of Life
Capacitance
100nF
C6
End of Life
Capacitance
100nF
C17
End of Life
Capacitance
100nF
L_3V3
Inductance
3.9uH
C7
End of Life
Capacitance
100nF
C2
End of Life
Capacitance
100nF
C29
C3
End of Life
Capacitance
100nF
C_TC_DIFF
C9
End of Life
Capacitance
100nF
C8
End of Life
Capacitance
100nF
C1
End of Life
Capacitance
100nF
C12
Capacitance
1uF
C14
C15
Capacitance
10uF
L2
Inductance
600Ω@100MHz H
C21
C18
Capacitance
22uF
C23
C_TC_CM
C28
C13
C27
C_RTC1
C25
C22
C24
C_RTC2
C19
Capacitance
22uF
C10
End of Life
Capacitance
100nF
C4
End of Life
Capacitance
100nF
J_FP
R_BEEP
Resistance
100Ω
R6
Resistance
5.1kΩ
R23
Resistance
4.7kΩ
R10
Resistance
100kΩ
R9
Resistance
4.7kΩ
R22
Resistance
4.7kΩ
R12
R19
R11
R13
Resistance
120Ω
R1
Resistance
10kΩ
R_FAULT
Resistance
10kΩ
R18
R2
Resistance
10kΩ
R_TC_IN
R7
Resistance
2.2kΩ
R14
Resistance
10kΩ
R24
Resistance
4.7kΩ
R8
Resistance
2.2kΩ
R20
R4
Resistance
10kΩ
R15
R21
R5
Resistance
5.1kΩ
R_BEEP_PD
Resistance
100kΩ
R3
Resistance
10kΩ
R17
R_TC_CS
Resistance
4.7kΩ
R_AGND
R16
LS1
J2
U31
End of Life
Q6
Q7
Q3
UCMP1
J10
J8
Q5
J9
Q1
Qd
Q4
UCMP2
Q2
USEL1
U11
Y1
U35
U12
U13
U10
USEL2
U_CANFD
U3
U40
UINA2
Q_REV
J6
F1
SW1
UINA1
U8
SW2
D_TC
U6
J4
J7
D_TC1
J5
D_CAN
Not Recommended for New Designs
Q_BEEP
U20
L_CAN
ADS1115
U7
J_MEZZ
U30
D2

Refine this doc
Ask about this doc
Project Specification — SmarTemp+ Standard Core Baseboard
Project Overview
  • Product: SmarTemp+ standard
  • Board: TCS-SC-Core-Baseboard-v1
  • Status: REV-FINAL schematic capture; Netlist/PinMap + BOM PDFs are authoritative.
  • Purpose: ESP32-S3 controller/baseboard for 4 thermocouple channels, external SSR control, CAN, wireless connectivity, 3.5 inch QSPI display mezzanine, and LiPo-backed 12V/USB-C power.
Authoritative Inputs
  1. TCS-SC_Core_Netlist_PinMap.pdf — authoritative pin map, netlist, footprints, and design rules.
  2. TCS-SC_Core_BOM.pdf — authoritative POP/DNP BOM.
  3. TCS-SC_Core_FLUX_SUBMISSION.pdf — capture workflow and implementation notes.
Stale prior assumptions must be overridden by these files.
Intended Use
  • Prototype/production-intent SELV controller for SmarTemp+ standard.
  • Mains switching is performed by external isolated SSR modules; mains is not routed on this baseboard.
  • Prototype finish: ENIG. Volume finish target: immersion silver if assembly yield and storage requirements allow.
What the Device Should Do
  • Read 4 thermocouple channels through MAX31856 converters.
  • Drive 8 SSR control positions through an I2C expander and 2N7002 low-side drivers; channels 1-2 populated for v1, 3-8 DNP.
  • Communicate over ESP32-S3 WiFi/BLE, ESP32-C6 stock esp-hosted WiFi6/Thread/Matter over SPI, and CAN/TWAI.
  • Host a 3.5 inch 320x480 Startek AXS15231 QSPI display on a 40-pin DF40 FRU mezzanine.
  • Provide PWM piezo beeper alerts on GPIO16.
  • Operate primarily from 12V, optionally USB-C, with LiPo backup through AXP2101 ORed into VSYS.
Main Features
  • Main MCU: ESP32-S3-WROOM-1-N16R8.
  • Radio co-processor: ESP32-C6-MINI-1 over SPI esp-hosted.
  • Thermocouples: 4x MAX31856MUD+ on shared HSPI/SPI3 with direct chip selects.
  • Display: Startek KD035QVFID225-C086A / AXS15231, QSPI-strapped mezzanine.
  • CAN: SN65HVD230, PESD1CAN TVS, common-mode choke, Phoenix terminal.
  • I/O expanders: TCA9555 @0x21 for SSR/IO; TCA9554 @0x20 for peripheral IO; both polled.
  • Peripherals: PCF85063A RTC @0x51 with CR1220; 24AA02 mezzanine ID EEPROM @0x50; Qwiic I2C; spare GPIO47/48 header.
  • DNP insurance: MCP2518FD CAN-FD land, tire SELV loop front end, microSD, opto/isolator SSR options, alternate AFE lands.
System Architecture

Diagram


12V Barrel Reverse P-FET + TVS + Fuse LM66100 Primary OR USB-C node_5V LM66100 USB OR LiPo AXP2101 PMU VSYS MP2315 node_5V Buck 5V Rail AP63203 node_3V3 Buck 3V3 Rail FB1 3V3_A TC Island ESP32-S3-WROOM-1 4x MAX31856 ESP32-C6-MINI-1 40-pin Display Mezzanine SN65HVD230 CAN PWM Piezo I2C Bus TCA9555/TCA9554 8x SSR Low-side Drivers PCF85063A RTC 24AA02 Mezz ID
Hardware Subsystems
MCU + USB + Boot
  • ESP32-S3-WROOM-1-N16R8 is the main controller.
  • USB-C D+/D- connect to GPIO20/GPIO19 through 22 ohm series resistors and ESD.
  • CC pins require 5.1k pull-downs for sink behavior.
  • BOOT on GPIO0 with 10k pull-up and button to GND.
  • EN/reset with 10k pull-up, 1uF to GND, and reset button.
Power
  • +12V barrel input goes through reverse-polarity P-FET, SMBJ24A TVS, and polyfuse.
  • LM66100 ideal-OR combines 12V-primary path and USB 5V path into VSYS; AXP2101 SYS also ORs battery backup into VSYS.
  • MP2315 bucks VSYS to +5V.
  • AP63203 bucks +5V to +3V3 and is the only +3V3 source.
  • AXP2101 is PMU/charger/backup only; it is not the system 3.3V regulator.
  • +3V3_A is derived through FB1 for the MAX31856 analog island.
Thermocouple Island
  • 4x MAX31856MUD+ powered from +3V3_A and GND_A.
  • Shared TC_SCK GPIO17, TC_MOSI GPIO18, TC_MISO GPIO21.
  • Direct CS: GPIO38/39/40/41.
  • FAULT pins wire-OR to GPIO42 with 10k pull-up.
  • Each input has RC C0G filtering and SM712-class TVS; keep analog island thermally and electrically quiet.
  • GND_A star-ties to GND at the power-supply return, not under U1.
ESP32-C6 Radio Co-Processor
  • ESP32-C6-MINI-1 stock esp-hosted slave firmware.
  • SPI link: GPIO9 SCK, GPIO10 MOSI, GPIO11 MISO, GPIO13 CS, GPIO14 handshake, GPIO15 reset.
  • Dual-band antenna provision DNP for future ESP32-C5/5GHz option.
CAN
  • ESP32-S3 TWAI: GPIO43 TX, GPIO44 RX.
  • SN65HVD230 transceiver with PESD1CAN TVS and CAN common-mode choke to J_CAN.
  • MCP2518FD CAN-FD footprint is DNP for future demand.
SSR and Tire SELV
  • TCA9555 @0x21 drives 8 SSR low-side 2N7002 channels.
  • J_SSR1-2 populated; J_SSR3-8 and related parts DNP for v1.
  • Opto/digital-isolator lands DNP because external SSRs are self-isolated.
  • Tire SELV loop front end is DNP insurance for v1: TPS2553, INA181, TLV7011, ADS1115 @0x48, sense resistors, and warmer loop connectors.
Display and Peripherals
  • 40-pin Hirose DF40C-40DS B2B mezzanine connector.
  • QSPI display nets: IO0-3 GPIO1-4, SCLK GPIO5, LCD_CS GPIO12, BL_PWM GPIO6.
  • I2C, touch INT/RST, power, mezz-ID EEPROM, and reserved lines route through the B2B.
  • PCF85063A RTC @0x51 with 32.768kHz crystal and CR1220 backup.
  • Qwiic connector on global I2C.
  • GPIO47/48 to spare header. GPIO45/46 are strap/test-point only.
Interfaces and Connections
  • USB-C: native USB programming/debug and USB 5V source.
  • 12V barrel: primary SELV input.
  • LiPo JST: backup battery with pack PCM, UN38.3/IEC62133 requirement.
  • Thermocouple inputs: 4 channels via warmer cable terminals.
  • SSR terminals: low-voltage control only, external isolated SSRs.
  • CAN terminal: CANH/CANL with protection/filtering.
  • Display mezzanine: DF40 40-pin FRU boundary.
  • Qwiic: I2C expansion.
  • Spare GPIO header: GPIO47/48.
Power and Runtime Expectations
  • Primary operating source: 12V.
  • USB-C supports programming and limited operation depending host current.
  • LiPo provides backup through AXP2101 and VSYS ORing.
  • Current budget must include two radios, display/backlight, MAX31856 island, expanders, CAN, and SSR controls before final fuse/inductor/regulator validation.
Power Tree and Power Budget
  • +12V: barrel input, reverse/FET/TVS/fuse path.
  • VSYS: ORed source node feeding MP2315.
  • +5V: MP2315 output; powers AP63203 input, mezzanine backlight boost, and optional tire SELV.
  • +3V3: AP63203 output only; powers MCU, C6, CAN logic, I2C peripherals, expanders, RTC, EEPROM, and Qwiic.
  • +3V3_A: ferrite-filtered thermocouple analog rail.
  • VBAT: LiPo into AXP2101.
Manufacturing and Assembly Expectations
  • 4-layer PCB: L1 signal / L2 GND / L3 PWR / L4 signal.
  • Board size: 130 x 90 mm.
  • Include 4x M3 plus 2 midpoint mounting points.
  • Prefer MLCC 105C with 2x capacitance derating; C0G for thermocouple analog filters; no electrolytics.
  • Selective conformal coat over thermocouple island.
Firmware-Relevant Hardware Requirements
  • ESP-IDF/ESP32-S3 native USB-CDC programming.
  • SecureBootV2, flash encryption, signed OTA, encrypted NVS planned for production.
  • Pin map is locked: 29/31 usable GPIO, GPIO47/48 spare.
  • I2C devices: TCA9554 0x20, TCA9555 0x21, AXP2101 0x34, ADS1115 0x48 DNP, 24AA02 0x50, PCF85063A 0x51, touch via B2B, Qwiic.
  • C6 remains stock esp-hosted, no custom firmware fork.
Physical Design Expectations
  • ESP32-S3 and ESP32-C6 antennas at opposite corners with copper keepouts.
  • Thermocouple analog island away from buck inductor, QSPI, SSR FETs, and radio sections.
  • QSPI through B2B needs ground guards, source series-term footprints, and length awareness; 32MHz fallback accepted.
  • CAN port requires TVS and common-mode choke near connector.
  • Buck loop areas must be minimized.
Important Design Decisions
  • Use ESP32 module-down approach for RF risk reduction.
  • Use direct MAX31856 CS lines; no decoder.
  • Use simple PWM piezo instead of ES8311 audio codec.
  • Use AP63203 as the sole 3.3V source; AXP2101 is not a 3.3V source.
  • Use SN65HVD230 as customer-demanded CAN transceiver.
  • Keep tire SELV and CAN-FD hooks as DNP insurance.
Assumptions / Open Items
  • Per-rail current budget is still to be finalized with datasheet worst-case currents.
  • Startek AXS15231 QSPI strap/order option must be confirmed with supplier.
  • Display mezzanine touch INT/RST exact pins must be finalized from mezzanine connector pinout.
  • EE review is required for TC island, QSPI B2B routing, antenna coexistence, power tree, and CAN protection before Gerbers.
Change Notes
  • 2026-05-29: Initial requirements imported from user table.
  • 2026-05-29: REV-FINAL PDFs imported. Specification now supersedes earlier assumptions: C6-MINI-1, SN65HVD230, TCA9555/TCA9554, PCF85063A, MP2315/AP63203/LM66100 power tree, 8 SSR positions with v1 POP/DNP split, DF40 40-pin display mezzanine, and DNP tire/CAN-FD insurance blocks.
  • Project Overview

  • Authoritative Inputs

  • Intended Use

  • What the Device Should Do

  • Main Features

  • System Architecture

  • Hardware Subsystems

  • MCU + USB + Boot

  • Power

  • Thermocouple Island

  • ESP32-C6 Radio Co-Processor

  • CAN

  • SSR and Tire SELV

  • Display and Peripherals

  • Interfaces and Connections

  • Power and Runtime Expectations

  • Power Tree and Power Budget

  • Manufacturing and Assembly Expectations

  • Firmware-Relevant Hardware Requirements

  • Physical Design Expectations

  • Important Design Decisions

  • Assumptions / Open Items

  • Change Notes

TCS-SC-Core-Baseboard-v1

TCS-SC-Core-Baseboard-v1 thumbnail
ESP32-S3 + C6 controller. 4× thermocouple, 2× SSR, CAN, ▎ 3.5" QSPI display (FRU mezzanine), tire SELV loop. ▎ 4-layer, 130×90mm. SmarTemp+ standard.

Properties

3.5 inch 320x480 AXS15231 QSPI display FRU mezzanine; PWM piezo beeper

12V input + USB-C 5V + LiPo backup via AXP2101

ESP32-S3-WROOM-1-N16R8 main MCU, ESP32-C6 radio co-processor, 4x MAX31856 thermocouple channels, 2x off-board SSR drives, 4-layer 130x90mm ENIG prototype

WiFi 2.4GHz, BLE, WiFi6/Thread/Matter co-processor over SPI, CAN

Industrial IoT temperature controller baseboard

1-year warranty / 3-5 year product life

Pricing & Availability

Distributor

Qty 1

Arrow

$44.22–$60.84

Digi-Key

$76.88–$79.31

HQonline

$15.04–$16.38

LCSC

$54.91–$57.01

Mouser

$109.07

TME

$27.03

Verical

$40.95–$478.70

Controls