TinyGo
  • Getting Started
  • Documentation
  • Media
  • Documentation
    • Tutorials
      • Blinking LED
      • Using PWM
      • Serial Monitor
      • GDB
    • Guides
      • Build from source
        • Build with system-installed LLVM
        • Manual LLVM build
        • Additional requirements
      • Embedded
        • Resources
      • WebAssembly
        • Using WASI
        • Using WASM
        • Additional Resources
      • Linux support
      • macOS support
      • Tips, Tricks and Gotchas
      • Windows support
      • Contributing
        • Adding runtime support for new processors
        • Package organization
      • IDE Integration
        • Vim and Neovim
        • VS Code
        • IntelliJ IDEA
        • Other IDEs
      • Debugging
      • Driver Design and Development
      • 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
        • Watchdog
      • 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 Badger2040-W
        • Pimoroni Tufty2040
        • PineTime DevKit
        • PJRC Teensy 3.6
        • PJRC Teensy 4.0
        • ProductivityOpen P1AM-100
        • Raspberry Pi Pico
        • Raspberry Pi Pico 2
        • Raspberry Pi Pico 2 W
        • Raspberry Pi Pico W
        • Seeed Sipeed MAix Bit
        • Seeed Studio LoRa-E5 Development Kit
        • Seeed Studio XIAO SAMD21 aka Seeeduino XIAO
        • 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
          • badger2040-w
          • 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
          • pico-w
          • pico2
          • pico2-w
          • 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
      • Go compatibility matrix
View page source Edit this page Create child page Create documentation issue Create project issue
  1. Documentation
  2. Concepts
  3. FAQ

FAQ

Here is where you can find the answers to the most frequently asked questions about TinyGo.

What is TinyGo exactly?

Why a new compiler?

Why Go instead of Rust?

What about the ESP8266/ESP32?

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)
© 2025 The TinyGo AuthorsAll Rights Reserved