TinyGo
Getting Started
Documentation
Media
Documentation
Tutorials
Blinking LED
Using PWM
Serial Monitor
GDB
Guides
Build from source
Using WebAssembly
Linux support
Tips, Tricks and Gotchas
Contributing
Package organization
IDE Integration
VS Code
IntelliJ IDEA
Other IDEs
Debugging
Optimizing binaries
Tinygo flash errors
Porting code to TinyGo
Concepts
Compiler Internals
Microcontroller Targets
Interrupts
The volatile keyword
Inline assembly
Heap allocation
Datatypes
Calling convention
Differences from Go
Harvard architectures (AVR)
Pipeline
Peripherals
GPIO
I2C
FAQ
What is TinyGo exactly?
Why a new compiler?
Why Go instead of Rust?
What about the ESP8266/ESP32?
Drivers
Low Power
Package Organization
Reference
Using TinyGo
Basic command examples
Subcommands
Important Build Options
Misc. Build Options
Microcontrollers
Adafruit Circuit Playground Bluefruit
Adafruit Circuit Playground Express
Adafruit CLUE
Adafruit Feather M0
Adafruit Feather M4
Adafruit Feather M4 CAN
Adafruit Feather nRF52840 Express
Adafruit Feather nRF52840 Sense
Adafruit Feather RP2040
Adafruit Feather STM32F405 Express
Adafruit Grand Central M4
Adafruit ItsyBitsy M0
Adafruit ItsyBitsy M4
Adafruit ItsyBitsy nRF52840
Adafruit MacroPad RP2040
Adafruit Matrix Portal M4
Adafruit Metro M4 Express AirLift
Adafruit PyBadge
Adafruit PyGamer
Adafruit PyPortal
Adafruit Qt Py
Adafruit QT Py RP2040
Adafruit Trinket M0
Adafruit Trinkey QT2040
Arduino Mega 1280
Arduino Mega 2560
Arduino MKR WiFi 1010
Arduino MKR1000
Arduino Nano
Arduino Nano 33 BLE
Arduino Nano 33 BLE Sense
Arduino Nano 33 IoT
Arduino Nano RP2040 Connect
Arduino Uno
Arduino Zero
BBC micro:bit
Blues Wireless Swan
Digispark
Dragino LoRaWAN GPS Tracker LGT-92
ESP32 - Core board
ESP32 - mini32
ESP8266 - d1mini
ESP8266 - NodeMCU
Game Boy Advance
iLabs Challenger RP2040 LoRa
M5Stack
M5Stack Core2
M5Stamp C3
Makerdiary nRF52840-MDK
Makerdiary nRF52840-MDK USB Dongle
Microchip SAM E54 Xplained Pro
nice!nano
Nintendo Switch
Nordic Semiconductor PCA10031
Nordic Semiconductor PCA10040
Nordic Semiconductor PCA10056
Nordic Semiconductor PCA10059
Particle Argon
Particle Boron
Particle Xenon
Phytec reel board
Pimoroni Badger2040
Pimoroni Tufty2040
PineTime DevKit
PJRC Teensy 3.6
PJRC Teensy 4.0
ProductivityOpen P1AM-100
Raspberry Pi Pico
Seeed Seeeduino XIAO
Seeed Sipeed MAix Bit
Seeed Studio LoRa-E5 Development Kit
Seeed Wio Terminal
Seeed XIAO BLE
Seeed XIAO RP2040
SiFive HiFive1 Rev B
Sparkfun Thing Plus RP2040
ST Micro "Nucleo" F103RB
ST Micro "Nucleo" F722ZE
ST Micro "Nucleo" L031K6
ST Micro "Nucleo" L432KC
ST Micro "Nucleo" L552ZE
ST Micro STM32F103XX "Bluepill"
ST Micro STM32F407 "Discovery"
STM32 Nucleo WL55JC
Waveshare RP2040-Zero
X9 Pro Smartwatch
Machine package
arduino
arduino-mega1280
arduino-mega2560
arduino-mkr1000
arduino-mkrwifi1010
arduino-nano
arduino-nano33
arduino-zero
atsame54-xpro
badger2040
bluepill
challenger-rp2040
circuitplay-bluefruit
circuitplay-express
clue
d1mini
digispark
esp32-coreboard-v2
esp32-mini32
feather-m0
feather-m4
feather-m4-can
feather-nrf52840
feather-nrf52840-sense
feather-rp2040
feather-stm32f405
gameboy-advance
grandcentral-m4
hifive1b
itsybitsy-m0
itsybitsy-m4
itsybitsy-nrf52840
lgt92
lorae5
m5stack
m5stack-core2
m5stamp-c3
macropad-rp2040
maixbit
matrixportal-m4
metro-m4-airlift
microbit
nano-33-ble
nano-rp2040
nicenano
nodemcu
nrf52840-mdk
nrf52840-mdk-usb-dongle
nucleo-f103rb
nucleo-f722ze
nucleo-l031k6
nucleo-l432kc
nucleo-l552ze
nucleo-wl55jc
p1am-100
particle-argon
particle-boron
particle-xenon
pca10031
pca10040
pca10056
pca10059
pico
pinetime-devkit0
pybadge
pygamer
pyportal
qtpy
qtpy-rp2040
reelboard
stm32f4disco
swan
teensy36
teensy40
thingplus-rp2040
trinket-m0
trinkey-qt2040
tufty2040
waveshare-rp2040-zero
wioterminal
x9pro
xiao
xiao-ble
xiao-rp2040
Devices
machine package
Go language features
Packages supported by TinyGo
Edit this page
Create child page
Create documentation issue
Create project issue
Documentation
Concepts
Compiler Internals
Compiler Internals
Want to learn how TinyGo works? We break it all down for you here.
Microcontroller Targets
Interrupts
The volatile keyword
Inline assembly
Heap allocation
Datatypes
Calling convention
Differences from Go
Harvard architectures (AVR)
Pipeline
Last modified May 3, 2021:
This very large commit switches to using Docsy theme for site, as well as also reorganizing the site content to fit the structure from the system defined by https://documentation.divio.com/ (bc59555)