Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>TinyGo ToolkitNew to Visual Studio Code? Get it now.
TinyGo Toolkit

TinyGo Toolkit

Amken LLC.

|
10 installs
| (0) | Free
A comprehensive TinyGo development environment for VS Code with SDK management, target selection, board browser, driver explorer, build tools, and serial monitor
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

TinyGo Toolkit for VS Code

A comprehensive TinyGo development environment for Visual Studio Code. This extension provides a full-featured IDE experience for developing embedded applications with TinyGo.

TinyGo Toolkit

Features

SDK Version Management

  • Multiple SDK Support: Manage multiple TinyGo installations and switch between them easily
  • Auto-Detection: Automatically detects TinyGo installations in common locations
  • Version Display: See the active SDK version in the status bar

Target/Board Selection

  • 170+ Supported Boards: Quick access to all TinyGo-supported targets
  • Categorized Browser: Boards organized by manufacturer (Arduino, Raspberry Pi, ESP32, Nordic, STM32, etc.)
  • Board Information: View detailed specs including CPU, flash size, RAM, and features
  • Search & Filter: Quickly find boards by name, CPU, or features

Driver Browser

  • Dynamic Driver Discovery: Automatically fetches the latest drivers from tinygo-org/drivers
  • One-Click Installation: Install drivers directly from the sidebar
  • Documentation Links: Quick access to driver documentation and examples
  • Category Organization: Drivers grouped by type (Sensors, Displays, Motors, Communication, etc.)
  • Offline Support: Falls back to built-in driver list when offline

Examples Browser

  • 40+ SDK Examples: Browse examples directly from your TinyGo SDK
  • Categorized View: Examples organized by type (Basics, GPIO, Communication, USB, Display, Audio, WASM)
  • Quick Preview: Click to open and view example code
  • Copy to Workspace: One-click copy of examples to your project
  • Search & Filter: Find examples by name or description

Build System

  • Build Command: Build your project with Ctrl+Shift+B (Cmd+Shift+B on Mac)
  • Flash Command: Flash directly to your board with Ctrl+Shift+F
  • Run Command: Run on simulator targets
  • Error Highlighting: Build errors shown directly in the editor
  • Binary Size Analysis: View detailed memory usage breakdown
  • Heap Analysis: Identify heap allocations in your code
  • Configurable Options: Set scheduler, garbage collector, and optimization level

Serial Monitor

  • Integrated Terminal: Built-in serial monitor for debugging
  • Port Auto-Detection: Automatically detects available serial ports
  • Configurable Baud Rate: Support for 9600 to 921600 baud

Project Management

  • Project Initialization: Create new TinyGo projects with proper structure
  • IntelliSense Configuration: Automatically configures gopls for TinyGo's machine package
  • Go Extension Integration: Seamless integration with the official Go extension
  • Makefile Generation: Generate build scripts for CI/CD
  • Dependency Updates: Update project dependencies with confirmation

Code Snippets

  • TinyGo Snippets: Quick templates for common patterns
    • tgmain - Main function with LED blink
    • tgpin - Pin configuration
    • tgi2c - I2C bus setup
    • tgspi - SPI bus setup
    • tguart - UART configuration
    • tgadc - ADC reading
    • tgpwm - PWM configuration
    • tgneo - WS2812/NeoPixel setup
    • tgssd1306 - OLED display setup
    • tgbme280 - BME280 sensor setup
    • And more!

Requirements

  • TinyGo 0.30.0 or later recommended
  • Go extension for VS Code
  • Go 1.21 or later (for the Go extension)

Installation

  1. Install the extension from the VS Code Marketplace
  2. Install TinyGo from tinygo.org
  3. The extension will automatically detect your TinyGo installation

Manual SDK Configuration

If TinyGo is not auto-detected, you can manually add SDK paths:

  1. Open Command Palette (Ctrl+Shift+P)
  2. Run "TinyGo: Add SDK Path"
  3. Select your TinyGo installation directory

Usage

Quick Start

  1. Open a Go project or create a new folder
  2. Run "TinyGo: Initialize TinyGo Project" from the Command Palette
  3. Select your target board from the TinyGo sidebar or status bar
  4. Write your code
  5. Press Ctrl+Shift+B to build or Ctrl+Shift+F to flash

Selecting a Target

Click on the target indicator in the status bar or:

  1. Open the TinyGo sidebar (click the TinyGo icon in the Activity Bar)
  2. Expand the "Boards" section
  3. Click on a board to select it as the current target

Using Drivers

  1. Open the TinyGo sidebar
  2. Expand the "Drivers" section
  3. Find the driver you need
  4. Right-click and select "Install Driver" to add it to your project
  5. Use the provided snippets for quick setup

Using Examples

  1. Open the TinyGo sidebar
  2. Expand the "Examples" section
  3. Browse by category or use the filter
  4. Click an example to preview it
  5. Right-click and select "Copy to Workspace" to use it in your project

Serial Monitor

  1. Select your serial port: "TinyGo: Select Serial Port"
  2. Start the monitor: "TinyGo: Start Serial Monitor" or Ctrl+Shift+M

Extension Settings

Setting Description Default
tinygo.sdk.paths List of TinyGo SDK paths []
tinygo.sdk.current Active SDK path ""
tinygo.target Current target board ""
tinygo.port Serial port for flashing ""
tinygo.serialBaudRate Serial monitor baud rate 115200
tinygo.build.scheduler Scheduler type "tasks"
tinygo.build.gc Garbage collector "conservative"
tinygo.build.opt Optimization level "z"
tinygo.build.extraFlags Additional build flags []
tinygo.autoDetectSDK Auto-detect TinyGo true
tinygo.configureGoExtension Configure Go extension true

Commands

Command Description
TinyGo: Select Target Choose a target board
TinyGo: Select SDK Version Switch between TinyGo versions
TinyGo: Add SDK Path Add a TinyGo installation
TinyGo: Build Build the project
TinyGo: Flash Build and flash to device
TinyGo: Run Run on simulator target
TinyGo: Select Serial Port Choose serial port
TinyGo: Start Serial Monitor Open serial terminal
TinyGo: Show Binary Size Analyze memory usage
TinyGo: Analyze Heap Allocations Find heap allocations
TinyGo: Initialize TinyGo Project Create new project
TinyGo: Configure IntelliSense Set up gopls for TinyGo
TinyGo: Generate Makefile Create build scripts

Keyboard Shortcuts

Shortcut Command
Ctrl+Shift+B Build
Ctrl+Shift+F Flash
Ctrl+Shift+M Serial Monitor

Supported Boards

The extension supports all TinyGo targets including:

  • Arduino: Uno, Nano, Mega, Nano 33 IoT, MKR1000, Zero
  • Raspberry Pi: Pico, Pico W, Pico 2
  • Espressif: ESP32, ESP32-C3, ESP32-C6, ESP8266, M5Stack
  • Nordic: nRF52840, micro:bit, micro:bit V2
  • STM32: Nucleo boards, Blue Pill, Discovery
  • Adafruit: Feather, ItsyBitsy, Circuit Playground, PyGamer, PyPortal
  • Seeed: XIAO, Wio Terminal
  • Amken: Trio (STM32G0B1)
  • And many more...

Supported Drivers

Browse and install drivers for:

  • Sensors: BME280, DHT, MPU6050, VL53L1X, and more
  • Displays: SSD1306, ST7789, ILI9341, E-Paper
  • LEDs: WS2812/NeoPixel, APA102/DotStar
  • Communication: LoRa, WiFi (ESP-AT), Bluetooth, CAN bus
  • Motors: Servo, DC motors, TMC2209, TMC5160 stepper drivers
  • Storage: SD cards, EEPROM, Flash

Troubleshooting

TinyGo not detected

  • Ensure TinyGo is installed: tinygo version
  • Add the SDK path manually: "TinyGo: Add SDK Path"
  • Check that tinygo is in your PATH

IntelliSense errors with machine package

  • Run "TinyGo: Configure IntelliSense" after selecting a target
  • Reload the window after changing targets
  • The extension uses TinyGo's cached GOROOT for proper package resolution

Build errors with Go extension

  • The Go extension may conflict with TinyGo's custom GOROOT
  • Ensure tinygo.configureGoExtension is enabled
  • Reload the window after changing targets

Flash fails

  • Check that the correct port is selected
  • Ensure the device is connected and in bootloader mode
  • Verify you have write permissions to the serial port

Contributing

Contributions are welcome! Please feel free to submit issues and pull requests at GitHub.

License

LICENSE for details.

Acknowledgments

  • TinyGo Project for the amazing compiler
  • TinyGo Drivers for the hardware drivers
  • The TinyGo community for their support and contributions

Brought to you by

Amken LLC

Amken LLC - Virginia, USA

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft