Skip to main content

A bit of background

In brief, our project is about a new combination of microcontroller and Swift language. You can program the board in Swift language to build exciting projects. If you don't know about microcontroller or Swift language, you could continue the reading.


What is a so-called microcontroller? It is like a microcomputer that is usually embedded in all kinds of electronic devices, like home appliances. It is the heart of these devices to execute some specified tasks. It can take input from the physical world (sensors) and control output devices (actuators).

When you use your computer, you type texts with a keyboard. In this case, the keyboard serves as an input device. The screen will display the result and thus is an output device. Now come back to the microcontroller. It can work with various devices. Suppose that you connect it to a switch and a light: the switch serves as an input to detect your action and the LED as an output to generate light. There are tons of devices with different usage, so a microcontroller can do different tasks.

A microcontroller usually contains a CPU, RAM, ROM (can be understood as RAM that can only be read from but cannot be changed), and different kinds of I/O peripherals, to interact with the external devices. Other devices will be attached to its pins to allow it sense and react to the physical world.

There are many popular microcontrollers that use different language: Arduino, MicroPython... Each one has its own advantages. And the SwiftIO Feather board (or SwiftIO board) use the Swift language.

Nowadays, microcontrollers develop quickly and become more and more powerful. You could program them to realize some more advanced projects.


As for the Swift language, it’s a modern language introduced by Apple in 2014. It combines the advantages of other languages and known as a simple, efficient, safe language. Maybe you also know that it is usually for application development. However, Swift also has much potential in the microcontroller world, especially for complicated projects or graphic applications.

Here is just a brief introduction about them. You will understand them better as you continue with the following tutorials.