gokul/musegrow
USB‑C powered ESP32‑C3 controller board with regulated 3.3 V supply, USB ESD protection, buttons/status LEDs, ambient-light I²C sensing, and a 555-driven capacitive soil-moisture electrode.
- Version
- 1.2.2
- License
- unset
- Stars
- 1
lib/controller-sheet.tsx
import { ESP32_C3_WROOM_02_N4 } from "../imports/ESP32_C3_WROOM_02_N4"
import { TS_1187A_B_A_B } from "../imports/TS_1187A_B_A_B"
import { XL_1608UBC_04 } from "../imports/XL_1608UBC_04"
import { TestPoint } from "./test-point"
const resistor10kSupplierPartNumbers = { jlcpcb: ["C25804"] }
const resistor1kSupplierPartNumbers = { jlcpcb: ["C21190"] }
const ButtonToGround = (props: {
name: string
signalNet: string
pcbX: number
pcbY: number
}) => (
<>
<TS_1187A_B_A_B name={props.name} pcbX={props.pcbX} pcbY={props.pcbY} />
<trace from={`${props.name}.A`} to={props.signalNet} />
<trace from={`${props.name}.C`} to={props.signalNet} />
<trace from={`${props.name}.B`} to="net.GND" />
<trace from={`${props.name}.D`} to="net.GND" />
</>
)
export const ControllerSheet = () => (
<schematicsheet
name="controller"
displayName="Controller and Controls"
sheetIndex={1}
sheetSize="A4"
>
<ESP32_C3_WROOM_02_N4
name="U1"
pcbX={0}
pcbY={28}
/>
<capacitor
name="C4"
capacitance="100nF"
footprint="0603"
pcbX={-12.5}
pcbY={35.8}
supplierPartNumbers={{ jlcpcb: ["C14663"] }}
/>
<capacitor
name="C5"
capacitance="10uF"
footprint="0805"
pcbX={-16}
pcbY={38.5}
pcbRotation={180}
supplierPartNumbers={{ jlcpcb: ["C15850"] }}
/>
<resistor
name="R6"
resistance="10k"
footprint="0603"
pcbX={-12.5}
pcbY={32.5}
supplierPartNumbers={resistor10kSupplierPartNumbers}
/>
<capacitor
name="C6"
capacitance="1uF"
footprint="0603"
pcbX={-12.5}
pcbY={29.75}
pcbRotation={180}
supplierPartNumbers={{ jlcpcb: ["C113807"] }}
/>
<ButtonToGround name="SW1" signalNet="net.MCU_EN" pcbX={-18} pcbY={33} />
<resistor
name="R7"
resistance="10k"
footprint="0603"
pcbX={-12.5}
pcbY={26.5}
supplierPartNumbers={resistor10kSupplierPartNumbers}
/>
<ButtonToGround name="SW2" signalNet="net.MCU_BOOT" pcbX={-18} pcbY={26.5} />
<resistor
name="R8"
resistance="10k"
footprint="0603"
pcbX={12.5}
pcbY={25}
supplierPartNumbers={resistor10kSupplierPartNumbers}
/>
<ButtonToGround name="SW3" signalNet="net.USER_BUTTON" pcbX={18} pcbY={26.5} />
<resistor
name="R9"
resistance="10k"
footprint="0603"
pcbX={-12.5}
pcbY={23}
supplierPartNumbers={resistor10kSupplierPartNumbers}
/>
<resistor
name="R10"
resistance="10k"
footprint="0603"
pcbX={12.5}
pcbY={27.5}
supplierPartNumbers={resistor10kSupplierPartNumbers}
/>
<resistor
name="R11"
resistance="1k"
footprint="0603"
pcbX={12}
pcbY={32}
supplierPartNumbers={resistor1kSupplierPartNumbers}
/>
<XL_1608UBC_04
name="LED2"
color="blue"
pcbX={15}
pcbY={32}
/>
<TestPoint name="TP4" pcbX={13} pcbY={22.5} />
<TestPoint name="TP5" pcbX={16} pcbY={22.5} />
<TestPoint name="TP6" pcbX={-12.5} pcbY={20} />
<trace from="U1.3V3" to="net.V3_3" />
<trace from="U1.GND" to="net.GND" />
<trace from="U1.EP" to="net.GND" />
<trace from="C4.pin1" to="net.V3_3" />
<trace from="C4.pin2" to="net.GND" />
<trace from="C5.pin1" to="net.V3_3" />
<trace from="C5.pin2" to="net.GND" />
<trace from="U1.EN" to="net.MCU_EN" />
<trace from="R6.pin1" to="net.V3_3" />
<trace from="R6.pin2" to="net.MCU_EN" />
<trace from="C6.pin1" to="net.MCU_EN" />
<trace from="C6.pin2" to="net.GND" />
<trace from="U1.IO9" to="net.MCU_BOOT" />
<trace from="R7.pin1" to="net.V3_3" />
<trace from="R7.pin2" to="net.MCU_BOOT" />
<trace from="U1.IO3" to="net.USER_BUTTON" />
<trace from="R8.pin1" to="net.V3_3" />
<trace from="R8.pin2" to="net.USER_BUTTON" />
<trace from="U1.IO8" to="net.STRAP_IO8" />
<trace from="R9.pin2" to="net.STRAP_IO8" />
<trace from="R9.pin1" to="net.V3_3" />
<trace name="IO2_PULL" from="U1.IO2" to="R10.pin2" />
<trace from="R10.pin1" to="net.V3_3" />
<trace from="U1.IO4" to="net.STATUS_LED_DRIVE" />
<trace from="R11.pin1" to="net.STATUS_LED_DRIVE" />
<trace from="R11.pin2" to="net.STATUS_LED_ANODE" />
<trace from="LED2.pos" to="net.STATUS_LED_ANODE" />
<trace from="LED2.neg" to="net.GND" />
<trace from="U1.IO5" to="net.I2C_SDA" />
<trace from="U1.IO6" to="net.I2C_SCL" />
<trace from="U1.IO18" to="net.USB_DN" />
<trace from="U1.IO19" to="net.USB_DP" />
<trace from="U1.IO1" to="net.SOIL_FREQ" />
<trace name="RX_TP" from="U1.RXD" to="TP4.pin1" />
<trace name="TX_TP" from="U1.TXD" to="TP5.pin1" />
<trace from="TP6.pin1" to="net.MCU_EN" />
</schematicsheet>
)