Creative DIY Microcontroller Projects with TinyGo and WebAssembly
A practical guide to building embedded applications for low-powered devices, IoT, and home automation
Tobias Theel
BIRMINGHAMMUMBAI
Creative DIY Microcontroller Projects with TinyGo and WebAssembly
Copyright 2021 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
Group Product Manager: Aaron Lazar
Publishing Product Manager: Alok Dhuri
Senior Editor: Nitee Shetty
Content Development Editor: Tiksha Lad
Technical Editor: Karan Solanki
Copy Editor: Safis Editing
Project Coordinator: Deeksha Thakkar
Proofreader: Safis Editing
Indexer: Manju Arasan
Production Designer: Vijay Kamble
First published: April 2021
Production reference: 1160421
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.
ISBN 978-1-80056-020-8
www.packt.com
To Sir Patrick Stewart, for being a shining light of humanity even in the darkest days. And to my beloved dog, Luca, for silently accepting that some walks have been shorter than usual while writing this book.
Tobias Theel
Contributors
About the author
Tobias Theel works as the Technical Lead and DevOps for a German FinTech startup fino and since 2020 he has also started working for RegTech startup, ClariLab, as Lead Software Engineer. Being a software architect and an expert for Go and TinyGo alongside C# and Java, he is also iSAQB certified. Theel is a highly enthusiastic community contributor and is among the top 10% responders in C# and Unity3D as well as top 20% responders in .NET, Go, and Visual Studio on StackOverflow.
When not programming for fino or ClariLab, he can be found developing games, mainly at game jams such as the Ludum Dare Jam, where he develops games from scratch within 72 hours. As an active speaker at tech talks and a participant for numerous hackathons, Theel loves to share his knowledge of software development with fellow enthusiasts.
I want to thank my Team at ClariLab for granting me so many days off in order to finish this book. Also special thanks to Johannes Kolata, for giving so much valuable input for the book.
About the reviewers
Enrico von Otte started to learn programming as an 11-year-old child on the good old Commodore C64. Later he coded on an Amiga 2000 and in the mid 90s finally on PC. He is working in professional software development from 2005. After developing hardware close to software in C and C++, he moved to the C# world in 2008.
He developed GIS systems and document management systems until 2015. Now he is a professional software architect with a strong affinity to self-made code and the motto "Assembling is not developing".
Johannes Kolata started coding 8 years ago, working on document management systems. Since 2018, Kolata works as a Software Backend Engineer for German FinTech fino, which is best known for building the first digital bank account switch. Along the way, he has become an expert in developing in C#, Java, and Golang. He also became adept in C++ and has gained insights in multiple other programming languages. Besides working in FinTech industry, he is a passionate open source and 3D-printing enthusiast and has been building home automation systems from scratch that feature CAN communication, go API, and an Angular dashboard. When not working on projects, Kolata participates in game jams and hackathons.