Dulus
선택한 모델로 데스크톱·터미널에서 동작하는 AI 에이전트, 모델은 Fuel에 호스팅되고 $DULUS로 결제
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Atlas Scientific Wi-Fi Pool Kit v2 firmware for the Adafruit Feather ESP32-S3 TFT. Channel 3536852 uses field 1 for pH, field 2 for ORP in mV, and field 3 for temperature in Celsius.
.tools/arduino-cli.esp32:esp32:adafruit_feather_esp32s3_tft:PartitionScheme=tinyuf2./dev/cu.usbmodem1101. Verify it again after reconnecting.vendor/Ezo_I2c_lib, commit 5140af60b780123e6b3c5bf0f444ceb0b6c4d4cd.firmware/pool_kit/pool_kit.ino.firmware/pool_kit/secrets.h and .private/credentials.json.Checked against the attached Atlas v2 manual on October 14, 2026: the board options match the page 17 screenshot, including 240 MHz CPU, QIO 80 MHz, 4 MB flash, TinyUF2 with two application slots, QSPI PSRAM, TinyUSB, CDC enabled, debug level None, and erase-all disabled. The generated partition table also matches the original device's table byte for byte. Page 4 contains an older HUZZAH32 GPIO table, so the working sketch retains the official ESP32-S3 firmware's sensor pins. The manual states that Atlas tested these instructions on Windows, not macOS. This setup uses Arduino CLI in place of the IDE menus.
Wi-Fi credentials and the ThingSpeak write key become part of the compiled firmware stored on the device. Build outputs, flash backups, and credential files are excluded from Git. Do not share these files.
From this directory:
.tools/arduino-cli compile \
--fqbn esp32:esp32:adafruit_feather_esp32s3_tft:PartitionScheme=tinyuf2 \
--library vendor/Ezo_I2c_lib \
--build-path .build firmware/pool_kit
Libraries: ThingSpeak 2.1.1, Adafruit GFX 1.12.6, Adafruit BusIO 1.17.4, Adafruit ST7735/ST7789 1.11.0. The Atlas library is supplied through --library.
The sketch retains the manufacturer's TFT rendering, I2C sequence, pin assignments for pH/ORP/RTD, and serial calibration commands. Pump commands and the pump device are removed, and the auxiliary circuit is disabled. Sensor polling takes about three seconds, fixing the original unsigned delay underflow. Cloud writes occur every 16 seconds after each completed request.
Empty, malformed, nonfinite, or failed readings are omitted. Temperature outside -200 to 850 C is also rejected. An invalid RTD reading displays no data and leaves ThingSpeak field 3 missing. The manufacturer's 25 C fallback is used only for pH compensation and is identified in serial output and channel status.
A complete 4,194,304-byte Feather flash backup is saved privately at .private/original-flash.bin. SHA-256:
8e55ba4d831b4e1611ec5ddfe29ca0cd69779d89d012fc743903aba43a96f0fb
The original partition layout is TinyUF2 4 MB with two 1,408 KiB application slots. The original application descriptor reports version afa5cdd, built July 22, 2025, with ESP-IDF v5.5-1-gb66b5448e0. This descriptor does not establish the Atlas sketch revision. The prepared sketch compiles successfully (998,043 bytes, 69% of the application slot). The generated partition table matches the original byte for byte, and the full flash backup was verified against the device by digest. Firmware uploaded on October 14, 2026 with explicit approval. Esptool verified each written region by hash. The board booted and all three sensors returned measurements. Han confirmed that the TFT shows pH, ORP, and RTD rows.
The backup does not contain calibration stored on the separate EZO circuits. Restore has not been tested. The approved upload preserved the NVS and filesystem regions. Future firmware uploads require explicit approval. Do not erase all flash or NVS.
ThingSpeak entries 1, 2, and 3 were read back through its private API, 16 seconds apart. The latest was October 14, 2026 at 2:51:18 PM EDT: pH 4.32, ORP 177 mV, temperature 25.47 C. Serial output showed matching physical sensor measurements and three successful upload results. These readings precede the guided pH calibration.
Three-point pH calibration is complete. Each write was explicitly approved: midpoint 7.00, low point 4.00, then high point 10.00. The sensor reported ?CAL,1, ?CAL,2, and finally ?CAL,3. Readings after the high-point calibration were 9.99 and 10.01 in pH 10.00 buffer. Movement between solutions caused transient readings after the low point. Cloud uploads have been resumed with datalog. The private API confirmed entry 5 at October 14, 2026, 03:04:38 PM EDT: pH 7.75, ORP 184 mV, RTD 23.96 C. These are sensor readings during the transition out of calibration, not a confirmed pool-water sample.
ORP was calibrated with explicit approval in 225 mV reference solution using orp:cal,225. The sensor confirmed ?CAL,1, and subsequent readings were 224.9, 225.1, and 225.2 mV in that solution. After resuming datalog, ThingSpeak entry 13 was verified at 03:07:39 PM EDT. RTD calibration was not performed and is optional under the Atlas manual. Calibration persistence across a physical power cycle has not been independently tested during this setup.
Close other serial programs before opening the monitor:
.tools/venv/bin/python -m serial.tools.miniterm /dev/cu.usbmodem1101 9600 --eol CR
Exit with Control-]. Any command pauses cloud uploads. poll resumes sensor readings without cloud writes. datalog resumes both.
Perform calibration only when ready to use the buffer solutions. Keep the probe in its recommended storage solution until then. Follow the probe manufacturer's handling guidance.
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗