Skip to content

Commit

Permalink
Icarus - Custom PCB (#5155)
Browse files Browse the repository at this point in the history
* added Icarus

* added Icarus

* Update platformio.ini

* Fixed I2C ports

* Update variant.h
  • Loading branch information
Babyyoda777 authored Oct 27, 2024
1 parent a8bd1ee commit e37369a
Show file tree
Hide file tree
Showing 4 changed files with 112 additions and 0 deletions.
41 changes: 41 additions & 0 deletions boards/icarus.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"build": {
"arduino": {
"ldscript": "esp32s3_out.ld",
"memory_type": "qio_opi"
},
"core": "esp32",
"extra_flags": [
"-DBOARD_HAS_PSRAM",
"-DARDUINO_USB_CDC_ON_BOOT=1",
"-DARDUINO_USB_MODE=0",
"-DARDUINO_RUNNING_CORE=1",
"-DARDUINO_EVENT_RUNNING_CORE=0"
],
"f_cpu": "240000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
"hwids": [["0x2886", "0x0059"]],
"mcu": "esp32s3",
"variant": "icarus"
},
"connectivity": ["wifi", "bluetooth", "lora"],
"debug": {
"default_tool": "esp-builtin",
"onboard_tools": ["esp-builtin"],
"openocd_target": "esp32s3.cfg"
},
"frameworks": ["arduino", "espidf"],
"name": "icarus",
"upload": {
"flash_size": "8MB",
"maximum_ram_size": 8388608,
"maximum_size": 8388608,
"use_1200bps_touch": true,
"wait_for_upload_port": true,
"require_upload_port": true,
"speed": 921600
},
"url": "https://icarus.azlan.works",
"vendor": "Muhammad Shah"
}
22 changes: 22 additions & 0 deletions variants/icarus/pins_arduino.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#ifndef Pins_Arduino_h
#define Pins_Arduino_h

#include <stdint.h>

#define USB_VID 0x2886
#define USB_PID 0x0059

// GPIO48 Reference: https://github.com/espressif/arduino-esp32/pull/8600

// The default Wire will be mapped to Screen and Sensors
static const uint8_t SDA = 8;
static const uint8_t SCL = 9;

// Default SPI will be mapped to Radio
static const uint8_t MISO = 39;
static const uint8_t SCK = 21;
static const uint8_t MOSI = 38;
static const uint8_t SS = 17;

#endif /* Pins_Arduino_h */

19 changes: 19 additions & 0 deletions variants/icarus/platformio.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
[env:icarus]
extends = esp32s3_base
board = icarus
board_level = extra
board_check = true
board_build.mcu = esp32s3
upload_protocol = esptool
upload_speed = 921600
platform_packages = framework-arduinoespressif32@https://github.com/PowerFeather/powerfeather-meshtastic-arduino-lib/releases/download/2.0.16b/esp32-2.0.16.zip
lib_deps =
${esp32s3_base.lib_deps}
build_unflags =
${esp32s3_base.build_unflags}
-DARDUINO_USB_MODE=1
build_flags =
${esp32s3_base.build_flags} -D PRIVATE_HW -I variants/icarus
-DBOARD_HAS_PSRAM

-DARDUINO_USB_MODE=0
30 changes: 30 additions & 0 deletions variants/icarus/variant.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// Icarus has a 1.3 inch OLED Screen
#define SCREEN_SSD106

#define I2C_SDA 8
#define I2C_SCL 9

#define I2C_SDA1 18
#define I2C_SCL1 6


// XIAO S3 LORA module
#define USE_SX1262

#define LORA_MISO 39
#define LORA_SCK 21
#define LORA_MOSI 38
#define LORA_CS 17

#define LORA_RESET 42
#define LORA_DIO1 5

#ifdef USE_SX1262
#define SX126X_CS LORA_CS
#define SX126X_DIO1 LORA_DIO1
#define SX126X_BUSY 47
#define SX126X_RESET LORA_RESET

// DIO2 controlls an antenna switch
#define SX126X_DIO2_AS_RF_SWITCH
#endif

0 comments on commit e37369a

Please sign in to comment.