Final Project — Bill of Materials¶
ESP32-C6 Teacher Board¶
| Qty | Ref | Part Name | Value / Spec | Package / Footprint | Purpose | Have It? | Notes | Datasheet | Supplier | Link | Cost |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | M1 | XIAO ESP32-C6 | ESP32-C6, WiFi 6, BT 5.0 | XIAO module 21×17.8mm; PinHeader_1x07_P2.54mm_Vertical ×2 |
I2C master, WiFi gateway. Supplies 3.3V internally via onboard regulator. | — | Never connect USB-C and external 5V simultaneously. | Datasheet | Amazon | Link | $7.66 |
| 1 | U4 | BSS138 Level Shifter | Bidirectional, 3.3V↔5V | SparkFun BOB-12009 clone; 2×6 pins, 2.54mm pitch; 10mm row spacing; Custom .kicad_mod generated |
Translates I2C signals between 5V ATtiny nodes and 3.3V ESP32-C6. Has built-in 10kΩ pullups — no external I2C pullups needed. | ✅ | Use channels HV3/LV3 for SCL, HV4/LV4 for SDA. HV1/HV2 and LV1/LV2 unconnected. | Datasheet | Amazon | Link | $0.20 |
| 1 | C4 | Capacitor | 94nF (≈100nF) | SMD 1206 Capacitor_SMD:C_1206_3216Metric |
Bypass cap — ESP32-C6 VCC to GND. Filters WiFi radio current spikes. | ✅ | Place as close to ESP32-C6 VCC pin as possible. | — | Stock | — | $0.00 |
| 1 | C7 | Capacitor | 100µF, 25V, Polymer Electrolytic | SMD polymer electrolytic; 6.3mm × 5.8mm can; PCM_fab:CP_Elec_100uF_Panasonic_EEE-FN1E101UL |
Bulk cap — 5V rail entry point. Reservoir for the whole 5V domain. | ✅ | Panasonic EEE-FN1E101UL. Polymer electrolytic — lower ESR than standard, more stable. Check polarity: stripe = negative. PCM_fab footprint from Fab Academy lab KiCad library. | Datasheet | Digikey | — | $0.59 |
| 2 | — | Pin Header 1×7 | 2.54mm pitch, vertical THT | PinHeader_1x07_P2.54mm_Vertical_THT_D1mm |
XIAO ESP32-C6 module socket (one row each side). | ✅ | — | — | Amazon | Link | $0.25 |
| 1 | J7 | Pin Header 1×6 | 2.54mm pitch, vertical THT | PinHeader_1x04_P2.54mm_Vertical_THT_D1mm |
Level shifter HV side: HV (5V), GND, HV3 (SCL), HV4 (SDA). | ✅ | — | — | Amazon | Link | $0.25 |
| 1 | J6 | Pin Header 1×6 | 2.54mm pitch, vertical THT | PinHeader_1x04_P2.54mm_Vertical_THT_D1mm |
Level shifter LV side: LV (3V3), GND, LV3 (SCL), LV4 (SDA). | ✅ | — | — | Amazon | Link | $0.25 |
| 1 | J14 | Pin Header 1×4 | 2.54mm pitch, vertical THT | PinHeader_1x04_P2.54mm_Vertical_THT_D1mm |
Node5V — 5V power output to ATtiny412 sensor nodes. | ✅ | — | — | Amazon | Link | $0.25 |
| 1 | J15 | Pin Header 1×4 | 2.54mm pitch, vertical THT | PinHeader_1x04_P2.54mm_Vertical_THT_D1mm |
5V | ✅ | — | — | Amazon | Link | $0.25 |
| 1 | J1 | Pin Header 1×6 | 2.54mm pitch, vertical THT | PinHeader_1x06_P2.54mm_Vertical_THT_D1mm |
D4 SCL breakout. | ✅ | — | — | Amazon | Link | $0.25 |
| 1 | J9 | Pin Header 1×6 | 2.54mm pitch, vertical THT | PinHeader_1x06_P2.54mm_Vertical_THT_D1mm |
D5 SDA breakout. | ✅ | — | — | Amazon | Link | $0.25 |
| 1 | J8 | Pin Header 1×3 | 2.54mm pitch, vertical THT | PinHeader_1x03_P2.54mm_Vertical_THT_D1mm |
GND breakout. | ✅ | — | — | Amazon | Link | $0.25 |
| 1 | J13 | Pin Header 1×3 | 2.54mm pitch, vertical THT | PinHeader_1x03_P2.54mm_Vertical_THT_D1mm |
D8, D9, D10 connectors. | ✅ | — | — | Amazon | Link | $0.25 |
| 1 | J11 | Pin Header 1×4 | 2.54mm pitch, vertical THT | PinHeader_1x04_P2.54mm_Vertical_THT_D1mm |
3V3 breakout. | ✅ | — | — | Amazon | Link | $0.25 |
| 2 | J2/J12 | Pin Header 1×4 | 2.54mm pitch, horizontal SMD | PinHeader_1x04_P2.54mm_Horizontal_SMD |
GND rail headers (bottom of board). | ✅ | — | — | Amazon | Link | $0.25 |
| 1 | J3 | Pin Header 1×4 | 2.54mm pitch, horizontal SMD | PinHeader_1x04_P2.54mm_Horizontal_SMD |
D6 breakout. | ✅ | — | — | Amazon | Link | $0.25 |
| 1 | J4 | Pin Header 1×4 | 2.54mm pitch, horizontal SMD | PinHeader_1x04_P2.54mm_Horizontal_SMD |
D7 breakout. | ✅ | — | — | Amazon | Link | $0.25 |
| 1 | J5 | Pin Header 1×4 | 2.54mm pitch, horizontal SMD | PinHeader_1x04_P2.54mm_Horizontal_SMD |
D3, D2, D1, D0 connectors. | ✅ | — | — | Amazon | Link | $0.25 |
Power Supply (external — not on PCB)¶
| Qty | Ref | Part Name | Value / Spec | Package / Footprint | Purpose | Have It? | Notes | Datasheet | Supplier | Link | Cost |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | PS1 | AC/DC Wall Adapter | 9V DC, 1A (1000mA) — input range 7V–40V DC, >1A | DC barrel jack | Main power source for entire system. | ✅ | Do NOT use 500mA version — insufficient headroom for ESP32-C6 WiFi peaks (~250mA). | — | Old parts | — | $0.00 |
| 1 | PS2 | LM2596 Buck Converter | 4–40V to 1.25–37V adjustable | Blue breakout board with display | Steps 9V down to 5V rail. Set output to exactly 5.0V before connecting to board. | ✅ | Has built-in bulk capacitors. No extra caps needed on regulator output. | — | Amazon | Link | $2.80 |
| 1 | PS3 | DC Barrel Jack Connector | Matches adapter plug | — | Connects wall adapter barrel plug to PCB power traces. | — | Not needed if barrel jack is removed from wall adapter. | — | — | — | — |
Switch — 2N3906 PCB¶
| Qty | Ref | Part Name | Value / Spec | Package / Footprint | Purpose | Have It? | Notes | Datasheet | Supplier | Link | Cost |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Q1 | 2N3906 PNP Transistor | 40V, 200mA, PNP BJT | SMD 1206 (3-pad); Custom 3-pad 1206 footprint; Pad: 1.6×1.8mm, 3.2mm pitch | High-side switch — controls 5V power to XKT001X wireless transmitter. | ✅ | Part marking: J6. Verify B/E/C with multimeter diode test before soldering. SMD SOT-23 equivalent is MMBT3906. |
Datasheet | Stock | — | $0.00 |
| 1 | R1 | Resistor | 10kΩ | SMD 1206 Resistor_SMD:R_1206_3216Metric |
Base resistor — limits current from ESP32-C6 D8 (GPIO19) to Q1 base. | ✅ | — | — | Stock | — | $0.00 |
| 1 | R2 | Resistor | 100kΩ | SMD 1206 Resistor_SMD:R_1206_3216Metric |
Base pullup to 5V rail — holds Q1 OFF at boot before code runs. | ✅ | — | — | Stock | — | $0.00 |
| 1 | C5 | Capacitor | 94nF (≈100nF) | SMD 1206 Capacitor_SMD:C_1206_3216Metric |
Bypass cap — Q1 emitter (5V) to GND. Absorbs switching transient when Q1 fires. | ✅ | Place right next to Q1 emitter pad. | — | Stock | — | $0.00 |
| 1 | J1 | Pin Header 1×4 | 2.54mm pitch, vertical THT | PinHeader_1x03_P2.54mm_Vertical_THT_D1mm |
ESP32-C6 teacher output pin (Tchr) J1 pin 1, 5V J1 pin 2, Ground J1 pin 3. | ✅ | — | — | Amazon | Link | $0.25 |
| 1 | J2 | Pin Header 1×3 | 2.54mm pitch, vertical THT | PinHeader_1x04_P2.54mm_Vertical_THT_D1mm |
Ground J2 pin 1, 2N3906 Collector pin output J2 pin 2. | ✅ | — | — | Amazon | Link | $0.25 |
ATtiny412 Node¶
| Qty | Ref | Part Name | Value / Spec | Package / Footprint | Purpose | Have It? | Notes | Datasheet | Supplier | Link | Cost |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | — | ATtiny412 | ATTINY412-SSNRCT-ND Cut Tape (CT) | IC MCU 8BIT 4KB FLASH 8SOIC | Reads Hall sensor and transmits to ESP32-C6 teacher. | ✅ | — | Datasheet | Digikey | Link | $0.58 |
| 0.5 | — | A1324LLHLT-T Hall Sensor | SEN HALL EFFECT ANLG VOLT SOT23W | PCM_fab:SOT-23-3 |
Detect magnetic field from wands. | — | Can use SOT-23-3 or through-hole. | Datasheet | Digikey | Link | $1.78 |
| 0.5 | — | A1324LUA-T Hall Sensor | SEN HALL EFFECT ANLG VOLT 3-SIP | 3-SSIP Through-hole | Detect magnetic field from wands. | — | Can use through-hole or SMD. | Datasheet | Digikey | Link | $1.90 |
| 1 | R1 | Resistor | 4.7kΩ | SMD 1206 Resistor_SMD:R_1206_3216Metric |
Needed for TX communication. | ✅ | — | — | Stock | — | $0.00 |
| 1 | C2 | Capacitor | 94nF (≈100nF) | SMD 1206 Capacitor_SMD:C_1206_3216Metric |
Bypass cap — 5V to GND. Reduces variations in input power. | ✅ | May need a second capacitor if using SMD Hall effect sensor. | — | Stock | — | $0.00 |
| 3 | J1, J3, J4 | Pin Header 1×2 | 2.54mm pitch, vertical THT | PinHeader_1x03_P2.54mm_Vertical_THT_D1mm |
J1: SDA, SCL; J3: PA7, PA6; J4: RX, TX. | ✅ | — | — | Amazon | Link | $0.25 |
| 1 | J5 | Pin Header 1×3 | 2.54mm pitch, vertical THT | PinHeader_1x04_P2.54mm_Vertical_THT_D1mm |
5V power, Ground, Ground. | ✅ | Extra ground for outputs through PA7 or PA6. | — | Amazon | Link | $0.25 |
Table Top¶
| Qty | Ref | Part Name | Value / Spec | Package / Footprint | Purpose | Have It? | Notes | Datasheet | Supplier | Link | Cost |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | — | ½" Cabinet Grade Plywood | ½ in. × 2 ft. × 8 ft. PureBond Maple Plywood Project Panel | — | Table top substrate. | ✅ | From remnant FabLab wood. | — | Home Depot | Link | $49.92 |
| 1 | — | Alumilite™ Amazing Clear Cast Epoxy | 32 oz | — | Sky design of table top. | — | — | Datasheet | Michaels | Link | $36.99 |
| 1 | — | TotalBoat Table Top Epoxy Resin Kit | 2 qt (64 oz) crystal clear, high-gloss, UV-resistant | — | Sky design of table top. | — | — | Datasheet | Amazon | Link | $36.17 |
| 1 | TX1 | XKT001X Wireless Transmitter | 5V input, inductive/resonant TX | Breakout board; PinHeader_1x02_P2.54mm_Vertical |
Wireless power transmitter for receiver LED coil. Switched by 2N3906 via J2. | ✅ | Connect to switch PCB. Comes with wireless LEDs. | — | Amazon | Link | $16.13 |
| 2 | — | 20 LED Mini String Lights | Battery operated, 3.3 ft, 20 LED | — | Accent lights in table top. | — | From junk drawer. | — | Amazon | Link | $1.00 |
| 1 | PS1 | AC/DC Wall Adapter | 9V DC, 1A (1000mA) — input range 7V–40V DC, >1A | DC barrel jack | Main power source for entire system. | ✅ | Do NOT use 500mA version — insufficient headroom for ESP32-C6 WiFi peaks (~250mA). | — | — | — | $0.00 |
| 1 | PS2 | LM2596 Buck Converter | 4–40V to 1.25–37V adjustable | Blue breakout board with display | Steps 9V down to 5V rail. Set output to exactly 5.0V before connecting to board. | ✅ | Has built-in bulk capacitors. No extra caps needed on regulator output. | Datasheet | Digikey | Link | $4.90 |
FTDI Programmer for ATtiny412 Nodes¶
| Qty | Ref | Part Name | Value / Spec | Package / Footprint | Purpose | Have It? | Notes | Datasheet | Supplier | Link | Cost |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | — | FT232RL USB to TTL Serial Converter | 3.3V/5V FTDI Breakout Board | — | Programs the ATtiny412 via Arduino IDE through TX and RX pins. | — | Amazon description was wrong — has micro-USB, not USB-C. | Datasheet | Amazon | Link | $2.66 |
Summary — Parts Count & Total Cost¶
1 Teacher - 5 ATtiny nodes - 2 Switch PCBs
Resistors — SMD 1206¶
| Part | Value | Qty | Cost |
|---|---|---|---|
| Resistor | 4.7kΩ | 5 | $0.00 |
| Resistor | 10kΩ | 2 | $0.00 |
| Resistor | 100kΩ | 2 | $0.00 |
Capacitors — SMD 1206¶
| Part | Value | Qty | Cost |
|---|---|---|---|
| Capacitor | 94nF (≈100nF) | 8 | $0.00 |
| Capacitor | 100µF, 25V Polymer Electrolytic | 1 | $0.59 |
| BSS138 Level Shifter | Bidirectional 3.3V↔5V | 1 | $0.20 |
LEDs¶
| Part | Value | Qty | Cost |
|---|---|---|---|
| Mini LED String Lights | 20-LED battery string | 2 | $2.00 |
Connectors & Headers — 2.54mm Through-Hole¶
| Part | Value | Qty | Cost |
|---|---|---|---|
| Pin Header | 1×2, vertical THT | 15 | $3.75 |
| Pin Header | 1×3, vertical THT | 9 | $2.25 |
| Pin Header | 1×4, vertical THT | 8 | $2.00 |
| Pin Header | 1×6, vertical THT | 2 | $0.50 |
Modules & Breakout Boards¶
| Part | Value | Qty | Cost |
|---|---|---|---|
| XIAO ESP32-C6 | ESP32-C6, WiFi 6, BT 5.0 | 1 | $7.66 |
| ATtiny412 | ATTINY412-SSNRCT-ND 8SOIC | 5 | $2.90 |
| XKT001X Wireless Transmitter | 5V input, inductive/resonant TX | 1 | $16.13 |
| BSS138 Level Shifter Bidirectional | 3.3V↔5V SparkFun BOB-12009 clone | 1 | $0.20 |
Power¶
| Part | Value | Qty | Cost |
|---|---|---|---|
| AC/DC Wall Adapter | 9V DC, 1A | 1 | $0.00 |
| LM2596 Buck Converter | 4–40V adjustable | 1 | $4.90 |
Hall Sensors¶
| Part | Value | Qty | Cost |
|---|---|---|---|
| A1324 Hall Sensor | SOT-23-3 or THT | 5 | $2.50 |
Programming¶
| Part | Value | Qty | Cost |
|---|---|---|---|
| FT232RL FTDI Programmer | 3.3V/5V USB-TTL | 1 | $2.66 |
Materials¶
| Part | Value | Qty | Cost |
|---|---|---|---|
| Alumilite™ Amazing Clear Cast Epoxy | 32 oz | 1 | $36.99 |
| TotalBoat Table Top Epoxy Resin Kit | 2 qt (64 oz) | 1 | $36.17 |
| ½" Cabinet Grade Maple Plywood | 2 ft × 8 ft panel | 1 | $49.92 |