mcpField
B
bom-generator

bom-generator

github.com/wedsamuel1230その他28139 回インストール2 週間前に更新
リポジトリ

bom-generator について

bom-generatorは、プロジェクトの要件から部品表を作成するメーカー向けスキルです。部品の互換性確認や販売元リンクに対応し、複数形式で出力できます。

主な機能

  1. 01対話形式での部品表作成
  2. 02JSONから部品表を生成
  3. 03XLSX、CSV、Markdown、JSONで出力
  4. 04部品データベースと販売元リンク
  5. 05電圧・電流・I2Cの確認

活用シーン

  1. 01メーカー向けプロジェクトの部品計画
  2. 02注文前の部品コスト見積もり
  3. 03電圧と電流の互換性確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/wedsamuel1230/arduino-skills --skill bom-generator

インストール後、Claude Code で/bom-generatorを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/
example-project.json
references/
example-bom.md
scripts/
generate_bom.py

詳細

BOM Generator

メーカー向けプロジェクトの包括的な部品表を、販売元へのリンクと互換性チェック付きで作成します。

リソース

  • scripts/generate_bom.py - xlsx/csv/markdown 形式の BOM を生成する Python スクリプト(openpyxl が必要です)
  • references/example-bom.md - BOM の完全な例
  • assets/example-project.json - スクリプト用のサンプルプロジェクト設定

クイックスタート

対話形式で BOM を生成します:

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

JSON 設定から生成します:

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

部品データベースを一覧表示します:

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

エクスポート形式:xlsx(デフォルト)、csv、md、json

使用する場面

  • ユーザーがプロジェクトについて説明し、部品リストを必要としている場合
  • ユーザーが「X に必要な部品は何ですか」と尋ねた場合
  • ユーザーが設計用の部品を注文したい場合
  • ユーザーが費用の見積もりを必要としている場合

ワークフロー

ステップ 1:プロジェクト要件の収集

ユーザーに次の項目を確認します:

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)
ステップ 2:BOM の生成

ガイド付きで生成するには scripts/generate_bom.py --interactive を実行するか、次のテンプレート形式を使用します:

# 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]

部品データベース

マイクロコントローラー
ボード電圧GPIOフラッシュメモリ価格帯最適な用途
Arduino UNO R35V1432KB$12-25初心者、多くのチュートリアル
Arduino Nano5V1432KB$3-20コンパクトなプロジェクト
Arduino Mega5V54256KB$15-40多数の I/O、大規模なプログラム
ESP32 DevKit3.3V344MB$5-15WiFi、Bluetooth、IoT
ESP32-C33.3V224MB$4-10低価格の WiFi
RP2040 Pico3.3V262MB$4-6デュアルコア、PIO
RP2040 Pico W3.3V262MB$6-8Pico + WiFi
一般的なセンサー
センサーインターフェース電圧価格用途
DHT22/AM23021-Wire3.3-5V$3-8温度 + 湿度
BME280I2C/SPI3.3V$5-15温度 + 湿度 + 気圧
BMP280I2C/SPI3.3V$2-8温度 + 気圧(湿度なし)
DS18B201-Wire3-5.5V$2-5防水温度センサー
HC-SR04GPIO5V$1-3超音波距離測定
VL53L0XI2C3.3V$5-12レーザー距離測定(高精度)
MPU6050I2C3.3V$2-8加速度計 + ジャイロスコープ
BNO055I2C3.3V$25-359-DOF IMU(最高精度)
VEML7700I2C3.3V$4-8周囲光(ルクス)
MAX30102I2C3.3V$5-12心拍数 + SpO2
ディスプレイ
ディスプレイインターフェース解像度価格備考
16x2 LCDI2C16 文字$3-8I2C バックパックが必要です
20x4 LCDI2C20 文字$5-12大きめの文字表示
SSD1306 OLEDI2C128x64$3-8鮮明で、バックライト不要
SSD1306 OLEDI2C128x32$3-6コンパクトな OLED
ST7735 TFTSPI128x160$5-10カラー、高速リフレッシュ
ILI9341 TFTSPI240x320$8-15大型カラー表示
E-PaperSPI各種$15-40低消費電力、リフレッシュ不要
モーターとアクチュエーター
種類必要なドライバー価格備考
SG90 サーボなし(PWM)$2-5180°、トルクは弱め
MG996R サーボなし(PWM)$5-10高トルク、金属ギア
28BYJ-48 ステッパーULN2003$3-6安価、低速、トルクは弱め
NEMA17 ステッパーA4988/DRV8825$8-15高トルク、高精度
DC モーター + ギアボックスL298N/TB6612$5-15高速にも対応
リニアアクチュエーターL298N$15-40押し引き動作
モータードライバー
ドライバーチャンネル数最大電流電圧価格
L298N22A/ch5-35V$3-8
TB6612FNG21.2A/ch4.5-13.5V$3-8
A49881 ステッパー2A8-35V$2-5
DRV88251 ステッパー2.5A8.2-45V$3-6
TMC22091 ステッパー2A4.75-28V$8-15
電源コンポーネント
コンポーネント仕様価格用途
LM78055V 1A リニア$0.50シンプルな5Vレギュレーター
AMS1117-3.33.3V 1A リニア$0.305Vから3.3Vに変換
LM2596 Module可変 3A 降圧$2-4効率的な降圧
MT3608 Module可変 2A 昇圧$1-3電圧を昇圧
TP4056 ModuleLiPo充電器$1-2バッテリーの充電
18650 Holder1-4セル$1-5バッテリーの固定
JST Connectors2ピン$2-5/10pkバッテリーの接続
受動部品(キットを購入!)
キットの種類一般的な内容価格おすすめ
抵抗器キット600個以上、1/4W$8-15一度購入すれば長く使えます
コンデンサーキットセラミック + 電解$10-20必須
LEDキット5mm、各種カラー$5-10よく使う用途に対応
ボタンキットタクトスイッチ$5-8各種サイズ
ダイオードキット1N4148、1N4007など$5-8保護回路

サプライヤーガイド

納期とコストのトレードオフ
サプライヤー配送日数価格最適な用途
DigiKey1-3日$$$正確な仕様、データシート、急ぎの場合
Mouser1-3日$$$豊富な品ぞろえ、高品質
Amazon1-2日$$迅速な配送、返品が簡単
Adafruit3-5日$$$品質、チュートリアル、サポート
SparkFun3-5日$$$ブレークアウトボード、学習
AliExpress2-6週間$大量購入、低予算、互換品
LCSC1-2週間$$中国製コンポーネント、良好な品質
部品番号のパターン
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

互換性の確認

電圧レベルマトリックス
                     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
電流予算の確認
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アドレスの競合

注意すべき一般的なI2Cアドレス:

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

出力形式のオプション

Markdownテーブル(デフォルト)

ドキュメントやGitHub READMEに最適です。

CSVエクスポート
Qty,Component,Specifications,Unit Price,Total,Supplier,Link
1,Arduino UNO R3,ATmega328P,15.00,15.00,Amazon,https://...
ショッピングカートのリンク

可能な場合は、「カートに追加」への直接リンクを提供してください。

BOM出力例

完全な例については、references/example-bom.mdを参照してください。

共通出力契約

共通のArduinoスキル契約を使用してください: 前提条件、必要なツールとバージョン、実装手順、 検証段階ごとのテスト/証拠、既知の制限事項、復旧/セキュリティに関する注意事項を記載します。

コメント