Synchro ESP32 BLE
Liaison Bluetooth LE directe et jumelée avec l'ESP32. Protocole versionné à commandes acquittées : l'app montre toujours l'état réel.
ESP32 · Bluetooth LE · iPhone
SpoolDry relie votre sécheur de filament à l'iPhone en Bluetooth. Suivez température et humidité en direct, lancez un séchage avec des profils de polymères techniques et suivez le minuteur sur l'écran verrouillé. Sans compte. Sans cloud.
Sans abonnement. Achat unique. · Bientôt sur l'App Store

Liaison Bluetooth LE directe et jumelée avec l'ESP32. Protocole versionné à commandes acquittées : l'app montre toujours l'état réel.
Du PLA au PEEK, PA-CF et PPS : repères typiques avec sources fabricants, jamais présentés comme exigence officielle.
Écran verrouillé et Dynamic Island affichent filament, cible, température, humidité et temps restant, directement depuis l'appareil.

Pas de compte, pas de serveur, pas d'internet. Tout reste entre l'iPhone et le sécheur.
Précision Sensirion SHT40 et graphiques en direct.
Repères intégrés et vos propres profils de marque.
Humidité initiale/finale, température moyenne, graphiques et statistiques.
Limites firmware, watchdog, tachymètre, relais, thermostat et fusible thermique.
Nommez SpoolDry #1, #2 et plus, et passez de l'un à l'autre.
Payez une fois. Toutes les améliorations futures incluses.
Construisez le sécheur ou flashez le firmware sur l'ESP32-C6.
Jumelez-le à SpoolDry en Bluetooth en quelques secondes.
Choisissez un profil et lancez le séchage. Suivez-le sur l'écran verrouillé.
Architecture basse tension (24 V CC) : la tension secteur reste dans un bloc d'alimentation certifié et fermé. La chambre est limitée à 70 °C par le ventilateur ; un matériel indépendant protège des défauts logiciels.
| Composant | Pièce choisie | Rôle | Qté | Liens d'exemple |
|---|---|---|---|---|
| ESP32 | Espressif ESP32-C6-DevKitC-1-N8 | Contrôleur : BLE, capteurs, régulation et toute la logique de sécurité du firmware. | 1 | DigiKey · Adafruit |
| Temperature/humidity sensor | Sensirion SHT40 breakout (Adafruit #4885) | Mesure la température et l'humidité relative de la chambre. | 1 | Adafruit · DigiKey |
| PTC heater | Insulated PTC air heater 24 V / 100 W | Chauffe l'air que le ventilateur fait circuler dans la chambre. | 1 | Amazon (Bestol 24V 100W) · VXB |
| Fan | San Ace 80 9GA0824P4G001 (24 V, tach) | Fait circuler l'air dans le chauffage PTC et autour des bobines ; évacue l'air humide. | 1 | Sanyo Denki · Mouser (9GA0824P4 series) |
| MOSFET | Infineon IRLB8721PBF logic-level N-MOSFET | Interrupteurs côté masse pour le PWM du chauffage (Q1), le ventilateur (Q2) et la bobine du relais (Q3). | 3 | Adafruit #355 · Mouser |
| Safety relay | Omron G5LE-1A4 DC24 relay (K1) | Second interrupteur de chauffage indépendant, en série avec le MOSFET. | 1 | DigiKey · Omron datasheet |
| Thermostat 85 °C | Cantherm F20A08505ACFA06E thermostat (TS1) | Protection matérielle indépendante contre la surchauffe de la chambre. | 1 | DigiKey · Cantherm F20 series |
| Thermal fuse 100 °C | Cantherm SDF-DF100S thermal cutoff (TCO) | Fusible de dernier recours, non réarmable, sur le circuit du chauffage. | 1 | DigiKey |
| Heater NTC | Semitec 104GT-2 NTC thermistor + 47 kΩ 1 % resistor | Mesure la température en sortie de chauffage pour la limitation et la détection de défauts. | 1 | Mouser |
| Power supply | Mean Well GST220A24-R7B desktop adapter | Alimente tout en 24 V CC. La tension secteur reste dans ce bloc certifié. | 1 | Mouser · Newark |
| Power connector | Kycon KPJX-PM-4S panel jack (mates with R7B plug) | Entrée 24 V verrouillable sur le boîtier. | 1 | DigiKey · Kycon datasheet |
| Fuse | ATO blade fuse 7.5 A + Littelfuse inline holder | Protège le câblage des courts-circuits. | 1 | Littelfuse 0FHA0002XP (Amazon) · Keystone 3557-2 PCB holder |
| 5 V regulator | Pololu D24V10F5 step-down regulator | Alimente la broche 5 V de l'ESP32 depuis le 24 V. | 1 | Pololu |
| Wires, terminals, passives | Small parts | Assemblage, connecteurs et composants passifs. | 1 | Adafruit Perma-Proto (Pololu) · Phoenix 1935161 (DigiKey) |
| Enclosure | Hammond 1591XXDSBK ABS enclosure + insulated dry box | Garde l'électronique au frais, hors de la chambre chauffée. | 1 | Hammond 1591XX |
Liens d'exemple vérifiés en octobre 2026 ; la disponibilité évolue. Des pièces équivalentes conviennent.
| 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-53504F4F4C44Repères de départ typiques issus des pages officielles des fabricants, pas une exigence universelle. Suivez toujours la fiche technique. Le matériel SpoolDry v1 atteint 70 °C.
| Matériau | Température typique | Durée typique | Départ SpoolDry | Sources |
|---|---|---|---|---|
| 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 séchages complets avec toutes les fonctions, un sécheur.
$19.99
Séchages illimités, plusieurs sécheurs, toutes les améliorations. Prix local affiché par l'App Store (US : 19,99 $).
Sans abonnement. Achat unique.