SwiftIO board

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

hardware.png

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.

Tech specs

SwiftIO.png
  • MCU

i.MX RT1052 Crossover Processor with Arm® Cortex®-M7 core @600MHz

  • Power

  • Memory

  • LED

  • USB

3.3V

8MB external flash, 32MB SDRAM

Built-in RGB LED

Micro USB

DigitalIn/Out

AnalogIn

PWMOut

I2C

SPI

UART

CAN

46

12

14

2

2

4

2

PINOUT DIAGRAM OF SWIFTIO.png

MadMachine IDE

software.png

MadMachine IDE is the integrated development environment for SwiftIO board. It eliminates the complicated usages and provides you with a simple and clear interface. Thus, you could start your own code with ease.

 

In brief, you could use it to write code, compile and download code to the board. In addition, there are built-in examples for your reference.

 

The IDE is based on Electron, there are two versions in total: macOS and Windows. They are available for free download. Find their download links below.

IDE.jpg

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 it (the IDE also uses it to build your project). Find its tutorial here.

SwiftIO framework

Swift.png

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. 

 

In your project, you need only to import it, then use the read or write method in each class. In this way, you could easily control the SwiftIO board.

@2xStructure.png

​Get started

3643751-craft-go-paper-plane-send-start_

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.

​Let's enjoy

show.png

In the end

idea.png

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.