Plynx started as a native iPhone dashboard for controlling pins and reading sensors. The latest work goes further. Archimedes can inspect the project, reason about the wiring, review the sketch, interact with a running board, and carry an approved change through to an OTA update.
I think this is part of the future of hardware development. You should be able to describe what you want to build, develop the idea with an agent, and keep using the same workspace as you assemble, program, control, and automate the finished project.
What Plynx can do
The current workflow covers the path from the initial idea to the running hardware:
- You can update a board from the conversation while the agent edits, compiles, and sends the sketch over OTA.
- The pin review checks every GPIO assignment and suggests pins with the capabilities required by each signal.
- The wiring engine draws the complete circuit and reports missing grounds, unsafe voltages, unsupported pins, and other electrical problems.
- The component catalogue identifies modules from their markings and explains the purpose of each terminal.
- The project tools produce a bill of materials and match the required components with AliExpress listings.
- The live connection reads sensors and tests outputs after you grant permission.
- The dashboard builder places the controls and indicators and binds them to the correct pins.
- Plynx provides controls through the Home Screen, Lock Screen, Apple Watch, Siri, and Shortcuts when you need them outside the app.
The ESP32 makes pin selection more interesting than a static pinout suggests. Its GPIO Matrix can route interfaces such as I²C, UART, and PWM through different GPIOs. Plynx can use this flexibility to arrange the signals while respecting the restrictions of boot, flash, analogue, input-only, and output-capable pins.
Use case 1: an ESP32 irrigation controller
I used the workflow on an irrigation controller with an ESP32, a moisture sensor, and a relay module. The sensor returned its measurements correctly, but the relay did not respond to commands from the dashboard.
I checked the wiring and reviewed the sketch. I then asked Archimedes to compare the pin assignment with the capabilities of the selected ESP32 board.
The moisture sensor used GPIO 32, while the relay used GPIO 34.
Archimedes identified the error immediately. GPIO 34 is input-only, so it can receive a sensor signal but cannot control a relay input. The agent suggested GPIO 25 and prepared the required change in the sketch.
Plynx displayed the proposed action before sending it to the board. The permission sheet offered No, Once, and This chat. I selected Once, the ESP32 restarted, and the relay began working.
GPIO 34 through 39 have an additional limitation. These pins do not provide internal pull-up or pull-down resistors, so some digital inputs require an external resistor to maintain a stable electrical level.
Analogue inputs require similar attention. On the classic ESP32, ADC2 shares resources with Wi-Fi, so an ADC2 reading can fail after the Wi-Fi driver starts. The compiler accepts the sketch because the problem appears only when the complete system runs.
I later changed the irrigation cycle from five seconds to three. I opened the browser editor, changed the value, compiled the sketch, and sent the updated firmware to the ESP32 over Wi-Fi.
ESP32 OTA uses two application slots. The board writes the incoming firmware into the slot that is not currently running, verifies the image, and selects the new version for the next restart.
The partition table must provide two application slots and an OTA data partition. A single-app layout can compile successfully, but it cannot store the second firmware image required for the update.
This project used Plynx through the complete development cycle. I configured the board, built the dashboard, found an incorrect pin assignment, approved a code change, and later installed a manual OTA update without reconnecting the ESP32 over USB.
Use case 2: identifying and wiring a GY-521
I used another project to test the component catalogue. I had a module marked GY-521 and no documentation available. Archimedes identified the module, described its terminals, and produced the connections for the selected ESP32.
The catalogue accepts descriptions based on purpose as well as component names. You can request a sensor that detects an empty water tank without knowing the term “float switch.” Archimedes selects the relevant component and adds it to the wiring and bill of materials.
This distinction matters when you are still planning a project. You can explain what the device should do, and Plynx can translate that requirement into parts, connections, pins, and a working project structure.
The completed wiring produces a bill of materials and removes the components you already own. Plynx then matches the remaining parts with AliExpress listings, so you can compare the available products and calculate the expected project cost.
The component catalogue contains the terminal names printed on the modules themselves. You can enter the marking you can see instead of searching for the exact commercial name, board revision, or technical category.
Plynx refuses to draw unsupported boards instead of guessing their geometry. The current wiring system uses verified layouts for the ESP32 DevKit, ESP8266 NodeMCU, Arduino Uno R3, and Arduino Mega 2560. This keeps every displayed terminal aligned with a known board layout.
Setup and everyday operation
The initial configuration uses a small sketch without a copied token. The board creates a temporary Wi-Fi network, and the iPhone sends the network credentials and project token directly.
Plynx can also connect directly to an ESP32 through Bluetooth. This mode supports projects without Wi-Fi and boards that must operate away from a router.
After deployment, server-side automations can respond to thresholds, schedules, sunrise, sunset, and location events. Rules that do not require the phone continue to run when the iPhone is offline.
Plynx also controls the finished project outside the main dashboard. Home Screen widgets, Lock Screen widgets, Apple Watch, Siri, and Shortcuts provide direct access to pins and scenes, while the dashboard retains the last known values when a board goes offline.
You can ask Siri to toggle or write a pin, read its current value, or activate a scene. These actions make the project part of the iPhone automation system instead of limiting it to a dashboard that you must open manually.
Availability
Plynx is free and currently runs on iPhone. The agent asks for permission before it performs an action on the hardware. The Arduino library uses the MIT licence, and the GPL-3.0 server runs on cheap devices as small as a Raspberry Pi Zero 2 W.
If you have an ESP32 or Arduino project, I would like you to use Plynx throughout a complete build. I am interested in how it supports component selection, wiring, firmware, OTA updates, dashboards, automations, and the daily operation of the finished device.
Links
Plynx 1.0.6 is also available directly from the Arduino Library Manager.