Skip to main content

Introduction

Welcome to the MadMachine! Excited to see you here!!!

Maybe you are not clear about the way all stuff works. Don't worry, let's find it out together.

What is MadMachine?#

Our project all focuses on Swift language and microcontrollers. We provide you with the necessary hardware and software support to explore together the possibility of their combination. You can program your board in Swift language to control all kinds of hardware, like LEDs, speakers, motors, or make them responsive to your actions.

Example banner

Well, here's a little bit of background. You can skip this part if you're familiar with it.

Swift language#

Let's first talk about Swift language. It is a programming language created by Apple. Nowadays, it's widely used for application development. Besides, many developers from all over the world are finding its possibilities in different filed, like server-side, etc.

With many years of experience in electronics engineering, we strongly believe huge potentials of Swift in the microcontroller world. It is a powerful, efficient, easy-to-learn language, and can the hardware programming can be more friendly and secure.

Microcontroller#

When it comes to microcontrollers, many guys may have different definitions. In brief, you can take them as small computers. You program it to receive or send data. We'll dive deeper into hardware in section Learn.

It is everywhere in our daily life and usually embedded in all kinds of devices. You can see them in keyboards, printers, microwave ovens, washing machines... But the microcontrollers in them are programmed in advance to perform specific tasks and have limited functionalities.

There are also some microcontrollers with more usages and can be programmed by you to do multiple tasks, with endless possibilities, like our boards, Arduino...

And then...#

Yeah, they can now work together!!! You can write several lines of Swift code to get some stuff to work.

You guys don't need to know complicated low-level stuff, simply starting with some example projects, no matter you have or don't have related knowledge.

What can I do with all boards?#

There're endless possibilities... You can get inspiration from instructables and hackster.

The principles of all kinds of projects are not that complicated. To sum up, your board gets info from your surroundings, like light, temperature, sound, or your action like pressing a button, touching a screen. After it gets data, it will show it in different ways like lighting, display, movement, sound, etc. Of course, what your board will do is all decided by your code.

note

After all, microcontrollers are not computers, so you cannot expect them to do everything, especially some tasks that need heavy computing power.

Why do I choose MadMachine?#

Nowadays, the MCUs have become more and more powerful. The traditional usage like reading sensors is such a piece of cake for them. Of course, nearly all boards can do the work. Moreover, with the growing capability, there are more advanced applications, such as GUI. Programming in the C language is of great efficiency indeed. However, GUI involves complicated logic and interface, and C is really hard to figure out.

So the combination of a modern language and MCUs can open up a whole new world. Swift is relatively easy to learn. Even if its efficiency is not up to C, but it's enough for all usages. What's more, some functionalities make the code more organized and accessible, like package management, etc. You have more freedom to create your projects. And most importantly, SwiftUI provides a convenient way to program GUI; if it can work on all kinds of screens, there can be endless possibilities.

BTW, you can learn more detailed differences between SwiftIO and similar boards, like Arduino, MicroPython, Raspberry Pi, you can go here.

What do I need?#

At first, you certainly need a board to work with. Our board family has two boards now: SwiftIO board and SwiftIO Feather board. They both come with beginner kits to help you start.

To program your board, you simply need to install the MadMachine extension in VS code. It allows you to create, compile and download code.

Let's keep going.

Resources#

Never be afraid that you have no prior experience. You can follow the tutorials to get started. There are 5 sections in all, and you can navigate them by clicking on the header.

header
  • Overview - start from here to get familiar with the MadMachine project and basic operations.

  • How-to - learn some useful guides for your projects.

  • Learn - then learn A to Z of electronics to understand better how everything works.

  • Tutorials - try some built-in projects and get inspirations.

  • Reference - consult the documentation of APIs as you program your board.

More info#

  • Twitter โ€“ know who we are.

  • Discord โ€“ discuss and share your opinions.

  • Github โ€“ find SwiftIO source code.

  • Youtube โ€“ learn with us step-by-step.

Our boards are stable enough to be used in most of your projects. We believe you will love it once you start. Besides, it's super easy to learn. And as you go further, you will see its charm.

Hope all of you will enjoy it.