مزامنة ESP32 عبر BLE
اتصال Bluetooth LE مباشر ومقترن مع ESP32. بروتوكول بإصدارات وأوامر مؤكدة: يعرض التطبيق دائمًا الحالة الفعلية.
ESP32 · Bluetooth LE · iPhone
يربط SpoolDry مجفف الخيوط بجهاز iPhone عبر البلوتوث. شاهد الحرارة والرطوبة مباشرة، وابدأ التجفيف بملفات البوليمرات الهندسية، وتابع المؤقت على شاشة القفل. بلا حساب. بلا سحابة.
بدون اشتراك. شراء لمرة واحدة. · قريبًا على App Store

اتصال Bluetooth LE مباشر ومقترن مع ESP32. بروتوكول بإصدارات وأوامر مؤكدة: يعرض التطبيق دائمًا الحالة الفعلية.
من PLA إلى PEEK وPA-CF وPPS: إرشادات نموذجية مع مصادر المصنّعين، ولا تُعرض كمتطلبات رسمية.
شاشة القفل والجزيرة الديناميكية تعرضان الخيط والهدف والحرارة والرطوبة والوقت المتبقي مباشرة من الجهاز.

بلا حساب ولا خادم ولا إنترنت. كل شيء يبقى بين الـ iPhone والمجفف.
دقة Sensirion SHT40 مع مخططات مباشرة.
إرشادات مدمجة مع ملفات علاماتك الخاصة.
الرطوبة الأولية/النهائية ومتوسط الحرارة والمخططات والإحصاءات.
حدود البرنامج الثابت ومؤقت الحراسة ومقياس المروحة والمرحّل والترموستات والمصهر الحراري.
سمِّ SpoolDry #1 و#2 وغيرها وتنقّل بينها.
ادفع مرة واحدة. كل التحسينات المستقبلية مشمولة.
ابنِ المجفف أو حمّل البرنامج الثابت على ESP32-C6.
اقرنه مع SpoolDry عبر البلوتوث في ثوانٍ.
اختر ملف الخيط وابدأ التجفيف وتابعه على شاشة القفل.
بنية جهد منخفض (24 V تيار مستمر): يبقى جهد الشبكة داخل محول طاقة معتمد ومغلق. تُحد الحجرة عند 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. | 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 تيار مستمر. يبقى جهد الشبكة داخل هذا المحول المعتمد بالكامل. | 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 | يغذي منفذ 5 V في لوحة ESP32 من 24 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؛ يتغير التوفر. تعمل القطع المكافئة بنفس التصنيفات.
| 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 جلسات تجفيف كاملة بكل الميزات ومجفف واحد.
$19.99
جلسات غير محدودة وعدة مجففات وكل التحسينات. يعرض App Store السعر المحلي (الولايات المتحدة: 19.99 $).
بدون اشتراك. شراء لمرة واحدة.