diff --git a/code/firmware-2.7.15.567b8ea/variants/esp32c3/diy/esp32c3_moonshine/pins_arduino.h b/code/firmware-2.7.15.567b8ea/variants/esp32c3/diy/esp32c3_moonshine/pins_arduino.h new file mode 100644 index 0000000..a717a37 --- /dev/null +++ b/code/firmware-2.7.15.567b8ea/variants/esp32c3/diy/esp32c3_moonshine/pins_arduino.h @@ -0,0 +1,24 @@ +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include + +static const uint8_t TX = 21; +static const uint8_t RX = 20; + +static const uint8_t SDA = 1; +static const uint8_t SCL = 0; + +static const uint8_t SS = 8; +static const uint8_t MOSI = 7; +static const uint8_t MISO = 6; +static const uint8_t SCK = 10; + +static const uint8_t A0 = 0; +static const uint8_t A1 = 1; +static const uint8_t A2 = 2; +static const uint8_t A3 = 3; +static const uint8_t A4 = 4; +static const uint8_t A5 = 5; + +#endif /* Pins_Arduino_h */ \ No newline at end of file diff --git a/code/firmware-2.7.15.567b8ea/variants/esp32c3/diy/esp32c3_moonshine/platformio.ini b/code/firmware-2.7.15.567b8ea/variants/esp32c3/diy/esp32c3_moonshine/platformio.ini new file mode 100644 index 0000000..9db1b38 --- /dev/null +++ b/code/firmware-2.7.15.567b8ea/variants/esp32c3/diy/esp32c3_moonshine/platformio.ini @@ -0,0 +1,27 @@ +; ESP32 C3 Super Mini Development Board +; https://www.espboards.dev/esp32/esp32-c3-super-mini/ +[env:esp32c3_moonshine] + +extends = esp32c3_base +board = esp32-c3-devkitm-1 +board_level = pr +build_flags = + ${esp32c3_base.build_flags} + -D PRIVATE_HW + -I variants/esp32c3/diy/esp32c3_moonshine +monitor_speed = 115200 +upload_protocol = esptool +;upload_port = /dev/ttyUSB0 +upload_speed = 921600 + + +; ------------------- Flash 核心配置 ------------------- +; 1. Flash 容量(根据硬件实际值改,常见 4MB/8MB) +board_build.flash_size = 4MB +; 2. Flash 模式(ESP32-C3 推荐 dio) +board_build.flash_mode = dio +; 3. Flash 时钟频率(ESP32-C3 推荐 80MHz) +board_build.flash_freq = 80MHz + +; (可选)上传时的 Flash 配置(和上面保持一致即可) +board_upload.flash_size = 4MB diff --git a/code/firmware-2.7.15.567b8ea/variants/esp32c3/diy/esp32c3_moonshine/variant.h b/code/firmware-2.7.15.567b8ea/variants/esp32c3/diy/esp32c3_moonshine/variant.h new file mode 100644 index 0000000..5576077 --- /dev/null +++ b/code/firmware-2.7.15.567b8ea/variants/esp32c3/diy/esp32c3_moonshine/variant.h @@ -0,0 +1,51 @@ +#define BUTTON_PIN 9 + +// LED pin on HT-DEV-ESP_V2 and HT-DEV-ESP_V3 +// https://resource.heltec.cn/download/HT-CT62/HT-CT62_Reference_Design.pdf +// https://resource.heltec.cn/download/HT-DEV-ESP/HT-DEV-ESP_V3_Sch.pdf + + +#define LED_POWER 12 // LED +#define LED_STATE_ON 1 // State when LED is lit + +#define HAS_SCREEN 0 +#define HAS_GPS 0 +#undef GPS_RX_PIN +#undef GPS_TX_PIN + +#define E220_400M30S +//#define E220_400M33S + +#ifdef E220_400M30S +#define SETTING_MAX_POWER 30 +#define TX_GAIN_LORA 8 +#define SX126X_MAX_POWER 22 +#endif + +#ifdef E220_400M33S +#define SETTING_MAX_POWER 33 +#define TX_GAIN_LORA 25 +#define SX126X_MAX_POWER 8 +#endif + +#define USE_LLCC68 +#define USE_SX1262 +#define USE_SX1268 + +#define LORA_SCK 10 +#define LORA_MISO 6 +#define LORA_MOSI 7 +#define LORA_CS 8 +#define LORA_DIO0 RADIOLIB_NC +#define LORA_RESET 5 +#define LORA_DIO1 3 +#define LORA_DIO2 RADIOLIB_NC +#define LORA_BUSY 4 +#define SX126X_CS LORA_CS +#define SX126X_DIO1 LORA_DIO1 +#define SX126X_BUSY LORA_BUSY +#define SX126X_RESET LORA_RESET +#define SX126X_DIO2_AS_RF_SWITCH +#define SX126X_DIO3_TCXO_VOLTAGE 1.8 + +#define TCXO_OPTIONAL \ No newline at end of file diff --git a/code/firmware-2.7.15.567b8ea/variants/esp32c3/diy/esp32c3_moonshine_mv/pins_arduino.h b/code/firmware-2.7.15.567b8ea/variants/esp32c3/diy/esp32c3_moonshine_mv/pins_arduino.h new file mode 100644 index 0000000..a717a37 --- /dev/null +++ b/code/firmware-2.7.15.567b8ea/variants/esp32c3/diy/esp32c3_moonshine_mv/pins_arduino.h @@ -0,0 +1,24 @@ +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include + +static const uint8_t TX = 21; +static const uint8_t RX = 20; + +static const uint8_t SDA = 1; +static const uint8_t SCL = 0; + +static const uint8_t SS = 8; +static const uint8_t MOSI = 7; +static const uint8_t MISO = 6; +static const uint8_t SCK = 10; + +static const uint8_t A0 = 0; +static const uint8_t A1 = 1; +static const uint8_t A2 = 2; +static const uint8_t A3 = 3; +static const uint8_t A4 = 4; +static const uint8_t A5 = 5; + +#endif /* Pins_Arduino_h */ \ No newline at end of file diff --git a/code/firmware-2.7.15.567b8ea/variants/esp32c3/diy/esp32c3_moonshine_mv/platformio.ini b/code/firmware-2.7.15.567b8ea/variants/esp32c3/diy/esp32c3_moonshine_mv/platformio.ini new file mode 100644 index 0000000..419dfca --- /dev/null +++ b/code/firmware-2.7.15.567b8ea/variants/esp32c3/diy/esp32c3_moonshine_mv/platformio.ini @@ -0,0 +1,29 @@ +; ESP32 C3 Super Mini Development Board +; https://www.espboards.dev/esp32/esp32-c3-super-mini/ +[env:esp32c3_moonshine_mv] + +extends = esp32c3_base +board = esp32-c3-devkitm-1 +board_level = pr +build_flags = + ${esp32c3_base.build_flags} + -D PRIVATE_HW + -I variants/esp32c3/diy/esp32c3_moonshine_mv + -D ARDUINO_USB_MODE=1 + -D ARDUINO_USB_CDC_ON_BOOT=1 +monitor_speed = 115200 +upload_protocol = esptool +;upload_port = /dev/ttyUSB0 +upload_speed = 921600 + + +; ------------------- Flash 核心配置 ------------------- +; 1. Flash 容量(根据硬件实际值改,常见 4MB/8MB) +board_build.flash_size = 4MB +; 2. Flash 模式(ESP32-C3 推荐 dio) +board_build.flash_mode = dio +; 3. Flash 时钟频率(ESP32-C3 推荐 80MHz) +board_build.flash_freq = 80MHz + +; (可选)上传时的 Flash 配置(和上面保持一致即可) +board_upload.flash_size = 4MB diff --git a/code/firmware-2.7.15.567b8ea/variants/esp32c3/diy/esp32c3_moonshine_mv/variant.h b/code/firmware-2.7.15.567b8ea/variants/esp32c3/diy/esp32c3_moonshine_mv/variant.h new file mode 100644 index 0000000..77f4555 --- /dev/null +++ b/code/firmware-2.7.15.567b8ea/variants/esp32c3/diy/esp32c3_moonshine_mv/variant.h @@ -0,0 +1,64 @@ +#define BUTTON_PIN 9 + +// LED pin on HT-DEV-ESP_V2 and HT-DEV-ESP_V3 +// https://resource.heltec.cn/download/HT-CT62/HT-CT62_Reference_Design.pdf +// https://resource.heltec.cn/download/HT-DEV-ESP/HT-DEV-ESP_V3_Sch.pdf + + +#define LED_POWER 13 // LED +#define LED_STATE_ON 1 // State when LED is lit + + +#define HAS_SCREEN 1 +#define USE_SSD1306 + +#define HAS_I2C 1 +#define WIRE_INTERFACES_COUNT (1) +#define I2C_SDA 0 +#define I2C_SCL 1 + +#define HAS_GPS 1 +#define GPS_RX_PIN 21 +#define GPS_TX_PIN 20 +#define GPS_POWER_TOGGLE 1 +#define PIN_GPS_EN 12 + + +#define BATTERY_PIN 2 +#define ADC_CHANNEL ADC1_GPIO2_CHANNEL +#define ADC_MULTIPLIER 2.0f + +#define HAS_NEOPIXEL 1 +#define NEOPIXEL_DATA 13 +#define NEOPIXEL_COUNT 1 // How many neopixels are connected +#define NEOPIXEL_TYPE (NEO_GRB + NEO_KHZ800) + +#define RA_01SC_P + +#ifdef RA_01SC_P +#define SETTING_MAX_POWER 29 +#define TX_GAIN_LORA 26 +#define SX126X_MAX_POWER 3 +#endif + +#define USE_LLCC68 +#define USE_SX1262 +#define USE_SX1268 + +#define LORA_SCK 10 +#define LORA_MISO 6 +#define LORA_MOSI 7 +#define LORA_CS 8 +#define LORA_DIO0 RADIOLIB_NC +#define LORA_RESET 5 +#define LORA_DIO1 3 +#define LORA_DIO2 RADIOLIB_NC +#define LORA_BUSY 4 +#define SX126X_CS LORA_CS +#define SX126X_DIO1 LORA_DIO1 +#define SX126X_BUSY LORA_BUSY +#define SX126X_RESET LORA_RESET +#define SX126X_DIO2_AS_RF_SWITCH +#define SX126X_DIO3_TCXO_VOLTAGE 1.8 + +#define TCXO_OPTIONAL \ No newline at end of file