mcpField
B
bom-generator

bom-generator

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

bom-generator について

bom-generator は、メイカープロジェクト向けの部品表を作成し、部品候補、販売元リンク、互換性チェックを提供するスキルです。部品選定や購入を計画する人向けで、BOM を表計算形式、CSV、Markdown、JSON で出力できます。

主な機能

  1. 01対話形式または JSON から BOM を作成
  2. 02xlsx、CSV、Markdown、JSON で出力
  3. 03部品データベースを参照
  4. 04電圧、電流、I2C の互換性を確認
  5. 05販売元と購入リンクを追加

活用シーン

  1. 01電子工作プロジェクトの部品を計画
  2. 02部品の注文前に費用を見積もる
  3. 03部品と対象ボードの互換性を確認
  4. 04文書作成や購入用に BOM を出力

インストール

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

$npx skills add https://github.com/wedsamuel1230/embedded-engineering-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スキル契約を使用してください: 前提条件、必要なツールとバージョン、実装手順、 検証段階ごとのテスト/証拠、既知の制限事項、復旧/セキュリティに関する注意事項を記載します。

コメント