Sure! I’m not sure how to paste it in an indented, neat way but here’s the code!
#include <Arduino.h>
#include <RadioLib.h>
#include "esp_sleep.h"
#include "driver/gpio.h"
// === Heltec V4 pinout (officiellt) ===
#define RADIO_NSS 8
#define RADIO_RST 12
#define RADIO_BUSY 13
#define RADIO_DIO1 14
#define VEXT_PIN 36
#define LED_PIN 35
SX1262 radio = new Module(RADIO_NSS, RADIO_DIO1, RADIO_RST, RADIO_BUSY);
void VextOFF() {
pinMode(VEXT_PIN, OUTPUT);
digitalWrite(VEXT_PIN, HIGH); // HIGH = OFF on Heltec
}
void ledOFF() {
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, HIGH); // HIGH = OFF on Heltec
}
void go_to_sleep() {
ledOFF();
VextOFF();
// Put SX1262 into sleep
radio.sleep();
// Keep NSS high and hold it during deep sleep
pinMode(RADIO_NSS, OUTPUT);
digitalWrite(RADIO_NSS, HIGH);
gpio_hold_en((gpio_num_t)RADIO_NSS);
gpio_deep_sleep_hold_en();
Serial.println("GOING TO SLEEP NOW");
Serial.flush();
esp_deep_sleep_start();
}
void setup() {
Serial.begin(115200);
delay(2000);
Serial.println("Init radio...");
SPI.begin(9, 11, 10); // SCK, MISO, MOSI Heltec V4
int state = radio.begin();
if (state != RADIOLIB_ERR_NONE) {
Serial.println("Radio init failed!");
} else {
Serial.println("Radio OK");
}
delay(1000);
go_to_sleep();
}
void loop() {}