Learn TINYGO with Real Code Examples
Updated Nov 27, 2025
Code Sample Descriptions
1
Blink an LED
package main
import (
"machine"
"time"
)
func main() {
led := machine.D13
led.Configure(machine.PinConfig{Mode: machine.PinOutput})
for {
led.Toggle()
time.Sleep(500 * time.Millisecond)
}
}
Toggle an LED on pin 13 every 500 ms using TinyGo.
2
Read Analog Sensor
package main
import (
"machine"
"time"
"fmt"
)
func main() {
sensor := machine.ADC{Pin: machine.A0}
sensor.Configure()
for {
value := sensor.Get()
fmt.Println("Sensor value:", value)
time.Sleep(200 * time.Millisecond)
}
}
Read a potentiometer on pin A0 and print the value to the serial console.
3
Control Servo Motor
package main
import (
"machine"
"time"
)
func main() {
servo := machine.D9
servo.Configure(machine.PinConfig{Mode: machine.PinPWM})
for {
for duty := 40; duty <= 115; duty += 5 {
servo.Set(duty)
time.Sleep(50 * time.Millisecond)
}
for duty := 115; duty >= 40; duty -= 5 {
servo.Set(duty)
time.Sleep(50 * time.Millisecond)
}
}
}
Sweep a servo motor using PWM on pin D9.