These guides take you through the steps required to perform specific tasks using TinyGo.

Build from source

Build a development version of TinyGo from source if you want to help improve TinyGo or want to try the latest features.


TinyGo can compile code that can run on even very small microcontrollers.


TinyGo is very useful for compiling programs both for use in browsers (WASM) as well as for use on servers and other edge devices (WASI).

Linux support

How to use TinyGo to create normal Linux executables.

macOS support

How to use TinyGo to create standard macOS executables.

Tips, Tricks and Gotchas

Tips and tricks for small places. How to write efficient embedded code and avoid common mistakes.

Windows support

How to use TinyGo to create standard Windows executables.


Adding support for new chips, fixing bugs, improving the compiler, or otherwise improving the TinyGo project.

IDE Integration

TinyGo has some IDE support. This is how you can configure your IDE to recognize the machine package.


Debug TinyGo programs using GDB.

Optimizing binaries

How to improve speed or reduce code size for TinyGo programs.

Tinygo flash errors

Solving common problems when flashing your first TinyGo program.

Porting code to TinyGo

How to port existing code to TinyGo.