Let’s tiny with TinyGo
GoSheffield October meetup
Whoami
Dimas Yudha Prawira
Software Engineer at OVO.
Volunteering as Organizer GoJakarta meetup from 2016
(https://www.meetup.com/GoJakarta/)
Go technology
Go for Embedded Software?
Embedded Software
Embedded software is computer software, written to control machines or devices that are not typically
thought of as computers, commonly known as embedded systems. It is typically specialized for the
particular hardware that it runs on and has time and memory constraints.[1] This term is sometimes used
interchangeably with firmware.
A precise and stable characteristic feature is that no or not all functions of embeded software are
initiated/controlled via a human interface, but through machine-interfaces instead.[2]
https://en.wikipedia.org/wiki/Embedded_software
Why Go?
● Speed of compiled language
● Easy to learn
● Easy to develop at system level
● Have a large library support
● Not depends on any VM or interpreters
Go Embedded Software Framework (TinyGo https://tinygo.org/)
TinyGo is a project to bring the Go programming language to
microcontrollers and modern web browsers by creating a new compiler
based on LLVM.
You can compile and run TinyGo programs on several different
microcontroller boards such as the BBC micro:bit and the Arduino Uno.
Greeting sample
TinyGo Playground, cool stuff yet… (https://play.tinygo.org/)
Running on simulator (still facing problems….)
@DimasYudha_P
https://www.linkedin.com/in/dprawira/