diff options
Diffstat (limited to 'bom.md')
| -rw-r--r-- | bom.md | 55 |
1 files changed, 55 insertions, 0 deletions
@@ -0,0 +1,55 @@ +# Heart-Shaped LED/OLED Device — Parts List +preliminary BOM, generated by claude from given requirements + +## Design approach +- MCU: ATmega32U4 (native USB) — no separate USB-UART bridge needed, program directly over USB-C once bootloader is burned. +- Power: 3.3V system, LDO off a 1S LiPo, charged via MCP73831 from USB-C VBUS. No boost converter needed. +- Display: I2C SSD1306 OLED module (128x32 or 128x64) — smaller/higher-contrast than a 16x2 LCD, 2 data pins. +- LEDs: SK6812MINI-E or SK6805-EC15 addressable RGB, single data line around the heart perimeter, powered from raw battery rail (not the 3.3V logic rail). + +## Power / USB-C / charging +| Qty | Part | KiCad symbol / footprint | Notes | +|---|---|---|---| +| 1 | USB-C receptacle (USB 2.0, 16-pin) | `Connector:USB_C_Receptacle_USB2.0_16P` / `Connector_USB:USB_C_Receptacle_GCT_USB4085` | Only VBUS, GND, D+/D-, CC1/CC2 needed | +| 2 | 5.1kΩ resistor | `Device:R` | CC1 & CC2 to GND — advertises 5V/default-current sink | +| 1 | MCP73831T-2ACI/OT | `Battery_Management:MCP73831-2-OT` (SOT-23-5) | Single-cell LiPo linear charger | +| 1 | Rprog resistor | `Device:R` | Sets charge current (2kΩ≈500mA, 4kΩ≈250mA) — match to cell mAh, ≤1C | +| 1 | Charge status LED + resistor (optional) | `Device:LED`, `Device:R` | On MCP73831 STAT pin | +| 1 | AP2112K-3.3 LDO | `Regulator_Linear:AP2112K-3.3` (SOT-23-5) | Battery → 3.3V logic rail | +| 2 | 1µF ceramic cap | `Device:C` | LDO in/out | +| 1 | JST-PH 2-pin battery connector | `Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_Vertical` | Match to cell purchased | +| 1 | Slide/power switch (optional) | `Switch:SW_SPDT` | Battery-side on/off only | +| 1 | 1S LiPo cell, 3.7V, with built-in protection PCB | — | Size to fit housing; buy a cell with protection built in | + +## MCU +| Qty | Part | KiCad symbol / footprint | Notes | +|---|---|---|---| +| 1 | ATmega32U4-AU or -MU | `MCU_Microchip_ATmega:ATmega32U4-AU` (TQFP-44) or `-MU` (QFN-44) | Native USB | +| 1 | 8MHz crystal | `Device:Crystal` | 3.3V/8MHz config (like Pro Micro 3.3V) | +| 2 | 22pF cap | `Device:C` | Crystal load caps | +| 2 | 22Ω resistor | `Device:R` | Series on USB D+/D-, near MCU | +| 1 | 1µF cap | `Device:C` | UCap pin (internal USB regulator) | +| 1 | 10kΩ resistor | `Device:R` | Reset pull-up | +| 1 | Tactile switch | `Device:SW_Push` | Reset button | +| 1 | 100nF cap (optional) | `Device:C` | Reset debounce | +| 6-8 | 100nF cap | `Device:C` | Decoupling, one per VCC/AVCC pin | +| 1 | 4.7µF cap | `Device:C` | Bulk decoupling | +| 1 | 6-pin ISP header (2x3, 0.1") | `Connector_Generic:Conn_02x03_Odd_Even` | One-time bootloader burn via external ISP programmer | + +## Display +| Qty | Part | Footprint | Notes | +|---|---|---|---| +| 1 | SSD1306 I2C OLED, 128x32 or 128x64, 0.91"/0.96" | Custom 4-pin 0.1" header footprint matching purchased breakout (not in official KiCad libs) | 128x32 fits ~2 lines of short text; 128x64 for bigger font | +| 2 | 4.7kΩ resistor | `Device:R` | I2C pull-ups, only if module doesn't already have them | + +## LED perimeter ring +| Qty | Part | Footprint | Notes | +|---|---|---|---| +| ~20-30 | SK6812MINI-E (3.5x3.5mm) or SK6805-EC15 (1.5x1.5mm) | Custom pad pattern from datasheet (not in official KiCad libs) | Chain DOUT→DIN around perimeter; power from raw battery rail, data from 3.3V MCU pin | +| 1 | 330-470Ω resistor | `Device:R` | Series on data line into first LED | +| 1 | 100-220µF cap | `Device:CP` | Across LED power rail at chain start | + +## Notes +- Keep LED power domain (raw battery, ~3.0-4.2V) separate from 3.3V logic rail — only the data line crosses. +- OLED module and addressable LEDs need hand-made footprints (simple pad patterns) once exact parts are chosen. +- ~20-30 LEDs at 8-10mm spacing works well for a ~2.5-3" wide heart outline. |
