Guides

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

Embedded

How to use TinyGo to write code for microcontrollers.

Linux programs

How to use TinyGo to create standard Linux executables.

macOS programs

How to use TinyGo to create standard macOS executables.

WebAssembly

How to use TinyGo for WebAssembly in browsers (WASM) as well as for use on servers and other edge devices (WASI).

Windows programs

How to use TinyGo to create standard Windows executables.

IDE Integration

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

Tinygo flash errors

Solving common problems when flashing your first TinyGo program.

Tips, Tricks and Gotchas

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

Debugging

Debug TinyGo programs using GDB.

Driver Design and Development

Developing drivers from scratch for embedded using TinyGo

Optimizing binaries

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

Porting code to TinyGo

How to port existing code to TinyGo.

Contributing

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

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.