Q: Who was Swift for Arduino made by?
A: Swift for Arduino is not affiliated with Apple or Arduino. My name is Carl Peto, I am an independent software developer, working in iOS for 10 years and in professional software for 25 years. By day I do consultancy work. I invented the Swift for Arduino compiler, library and IDE in my spare time and developed concept and business with Ellie Kay, Mark Swanson, Paul Shelley and Axel Roest.
Q: Will it work on my hardware?
A: Swift for Arduino is a self contained application, designed to work on modern Macs (macOS Catalina, 10.15 or later... see below if you have an older version of macOS) building and uploading via USB to your prototyping board or via ICSP onto a variety of AVR based microcontrollers. For more advanced users, the system can build for and program most atmega microcontrollers, however for people still at the non expert end, you will probably want to use the super helpful AVR library, included with the IDE. This provides a comprehensive range of hardware support, similar to things like the Arduino environment and is designed to work for the Arduino UNO (and some other supported boards, mostly those based on the atmega328p chip). It allows you to program with a subset of the Swift language I call "uSwift" (as in 'micro Swift'). It will be natural and familiar to Swift developers, although there are many areas where you do things differently, as is normal for all microcontroller programming, so it's worth reading the documentation carefully.
Q: Can I use Swift for Arduino on Windows, or Linux?
A: Currently the only released version of the IDE is the macOS build. However, we are committed to a Windows and Linux version in the near future if possible. See Linux or Windows for more information.
Q: Can I use an older version of macOS, Mojave, High Sierra, etc.?
A: From version 4.8 onward the IDE requires Catalina or more recent macOS at startup, however if you have an older macOS/mac, you should be able to use a version of the IDE if you have macOS Sierra (10.12) or later but not with the free (unlicensed) version. To use the IDE on an older mac, you must purchase a license by contact support on firstname.lastname@example.org or email@example.com and we will give you a suitable link to download a version that will work on your mac.
Q: How much does it cost?
A: You can use the IDE for free for non commercial or educational purposes, but you MUST buy a license if you wish to use the IDE for commercial purposes or if you want support.
A license for the IDE costs $40. The license allows you unlimited use of the IDE and includes unlimited support (within reason). Also a license is required for commercial use of the product. Commercial use of the IDE without a license is in breach of the terms and conditions of the IDE. The license also includes upgrades as the product improves.
Q: How do I buy a license?
A: Just click HERE to go to the payments page, then press the "Pay by Card" button and buy securely using a credit or debit card, payments powered by Stripe [NOTE: we have had to temporarily take this function offline sometimes, please contact us by email if you would like to purchase a license and we'll sort it out right away].
If you would rather use the Mac App Store version and pay as you go subscription (with free one month trial), then go HERE and when you decide to get a subscription, just follow any of the prompts in the app. The Mac App store version free one month trial also includes full support and commercial use.
Q: Why is the macOS Apple App Store product called "S4A IDE", rather than "Swift for Arduino", is it different?
A: The version on the App Store is functionally the same for the same release number. It has the same Swift compiler, same uSwift standard library, same LLVM back end, binutils and avrdude. But it uses a different build system (not based on gmake) and it does not have access to some common directories. This is due to sandbox restrictions on the app store. The "Swift for Arduino IDE" you can download here is still fully code signed, hardened and notarised by Apple so it is just as secure, but it is not sandboxed, which means it can access standard directories on the mac.
The app store version cannot be used without a paid subscription. This is because app store products require meaningful support as part of being on the app store. So unlicensed use is not possible with the app store build. When you use the app store version with a paid subscription you are permitted to use it for commercial purposes too. [NOTE: at times the mac app store build falls a bit behind the free standing version, mostly due to the increased complexity involved in building for the mac app store]
Also, the names "Swift" and "Arduino" have been removed from all prominence in the mac app store app at the request of the app review team.
Q: Isn't this just for kids/education?
A: S4A is a great introduction to microcontrollers. Unlike many other platforms where the tutorials work, or you download a simple project, but the minute you make a small change, everything breaks, S4A is built on Swift; a powerful first class compiled language from the C/C++ family that is used every day by millions of professional programmers. The intention is that when you go to make the next project and the one after that, things will continue to work smoothly. The safety built into the language from the ground up prevents whole classes of undefined behaviours and programmer errors. This makes more difference than you might realise. Combined with the powerful, expressive syntax, and you have a tool that can be used by any developer that will save you time and pain and means you can spend more time programming and less time debugging. This is a great product for beginners and experienced developers alike and is used to develop some amazing, professional products, running in real, commercial devices, it is far from just a toy or an educational tool.
Q: I have another question...
A: If you have any other questions about S4A, you can email us at firstname.lastname@example.org.