Skip to content

Instantly share code, notes, and snippets.

@robertklep
Last active April 28, 2026 18:12
Show Gist options
  • Select an option

  • Save robertklep/5729b72715ed11ca6760c20a42393d84 to your computer and use it in GitHub Desktop.

Select an option

Save robertklep/5729b72715ed11ca6760c20a42393d84 to your computer and use it in GitHub Desktop.
ESPHome project template for the Seeed XAIO ESP32S3 with Wio SX1262 shield
## Example setup for the Seeed XIAO ESP32S3 with Wio SX1262 LoRa shield.
esphome:
name: seeedxiaowiosx1262
friendly_name: Seeed XIAO WIO SX1262
platformio_options:
upload_speed: 921600
### Optional: start breathing user LED at boot
on_boot:
light.turn_on:
id: user_led
effect: Breathing
brightness: 0.01
esp32:
variant: esp32s3
framework:
type: esp-idf
### Optional: enable logging
logger:
level: DEBUG
### User button on Wio shield
binary_sensor:
- platform: gpio
name: 'User button'
internal: true
pin:
number: GPIO21
inverted: true
### User LED on Wio shield
output:
- platform: ledc
id: user_led_output
pin: GPIO48
light:
- platform: monochromatic
id: user_led
name: 'User LED'
output: user_led_output
internal: true
#### Optional: breathing effect
effects:
- lambda:
name: Breathing
update_interval: 1s
lambda: |-
static int state = 0;
auto call = id(user_led).turn_on();
call
.set_transition_length(1000)
.set_brightness(state ? 0.01 : 1.0)
.perform();
state = !state;
### SPI for SX1262 on Wio shield
spi:
- id: lora_spi
clk_pin: GPIO7
miso_pin: GPIO8
mosi_pin: GPIO9
### SX1262 on Wio shield
sx126x:
id: sx126x_id
busy_pin: GPIO40
cs_pin: GPIO41
dio1_pin: GPIO39
rst_pin: GPIO42
hw_version: sx1262
modulation: LORA
rx_start: true
rf_switch: true
sync_value: [0x14, 0x24] # private
crc_enable: true
tcxo_voltage: 3_0V
tcxo_delay: 5ms
pa_power: 15 # valid values: -3 to 22dBm
#### Optional: LoRa settings to mimic Meshtastic LONG_FAST
bandwidth: 250_0kHz
frequency: 869525000
preamble_size: 8
spreading_factor: 11
coding_rate: CR_4_5
#### Optional: log received LoRa packets
on_packet:
then:
- lambda: |-
ESP_LOGD("lora", "rx packet:%s rssi:%.2f snr:%.2f",
format_hex(x).c_str(),
rssi,
snr);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment