Preface
If JavaScript or C# can run on microcontrollers, then Go can do it even better. While standard Go produces huge binaries, TinyGo produces binaries that fit on the smallest devices. Why should you choose Go for microcontroller and Wasm (short for WebAssembly) programming? My favorite reasons are that Go is easy to learn, easy to read, and easy to write. Also, Go comes with a powerful standard library that is loosely coupled and has strong concurrency capabilities included.
If you love Go as a language, then this book is for you. After working through this book, you'll have all the tools and knowledge you need to build all the microcontroller projects that you have ever dreamed of. Plus, as a further benefit, you will be able to build dashboards and home control apps using Wasm for your home automation projects. All of this can be achieved using TinyGo.
If you have never worked with microcontrollers before, here are some reasons why you should try it out:
- If you already are a programmer, it is a cool thing to see code affecting real-world appliances. It really is a great feeling to complete a project and finally see the motor turning, the LED blink, the buzzer beep, and so on.
- You will be constantly learning new things and gaining a deeper understanding of how computers work in general, as you will become familiar with different types of bus systems, protocols, hardware interfaces, and much more.
- The possibilities are virtually limitless when you're playing with microcontrollers. You are not bound to what is available on the market, as you can simply build everything on your own.
- You can learn how to write small, efficient programs to tell a microcontroller what you want from it. This will also help you become a better developer in general.
- You can contribute to cool projects and get in touch with great communities of like-minded people.