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.
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 Learning Playground.
Microcontrollers are ubiquitous in our daily lives and are often embedded in various devices. You can find them in keyboards, printers, microwave ovens, washing machines, and more. However, the microcontrollers in these devices are typically pre-programmed 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?
You can
- detect ambient environment, including temperature, humidity, pressure, gas, light...
- drive motors,
- play music using buzzer or speaker,
- display images on tiny screen,
- create light effect using LED strip,
- ...
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.
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?
If you're looking to begin your journey, the SwiftIO Playground kit is a fantastic choice. It is specifically designed to provide a comprehensive and user-friendly introduction to hardware programming.
To program your board, you simply need to install the MadMachine extension in VS code. It allows you to create, build and download code.
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.