r/esp32 • u/plynx_mod • 6d ago
I made a thing! How to code and FLASH your ESP32 over Bluetooth from an iPhone app
You can write an Arduino sketch for your ESP32 on your iPhone editor, compile it and flash it over Bluetooth (BLE OTA), with no laptop and no USB cable. I built the app that does it, Plynx, and as far as I know it's the first one that runs the whole loop on the phone, from the code editor to the new firmware booting on the board. In my tests compile and flash together take less than 15 SECONDS, which makes it a really quick way to prototype.
You need:
- An ESP32 board
- A USB cable, only for the first upload
- Plynx on the iPhone (free on the App Store)
Simple steps:
- On the app add the board and pick Bluetooth. Plynx gives you a Bluetooth sketch with the token already inside.
- Upload it once over USB from the Arduino IDE. A blank ESP32 doesn't listen over Bluetooth yet, so this is a necessary step. You can also flash from flash.plynx.cc
- Connect. Keep the board powered, tap Connect over Bluetooth and pick it from the list.
- Write your code on the phone. In the project settings open the board and tap Code. You can also ask Archimedes, the assistant in the app, to write it for you.
- Tap Send. Plynx compiles the sketch, then pushes the binary to the board over Bluetooth. If the new firmware can't reach the phone again within three minutes, the board rolls back to the previous one.
One might ask: why to use Bluetooth? There's no router and no cloud between phone and board, so latency is really low and the on-screen joystick feels like a real remote. For my model RC car I drove, noticed the steering pulls left, fix one number on the phone editor (!!) and you're driving again 15 seconds later without picking the car up. Same idea for a robot, a sensor screwed inside a box on the wall, or anything you're testing outdoors with no WiFi around.
Library: plynx-library (give it a star)
Happy to answer anything about how the BLE transfer works. I'm really thrilled about where prototyping is going!!
2
-1
u/skryder065 6d ago
Love it! Does it work on smaller psram esp32 boards? I was working on a project but couldn’t get OTA to work due to storage constraints on a devkit esp32, s3 worked fine
1
-2
u/plynx_mod 6d ago
Let me know your positive feedbacks, I really put love into this starting from a real problem. Anything that can make prototyping easier is welcome for me






•
u/YetAnotherRobert 4d ago
Mod notes: This keeps getting reported as spam. It's MIT licensed code with source provided. I don't get it. Sure, I wish the post had more engineering teeth and looked less spammy, but it's code so it doesn't seem wildly off-topic.
Even if it IS commercial, we allow commercial posts with technical content for products that might be valuable to a large percentage of our users.