Explore hardware using Swift
Here you’ll find a new possibility of Swift language, Usually used for iOS development, Swift could now run on microcontroller.
Its features and advantages makes the hardware development more accessible to all of you. You could easily use Swift to control different electronic devices around you, and even build some splendid projects.
SwiftIO board is our first microcontroller board that runs Swift language. It consists of chips and peripherals with different functionality and allows you to deal with input and output.
It could certainly light a LED or read sensor like many other microcontrollers, and it still has huge potential in GUI programming.
i.MX RT1052 Crossover Processor with Arm® Cortex®-M7 core @600MHz
Micro SD card slot, supporting standard and high capacity SD cards
Micro USB connector for power
On-board USB to UART for serial communication
46 GPIO on left and right edges
On-board GRB LED
12 x 12-bit analog to digital (ADC) converters
4 UART, 2 CAN, 2 IIC and 2 SPI
14 PWM pins
More additional advanced features to meet the needs of advanced users
MadMachine for VS Code
MadMachine extension for VS Code is an easy-to-use tool for your board. In brief, you could use it to create new projects, build and download code to the boards. You can find it on the extension marketplace. Here is a tutorial to get you started.
For developers, there is also a CLI tool mm-sdk. You could edit code anywhere you like, like Xcode or VS Code, then use the tool to compile your project.
SwiftIO framework is the Zephyr RTOS-based framework of our project. It abstracts all the low-level hardware and provides you with simple usage, including all the classes like DigitalOut, AnalogIn, PWM, I2C, SPI, etc. You simply need to import it to your project, then could control your board with it.
Believe me, it’s really easy to start your first project. Just need a SwiftIO board, your computer, a USB cable and a SD card. Later on, you will use more electronic components to explore more about hardware.
In the end
Why start this project?
There are many languages that could run on microcontrollers now, like C on Arduino, Python on MicroPython and CircuitPython, Go on TinyGo, .NET on NetDuino. Swift language is such an efficient and powerful language that could have huge potential in the microcontroller world, especially for some complicated applications and projects.
In addition, Swift language is now connected so tightly to the Apple system, and usually for iOS development. But it deserves more attention in other fields. So we came up with a cross-platform solution - the IDE on both Mac and Windows, as well as the CLI tool.
We would like to take full advantages of Swift language on microcontroller world. And one day, maybe you could program the small screens in SwiftUI style.