ESP32 BLE同期
ESP32とのペアリング済みBluetooth LE直接接続。確認応答付きのバージョン管理プロトコルで、常に実際の状態を表示。
ESP32とのペアリング済みBluetooth LE直接接続。確認応答付きのバージョン管理プロトコルで、常に実際の状態を表示。
PLAからPEEK、PA-CF、PPSまで。メーカー出典付きの一般的な初期目安で、公式要件としては扱いません。
ロック画面とDynamic Islandにフィラメント、目標、現在温度、湿度、残り時間をデバイスから直接表示。

アカウントもサーバーもインターネットも不要。すべてiPhoneとドライヤーの間だけ。
Sensirion SHT40の精度とリアルタイムグラフ。
内蔵の目安と独自ブランドのプロファイル。
開始/終了湿度、平均温度、グラフと統計。
ファームウェア制限、ウォッチドッグ、ファン回転監視、リレー、サーモスタット、温度ヒューズ。
SpoolDry #1、#2…に名前を付けて切り替え。
一度の支払いで今後の改善もすべて含む。
ドライヤーを組み立て、ESP32-C6にファームウェアを書き込む。
BluetoothでSpoolDryと数秒でペアリング。
プロファイルを選んで乾燥開始。ロック画面で確認。
低電圧(24 V DC)構成。商用電源は認証済みの密閉型アダプター内部のみ。庫内はファン定格により70 °Cに制限され、独立したハードウェアがソフトウェアの故障から保護します。
| 部品 | 選定部品 | 用途 | 数量 | 購入例リンク |
|---|---|---|---|---|
| ESP32 | Espressif ESP32-C6-DevKitC-1-N8 | コントローラー:BLE通信、センサー、温度制御、ファームウェアの安全ロジック。 | 1 | DigiKey · Adafruit |
| Temperature/humidity sensor | Sensirion SHT40 breakout (Adafruit #4885) | 庫内の温度と相対湿度を測定。 | 1 | Adafruit · DigiKey |
| PTC heater | Insulated PTC air heater 24 V / 100 W | ファンが庫内に送る空気を加熱。 | 1 | Amazon (Bestol 24V 100W) · VXB |
| Fan | San Ace 80 9GA0824P4G001 (24 V, tach) | PTCヒーターとスプール周りに送風し、湿った空気を排出。 | 1 | Sanyo Denki · Mouser (9GA0824P4 series) |
| MOSFET | Infineon IRLB8721PBF logic-level N-MOSFET | ヒーターPWM(Q1)、ファン(Q2)、リレーコイル(Q3)のローサイドスイッチ。 | 3 | Adafruit #355 · Mouser |
| Safety relay | Omron G5LE-1A4 DC24 relay (K1) | MOSFETと直列の、独立した第2のヒータースイッチ。 | 1 | DigiKey · Omron datasheet |
| Thermostat 85 °C | Cantherm F20A08505ACFA06E thermostat (TS1) | 庫内のハードウェア過熱保護(独立)。 | 1 | DigiKey · Cantherm F20 series |
| Thermal fuse 100 °C | Cantherm SDF-DF100S thermal cutoff (TCO) | ヒーター電流経路の最終手段となる復帰しないヒューズ。 | 1 | DigiKey |
| Heater NTC | Semitec 104GT-2 NTC thermistor + 47 kΩ 1 % resistor | ヒーター吹出口温度を測定し、出力制限と故障検出に使用。 | 1 | Mouser |
| Power supply | Mean Well GST220A24-R7B desktop adapter | すべて24 V DCで給電。商用電源は認証済みアダプター内部だけにとどまります。 | 1 | Mouser · Newark |
| Power connector | Kycon KPJX-PM-4S panel jack (mates with R7B plug) | コントローラーケースのロック付き24 V入力。 | 1 | DigiKey · Kycon datasheet |
| Fuse | ATO blade fuse 7.5 A + Littelfuse inline holder | 配線を短絡から保護。 | 1 | Littelfuse 0FHA0002XP (Amazon) · Keystone 3557-2 PCB holder |
| 5 V regulator | Pololu D24V10F5 step-down regulator | 24 VからESP32ボードの5 Vピンへ給電。 | 1 | Pololu |
| Wires, terminals, passives | Small parts | 組み立て、コネクタ、受動部品。 | 1 | Adafruit Perma-Proto (Pololu) · Phoenix 1935161 (DigiKey) |
| Enclosure | Hammond 1591XXDSBK ABS enclosure + insulated dry box | 電子回路を加熱された庫外に置き、低温に保ちます。 | 1 | Hammond 1591XX |
リンクは2026年10月に確認した購入例です。在庫は変動します。同等定格の部品で代替可能です。
| GPIO | Function | Component | Dir | Notes |
|---|---|---|---|---|
GPIO23 | I²C SDA | SHT40 | I/O | Arduino default SDA on ESP32-C6 |
GPIO22 | I²C SCL | SHT40 | Out | 100 kHz, 25 ms timeout, bus recovery |
GPIO18 | Heater PWM | Q1 gate (100 Ω, 10 kΩ pull-down) | Out | LEDC 1 kHz, 10-bit, soft-start |
GPIO21 | Heater enable | Q3 gate → relay K1 coil | Out | HIGH only while PREHEATING/DRYING |
GPIO19 | Fan enable | Q2 gate (100 Ω, 10 kΩ pull-down) | Out | Forced ON whenever heating |
GPIO20 | Fan tach | San Ace pulse sensor | In | 10 kΩ pull-up to 3V3, 2 pulses/rev |
GPIO2 | Heater NTC (ADC1_CH2) | 104GT-2 + 47 kΩ to 3V3 | In | 12 dB attenuation, 8-sample average |
GPIO8 | Status LED | On-board RGB LED | Out | Strapping pin; LED only |
GPIO9 | Local button | On-board BOOT button | In | Short: stop · 3 s: reset fault · 10 s: clear bonds |
5V / GND | Power | Pololu D24V10F5 output | — | Do not also power from USB while on 24 V without care |
ESP32-C6-DevKitC-1-N8 · USB-C data cable · SHT40 + STEMMA QT cable
(full dryer: see the Bill of Materials above)# Arduino IDE 2.x: https://www.arduino.cc/en/software
# or PlatformIO Core:
python3 -m pip install -U platformio# Arduino IDE → Settings → Additional boards manager URLs:
https://espressif.github.io/arduino-esp32/package_esp32_index.json
# Boards Manager → install "esp32 by Espressif Systems" ≥ 3.3.12
# arduino-cli
arduino-cli core update-index --additional-urls https://espressif.github.io/arduino-esp32/package_esp32_index.json
arduino-cli core install esp32:esp32# Use the USB-C port labelled "UART" on the DevKitC-1.
# Unplug the 24 V supply while flashing from your computer.# Arduino IDE: Tools → Board → esp32 → "ESP32C6 Dev Module"
# Flash Size: 8MB · Partition Scheme: Custom (uses SpoolDry/partitions.csv)
# PlatformIO: board = esp32-c6-devkitc-1 (already in platformio.ini)# macOS: /dev/cu.usbserial-* · Linux: /dev/ttyUSB0 · Windows: COM3
arduino-cli board list# Library Manager → "NimBLE-Arduino" by h2zero ≥ 2.5.1
arduino-cli lib install "NimBLE-Arduino@2.5.1"
# PlatformIO installs it automatically (lib_deps)cd esp32
pio run
# or
arduino-cli compile --fqbn esp32:esp32:esp32c6:FlashSize=8M,PartitionScheme=custom SpoolDrypio run -t upload
# or
arduino-cli upload -p /dev/ttyUSB0 --fqbn esp32:esp32:esp32c6:FlashSize=8M,PartitionScheme=custom SpoolDrypio device monitor -b 115200
# expected:
SpoolDry firmware 1.0.0 (BLE protocol v1) ready as "SpoolDry-A1B2"
Advertising SpoolDry service 5D0F0001-2B7E-4C8A-9B1E-53504F4F4C44# Any BLE scanner (e.g. nRF Connect) must show "SpoolDry-XXXX"
# advertising service 5D0F0001-2B7E-4C8A-9B1E-53504F4F4C44# SpoolDry → Device → Add Dryer (Bluetooth permission prompt appears)# Tap "SpoolDry-XXXX" → accept the iOS pairing request
# New phones can pair within 5 min after power-on
# (or hold BOOT for 10 s to clear bonds and reopen pairing)SpoolDry/src/core/Config.h (pins, limits)SpoolDry/partitions.csv (2× 3 MB OTA slots)make -C test/host test (33 safety & protocol tests)5D0F0001-2B7E-4C8A-9B1E-53504F4F4C44公式メーカーページをもとにした一般的な初期目安で、普遍的な要件ではありません。必ずデータシートに従ってください。SpoolDryハードウェアv1は70 °Cまで。
| 素材 | 一般的な温度 | 一般的な時間 | SpoolDry初期値 | 出典 |
|---|---|---|---|---|
| PLA | 45–60 °C | 4–8 h | 50 °C · 6 h · <20% RH | Bambu Lab: 50–60 °C · 8 h (blast oven) Prusa Research: 45 °C · 6 h Fiberlogy: 50 °C · 4 h 3DXTECH: 45 °C · 4 h |
| PETG | 55–70 °C | 4–8 h | 65 °C · 6 h · <20% RH | Bambu Lab: 60–70 °C · 8 h (blast oven) Prusa Research: 55 °C · 6 h Fiberlogy: 60 °C · 4 h 3DXTECH: 65 °C · 4 h |
| ABS | 60–85 °C | 4–8 h | 70 °C · 6 h · <20% RH | Bambu Lab: 75–85 °C · 8 h (blast oven) Fiberlogy: 60 °C · 4 h 3DXTECH: 80 °C · 4 h |
| ASA | 65–85 °C | 4–8 h | 70 °C · 6 h · <20% RH | Bambu Lab: 75–85 °C · 8 h (blast oven) Prusa Research: 80 °C · 4 h Fiberlogy: 80 °C · 4 h 3DXTECH: 80 °C · 4 h |
| TPU | 50–75 °C | 4–8 h | 60 °C · 6 h · <15% RH | Bambu Lab: 65–75 °C · 8 h (blast oven) Prusa Research: 60 °C · 4–6 h 3DXTECH: 65 °C · 4 h |
| PA (Nylon) | 70–90 °C | 4–12 h | 70 °C · 12 h · <10% RH | Bambu Lab: 75–85 °C · 8–12 h (blast oven) Fiberlogy: 70 °C · 4 h 3DXTECH: 80 °C · 4 h / 90 °C · 4–6 h |
| PC | 70–90 °C | 4–8 h | 70 °C · 8 h · <15% RH | Polymaker: 70–80 °C · 6–8 h Bambu Lab: 75–85 °C · 8 h (blast oven) Prusa Research: 85 °C · 5 h 3DXTECH: 120 °C · 4 h+ |
| PVA | 55–85 °C | 4–12 h | 65 °C · 8 h · <15% RH | Raise3D: 80 °C · 8–12 h Bambu Lab: 75–85 °C · 8–12 h (blast oven) 3DXTECH: 65 °C · 4 h |
| BVOH | 50–85 °C | 4–12 h | 55 °C · 6 h · <15% RH | Fiberlogy: 50 °C · 4 h Bambu Lab: 75–85 °C · 8–12 h (blast oven) |
| PEEK 110–150 °C | 120–150 °C | 3–6 h | 70 °C · 6 h · <10% RH | 3DXTECH: 150 °C · 3 h |
| PEI / ULTEM 110–150 °C | 130–150 °C | 4–8 h | 70 °C · 6 h · <10% RH | 3DXTECH: 150 °C · 4–6 h / 130 °C · 4–6 h Prusa Research: 150 °C · 8 h |
| PPS 110–150 °C | 110–140 °C | 4–12 h | 70 °C · 6 h · <10% RH | Bambu Lab: 110–140 °C · 8–12 h (blast oven) 3DXTECH: 110 °C · 4 h |
| PA-CF | 70–100 °C | 4–12 h | 70 °C · 12 h · <10% RH | Bambu Lab: 75–85 °C · 8–12 h (blast oven) Prusa Research: 90 °C · 6 h Fiberlogy: 80 °C · 4 h 3DXTECH: 90 °C · 4 h |
| PA-GF 110–150 °C | 75–100 °C | 4–16 h | 70 °C · 12 h · <10% RH | Forward AM (BASF): 100 °C · 4–16 h Fiberlogy: 80 °C · 4 h 3DXTECH: 90 °C · 4 h Bambu Lab: 75–85 °C · 8–12 h (blast oven) |
| PETG-CF | 60–70 °C | 4–8 h | 65 °C · 6 h · <20% RH | Bambu Lab: 60–70 °C · 8 h (blast oven) 3DXTECH: 65 °C · 4 h |
| PLA-CF | 45–60 °C | 4–8 h | 50 °C · 6 h · <20% RH | Bambu Lab: 50–60 °C · 8 h (blast oven) |
| PC-CF 110–150 °C | 80–120 °C | 4–8 h | 70 °C · 10 h · <15% RH | Prusa Research: 90 °C · 4 h 3DXTECH: 120 °C · 4 h |
| ASA-CF | 65–85 °C | 4–8 h | 70 °C · 6 h · <20% RH | 3DXTECH: 80 °C · 4 h Bambu Lab: 75–85 °C · 8 h (blast oven) |
| PPS-CF 110–150 °C | 110–140 °C | 8–12 h | 70 °C · 6 h · <10% RH | Bambu Lab: 110–140 °C · 8–12 h (blast oven) |
0
全機能で3回の乾燥セッション、ドライヤー1台。
$19.99
無制限のセッション、複数ドライヤー、今後の改善すべて。現地価格はApp Storeに表示(米国:19.99ドル)。
サブスクなし。買い切り。