wedsamuel1230/arduino-skills/bom-generator

Claude Code and agent skill by wedsamuel1230/arduino-skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Generates Bill of Materials (BOM) from project descriptions for Arduino/ESP32/RP2040 projects. Use when user needs component lists, parts shopping lists, cost estimates, or asks "what parts do I need". Outputs formatted BOMs with part numbers, quantities, suppliers (DigiKey, Mouser, Amazon, AliExpress), and compatibility warnings. Run scripts/generate_bom.py for xlsx/csv export.

Install

npx vskill@latest install wedsamuel1230/arduino-skills/bom-generator

SKILL.md

BOM Generator

Creates comprehensive Bill of Materials for maker projects with supplier links and compatibility checks.

Resources

  • scripts/generate_bom.py - Python script for xlsx/csv/markdown BOM generation (requires openpyxl)
  • references/example-bom.md - Complete example BOM
  • assets/example-project.json - Sample project configuration for script

Quick Start

Generate BOM interactively:

bash
uv run --no-project scripts/generate_bom.py --interactive

Generate from JSON configuration:

bash
uv run --no-project scripts/generate_bom.py --json assets/example-project.json --output bom.xlsx

List component database:

bash
uv run --no-project scripts/generate_bom.py --list

Export formats: xlsx (default), csv, md, json

When to Use

  • User describes a project and needs parts list
  • User asks "what components do I need for X"
  • User wants to order parts for a design
  • User needs cost estimates

Workflow

Step 1: Gather Project Requirements

Ask user for:

1. Project description (what does it do?)
2. Target microcontroller (Arduino UNO/Nano/Mega, ESP32, RP2040)
3. Power source (USB, batteries, wall adapter)
4. Quantity (how many units to build?)
5. Budget constraints (optional)
6. Supplier preference (optional)
Step 2: Generate BOM

Run scripts/generate_bom.py --interactive for guided generation, or use this template format:

markdown
# Bill of Materials: [Project Name]
**Generated:** [Date]
**Target Board:** [MCU]
**Quantity:** [N] unit(s)
**Estimated Total:** $[X.XX] - $[Y.YY] (per unit)
## Core Components
| Qty | Component | Specifications | Est. Price | Supplier Links |
|-----|-----------|----------------|------------|----------------|
| 1 | [MCU Board] | [specs] | $X.XX | [DigiKey](#) / [Amazon](#) |
| ... | ... | ... | ... | ... |
## Sensors & Input
| Qty | Component | Specifications | Est. Price | Supplier Links |
|-----|-----------|----------------|------------|----------------|
| ... | ... | ... | ... | ... |
## Output Devices
| Qty | Component | Specifications | Est. Price | Supplier Links |
|-----|-----------|----------------|------------|----------------|
| ... | ... | ... | ... | ... |
## Power Components
| Qty | Component | Specifications | Est. Price | Supplier Links |
|-----|-----------|----------------|------------|----------------|
| ... | ... | ... | ... | ... |
## Passive Components
| Qty | Component | Specifications | Est. Price | Supplier Links |
|-----|-----------|----------------|------------|----------------|
| ... | ... | ... | ... | ... |
## Mechanical & Connectors
| Qty | Component | Specifications | Est. Price | Supplier Links |
|-----|-----------|----------------|------------|----------------|
| ... | ... | ... | ... | ... |
## Tools Required (if not owned)
-[ ] Tool 1
-[ ] Tool 2
## Compatibility Warnings
⚠️ [Any voltage/current/timing concerns]
## Substitution Notes
💡 [Alternative components if primary unavailable]

Component Database

Microcontrollers
BoardVoltageGPIOFlashPrice RangeBest For
Arduino UNO R35V1432KB$12-25Beginners, most tutorials
Arduino Nano5V1432KB$3-20Compact projects
Arduino Mega5V54256KB$15-40Many I/O, large programs
ESP32 DevKit3.3V344MB$5-15WiFi, Bluetooth, IoT
ESP32-C33.3V224MB$4-10Low-cost WiFi
RP2040 Pico3.3V262MB$4-6Dual-core, PIO
RP2040 Pico W3.3V262MB$6-8Pico + WiFi
Common Sensors
SensorInterfaceVoltagePriceUse Case
DHT22/AM23021-Wire3.3-5V$3-8Temperature + humidity
BME280I2C/SPI3.3V$5-15Temp + humidity + pressure
BMP280I2C/SPI3.3V$2-8Temp + pressure (no humidity)
DS18B201-Wire3-5.5V$2-5Waterproof temperature
HC-SR04GPIO5V$1-3Ultrasonic distance
VL53L0XI2C3.3V$5-12Laser distance (accurate)
MPU6050I2C3.3V$2-8Accelerometer + gyroscope
BNO055I2C3.3V$25-359-DOF IMU (best accuracy)
VEML7700I2C3.3V$4-8Ambient light (lux)
MAX30102I2C3.3V$5-12Heart rate + SpO2
Displays
DisplayInterfaceResolutionPriceNotes
16x2 LCDI2C16 chars$3-8Need I2C backpack
20x4 LCDI2C20 chars$5-12Larger text display
SSD1306 OLEDI2C128x64$3-8Sharp, no backlight needed
SSD1306 OLEDI2C128x32$3-6Compact OLED
ST7735 TFTSPI128x160$5-10Color, fast refresh
ILI9341 TFTSPI240x320$8-15Larger color display
E-PaperSPIVarious$15-40Low power, no refresh
Motors & Actuators
TypeDriver NeededPriceNotes
SG90 ServoNone (PWM)$2-5180°, weak torque
MG996R ServoNone (PWM)$5-10Strong, metal gears
28BYJ-48 StepperULN2003$3-6Cheap, slow, weak
NEMA17 StepperA4988/DRV8825$8-15Strong, precise
DC Motor + GearboxL298N/TB6612$5-15High speed available
Linear ActuatorL298N$15-40Push/pull motion
Motor Drivers
DriverChannelsMax CurrentVoltagePrice
L298N22A/ch5-35V$3-8
TB6612FNG21.2A/ch4.5-13.5V$3-8
A49881 stepper2A8-35V$2-5
DRV88251 stepper2.5A8.2-45V$3-6
TMC22091 stepper2A4.75-28V$8-15
Power Components
ComponentSpecsPriceUse Case
LM78055V 1A linear$0.50Simple 5V reg
AMS1117-3.33.3V 1A linear$0.303.3V from 5V
LM2596 ModuleAdj. 3A buck$2-4Efficient step-down
MT3608 ModuleAdj. 2A boost$1-3Step-up voltage
TP4056 ModuleLiPo charger$1-2Battery charging
18650 Holder1-4 cells$1-5Battery mounting
JST Connectors2-pin$2-5/10pkBattery connections
Passive Components (Buy Kits!)
Kit TypeTypical ContentsPriceRecommendation
Resistor Kit600+ pcs, 1/4W$8-15Get once, use forever
Capacitor KitCeramic + electrolytic$10-20Essential
LED Kit5mm various colors$5-10Common needs
Button KitTactile switches$5-8Various sizes
Diode Kit1N4148, 1N4007, etc$5-8Protection circuits

Supplier Guide

Speed vs Cost Trade-offs
SupplierShippingPriceBest For
DigiKey1-3 days$$$Precise specs, datasheets, urgent
Mouser1-3 days$$$Wide selection, quality
Amazon1-2 days$$Quick delivery, returns easy
Adafruit3-5 days$$$Quality, tutorials, support
SparkFun3-5 days$$$Breakout boards, learning
AliExpress2-6 weeks$Bulk, budget, clones
LCSC1-2 weeks$$Chinese components, good quality
Part Number Patterns
DigiKey: Descriptive codes
- 1N4007-TP → 1N4007 diode
- SER0006 → Servo motor
Mouser: Manufacturer part numbers
- Search by exact MPN
Amazon: ASIN codes
- Search by product name + specs
AliExpress: Store + product ID
- Check reviews, sold count

Compatibility Checks

Voltage Level Matrix
Can Connect To:
From: 3.3V Logic 5V Logic
─────────────────────────────────────
3.3V MCU ✅ Direct ⚠️ Level shifter
5V MCU ⚠️ Divider ✅ Direct
3.3V Sensor ✅ Direct ⚠️ May work*
5V Sensor ❌ Damage! ✅ Direct
* Some 3.3V sensors are 5V tolerant - check datasheet
Current Budget Check
Source Limits:
- Arduino 5V pin: 500mA max (from USB)
- Arduino GPIO: 40mA max per pin
- ESP32 3.3V: 500mA max
- ESP32 GPIO: 40mA max
- RP2040 GPIO: 16mA max
Always calculate:
Total current = Σ(component currents)
If total > source limit → external power needed
I2C Address Conflicts

Common I2C addresses to watch:

0x3C - SSD1306 OLED
0x27 - PCF8574 LCD backpack
0x3F - PCF8574A LCD backpack
0x68 - MPU6050, DS3231 RTC
0x76 - BME280 (default)
0x77 - BME280 (alternate), BMP280
0x48 - ADS1115 ADC
0x50 - AT24C32 EEPROM

Output Format Options

Markdown Table (Default)

Best for documentation, GitHub READMEs.

CSV Export
csv
Qty,Component,Specifications,Unit Price,Total,Supplier,Link
1,Arduino UNO R3,ATmega328P,15.00,15.00,Amazon,https://...
Shopping Cart Links

Provide direct "Add to Cart" links where possible.

Example BOM Output

See references/example-bom.md for complete example.

Shared Output Contract

Use the shared Arduino skill contract: state assumptions, required tools and versions, implementation steps, tests/evidence by proof stage, known limitations, and recovery/security notes.

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
7
7-day trend score
10

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 30 Mar 2026, 7 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/wedsamuel1230/arduino-skills/bom-generator/badge)](https://verified-skill.com/skills/wedsamuel1230/arduino-skills/bom-generator)

Something wrong with this skill or its page? Tell us.