With the launch of iOS 13, iPhone users now have the ability to edit code on CircuitPython USB devices! Once you’re device is updated, you can connect a board such as Circuit Playground Express and edit & run code on the go.
All you’ll need is an iPhone 6 or later, a Lightning to USB adapter (or Apple’s Lightning to USB Camera Adapter), a CircuitPython powered USB device, and a Micro USB cable. Check out the how-to below:
1 – Update your iPhone to iOS 13
Check for new OS updates in Settings->General->Software Update. If you already have iOS 13 or later, you’re good to go.
2 – Connect CircuitPython device to iPhone
Connect your Lightning to USB Adapter to iPhone and connect your CircuitPython device to the adapter via a micro USB cable.
3 – Copy code from CIRCUITPY drive
Open the Files app, and tap on the drive labelled CIRCUITPY. Locate the code.py file within. Tap and hold on code.py and choose Copy from the menu.
4 – Paste code to internal storage
Next in the Files app, navigate back and tap On My iPhone. Tap and hold on an empty area, and choose Paste from the menu.
5 – Edit code
Open the App Store and search for an app named Koder Code Editor and download/install it. Open Koder and tap the new file icon in the lower left hand corner, tap Open Other App’s Files, then open the internal copy of code.py stored in On My iPhone. Make changes to your code, then close the file – it will be saved automatically.
6 – Overwrite original code.py on CIRCUITPY
Return to the Files app, navigate to On My iPhone, and tap and hold on the edited code,py file. Choose Copy from the menu. Finally, navigate to the CIRCUITPY drive, tap and hold in a blank area, choose Paste from the menu, and then choose Replace from the popup that appears.
Wait a few moments, your CircuitPython device will restart and begin running the new code. That’s all there is to it!
Note that your CircuitPython device may periodically restart while being powered by iPhone – for continuous operation, be sure to connect your board to a dedicated power source.
iPad users can look forward to gaining the same capabilities when iPadOS 13 launches later this month 🎉