Skip to content

Commit c9b0dc9

Browse files
authored
Add LionBit Dev Board. (#6151)
* Add LionBit Dev Board. * Create lionbit in variants.
1 parent a134088 commit c9b0dc9

File tree

2 files changed

+238
-1
lines changed

2 files changed

+238
-1
lines changed

boards.txt

+146-1
Original file line numberDiff line numberDiff line change
@@ -10953,4 +10953,149 @@ sonoff_dualr3.menu.DebugLevel.debug.build.code_debug=4
1095310953
sonoff_dualr3.menu.DebugLevel.verbose=Verbose
1095410954
sonoff_dualr3.menu.DebugLevel.verbose.build.code_debug=5
1095510955

10956-
##############################################################
10956+
##############################################################
10957+
lionbit.name=Lion:Bit Dev Board
10958+
10959+
lionbit.upload.tool=esptool_py
10960+
lionbit.upload.maximum_size=1310720
10961+
lionbit.upload.maximum_data_size=327680
10962+
lionbit.upload.flags=
10963+
lionbit.upload.extra_flags=
10964+
10965+
lionbit.serial.disableDTR=true
10966+
lionbit.serial.disableRTS=true
10967+
10968+
lionbit.build.tarch=xtensa
10969+
lionbit.build.bootloader_addr=0x1000
10970+
lionbit.build.target=esp32
10971+
lionbit.build.mcu=esp32
10972+
lionbit.build.core=esp32
10973+
lionbit.build.variant=lionbit
10974+
lionbit.build.board=Lion:Bit_Dev_Board
10975+
10976+
lionbit.build.f_cpu=240000000L
10977+
lionbit.build.flash_size=4MB
10978+
lionbit.build.flash_freq=80m
10979+
lionbit.build.flash_mode=dio
10980+
lionbit.build.boot=dio
10981+
lionbit.build.partitions=default
10982+
lionbit.build.defines=
10983+
lionbit.build.loop_core=
10984+
lionbit.build.event_core=
10985+
10986+
10987+
lionbit.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
10988+
lionbit.menu.PartitionScheme.default.build.partitions=default
10989+
lionbit.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
10990+
lionbit.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
10991+
lionbit.menu.PartitionScheme.default_8MB=8M Flash (3MB APP/1.5MB FAT)
10992+
lionbit.menu.PartitionScheme.default_8MB.build.partitions=default_8MB
10993+
lionbit.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336
10994+
lionbit.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS)
10995+
lionbit.menu.PartitionScheme.minimal.build.partitions=minimal
10996+
lionbit.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
10997+
lionbit.menu.PartitionScheme.no_ota.build.partitions=no_ota
10998+
lionbit.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
10999+
lionbit.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
11000+
lionbit.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
11001+
lionbit.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
11002+
lionbit.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
11003+
lionbit.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
11004+
lionbit.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
11005+
lionbit.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
11006+
lionbit.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
11007+
lionbit.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
11008+
lionbit.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
11009+
lionbit.menu.PartitionScheme.huge_app.build.partitions=huge_app
11010+
lionbit.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
11011+
lionbit.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
11012+
lionbit.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
11013+
lionbit.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080
11014+
lionbit.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FAT)
11015+
lionbit.menu.PartitionScheme.fatflash.build.partitions=ffat
11016+
lionbit.menu.PartitionScheme.fatflash.upload.maximum_size=2097152
11017+
lionbit.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9MB FATFS)
11018+
lionbit.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB
11019+
lionbit.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728
11020+
lionbit.menu.PartitionScheme.rainmaker=RainMaker
11021+
lionbit.menu.PartitionScheme.rainmaker.build.partitions=rainmaker
11022+
lionbit.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728
11023+
11024+
lionbit.menu.CPUFreq.240=240MHz (WiFi/BT)
11025+
lionbit.menu.CPUFreq.240.build.f_cpu=240000000L
11026+
lionbit.menu.CPUFreq.160=160MHz (WiFi/BT)
11027+
lionbit.menu.CPUFreq.160.build.f_cpu=160000000L
11028+
lionbit.menu.CPUFreq.80=80MHz (WiFi/BT)
11029+
lionbit.menu.CPUFreq.80.build.f_cpu=80000000L
11030+
lionbit.menu.CPUFreq.40=40MHz (40MHz XTAL)
11031+
lionbit.menu.CPUFreq.40.build.f_cpu=40000000L
11032+
lionbit.menu.CPUFreq.26=26MHz (26MHz XTAL)
11033+
lionbit.menu.CPUFreq.26.build.f_cpu=26000000L
11034+
lionbit.menu.CPUFreq.20=20MHz (40MHz XTAL)
11035+
lionbit.menu.CPUFreq.20.build.f_cpu=20000000L
11036+
lionbit.menu.CPUFreq.13=13MHz (26MHz XTAL)
11037+
lionbit.menu.CPUFreq.13.build.f_cpu=13000000L
11038+
lionbit.menu.CPUFreq.10=10MHz (40MHz XTAL)
11039+
lionbit.menu.CPUFreq.10.build.f_cpu=10000000L
11040+
11041+
11042+
lionbit.menu.FlashMode.dio=DIO
11043+
lionbit.menu.FlashMode.dio.build.flash_mode=dio
11044+
lionbit.menu.FlashMode.dio.build.boot=dio
11045+
lionbit.menu.FlashMode.qio=QIO
11046+
lionbit.menu.FlashMode.qio.build.flash_mode=dio
11047+
lionbit.menu.FlashMode.qio.build.boot=qio
11048+
lionbit.menu.FlashMode.qout=QOUT
11049+
lionbit.menu.FlashMode.qout.build.flash_mode=dout
11050+
lionbit.menu.FlashMode.qout.build.boot=qout
11051+
lionbit.menu.FlashMode.dout=DOUT
11052+
lionbit.menu.FlashMode.dout.build.flash_mode=dout
11053+
lionbit.menu.FlashMode.dout.build.boot=dout
11054+
11055+
lionbit.menu.FlashFreq.80=80MHz
11056+
lionbit.menu.FlashFreq.80.build.flash_freq=80m
11057+
lionbit.menu.FlashFreq.40=40MHz
11058+
lionbit.menu.FlashFreq.40.build.flash_freq=40m
11059+
11060+
lionbit.menu.FlashSize.4M=4MB (32Mb)
11061+
lionbit.menu.FlashSize.4M.build.flash_size=4MB
11062+
lionbit.menu.FlashSize.4M.build.partitions=default
11063+
11064+
11065+
11066+
lionbit.menu.UploadSpeed.115200=115200
11067+
lionbit.menu.UploadSpeed.115200.upload.speed=115200
11068+
lionbit.menu.UploadSpeed.256000.windows=256000
11069+
lionbit.menu.UploadSpeed.256000.upload.speed=256000
11070+
lionbit.menu.UploadSpeed.230400.windows.upload.speed=256000
11071+
lionbit.menu.UploadSpeed.230400=230400
11072+
lionbit.menu.UploadSpeed.230400.upload.speed=230400
11073+
lionbit.menu.UploadSpeed.460800.linux=460800
11074+
lionbit.menu.UploadSpeed.460800.macosx=460800
11075+
lionbit.menu.UploadSpeed.460800.upload.speed=460800
11076+
11077+
11078+
lionbit.menu.LoopCore.1=Core 1
11079+
lionbit.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
11080+
lionbit.menu.LoopCore.0=Core 0
11081+
lionbit.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0
11082+
11083+
lionbit.menu.EventsCore.1=Core 1
11084+
lionbit.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1
11085+
lionbit.menu.EventsCore.0=Core 0
11086+
lionbit.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0
11087+
11088+
lionbit.menu.DebugLevel.none=None
11089+
lionbit.menu.DebugLevel.none.build.code_debug=0
11090+
lionbit.menu.DebugLevel.error=Error
11091+
lionbit.menu.DebugLevel.error.build.code_debug=1
11092+
lionbit.menu.DebugLevel.warn=Warn
11093+
lionbit.menu.DebugLevel.warn.build.code_debug=2
11094+
lionbit.menu.DebugLevel.info=Info
11095+
lionbit.menu.DebugLevel.info.build.code_debug=3
11096+
lionbit.menu.DebugLevel.debug=Debug
11097+
lionbit.menu.DebugLevel.debug.build.code_debug=4
11098+
lionbit.menu.DebugLevel.verbose=Verbose
11099+
lionbit.menu.DebugLevel.verbose.build.code_debug=5
11100+
11101+
##############################################################

variants/lionbit/pins_arduino.h

+92
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
#ifndef Pins_Arduino_h
2+
#define Pins_Arduino_h
3+
4+
#include <stdint.h>
5+
6+
#define EXTERNAL_NUM_INTERRUPTS 16
7+
#define NUM_DIGITAL_PINS 40
8+
#define NUM_ANALOG_INPUTS 16
9+
10+
#define analogInputToDigitalPin(p) (((p) < 20) ? (esp32_adc2gpio[(p)]) : -1)
11+
#define digitalPinToInterrupt(p) (((p) < 40) ? (p) : -1)
12+
#define digitalPinHasPWM(p) (p < 34)
13+
14+
static const uint8_t LED_BUILTIN = 0; // GPIO0, ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1,EMAC_TX_CLK
15+
static const uint8_t SWITCH_A = 2; // GPIO2, ADC2_CH2, TOUCH2, RTC_GPIO12, HSPIWP, HS2_DATA0,SD_DATA0
16+
static const uint8_t SWITCH_B = 4; // GPIO4, ADC2_CH0, TOUCH0, RTC_GPIO10, HSPIHD, HS2_DATA1,SD_DATA1, EMAC_TX_ER
17+
18+
static const uint8_t TX = 1;
19+
static const uint8_t RX = 3;
20+
21+
/* LionBit pin setup */
22+
static const uint8_t D0 = 3; //Rx GPIO3, U0RXD, CLK_OUT2
23+
static const uint8_t D1 = 1; //TX GPIO1, U0TXD, CLK_OUT3, EMAC_RXD2
24+
//-------------------------------------------------------------------
25+
26+
//Please do not use while using QIO SPI mode ; Use only DIO flash mode
27+
static const uint8_t D2 = 9; //I/O U1RX GPIO9, SD_DATA2, SPIHD, HS1_DATA2, U1RXD
28+
static const uint8_t D3 = 10; //I/O U1TX GPIO10, SD_DATA3, SPIWP, HS1_DATA3, U1TXD
29+
//-------------------------------------------------------------------
30+
static const uint8_t U1RX = 9; //I/O U1RX
31+
static const uint8_t U1TX = 10; //I/O U1TX
32+
33+
//Second Segment - Sector -01 (Voltage (*5v or 3.3V) can be selected by using D4-7 Jumper
34+
static const uint8_t D4 = 16; //I/O U2RX GPIO16, HS1_DATA4, U2RXD, EMAC_CLK_OUT
35+
static const uint8_t D5 = 17; //I/O U2TX GPIO17, HS1_DATA5, U2TXD, EMAC_CLK_OUT_180
36+
static const uint8_t D6 = 21; //I/O SDA GPIO21, VSPIHD, EMAC_TX_EN
37+
static const uint8_t D7 = 22; //I/O SCl GPIO22, VSPIWP, U0RTS, EMAC_TXD1
38+
39+
//Second Segment - Sector -02 (Voltage (*5v or 3.3V) can be selected by using D8-11 Jumper
40+
static const uint8_t D8 = 5; //I/O GPIO5, VSPICS0, HS1_DATA6, EMAC_RX_CLK
41+
static const uint8_t D9 = 23; //I/O GPIO23, VSPID, HS1_STROBE **********************************************Don not use when display "ON or USE"*************************
42+
static const uint8_t D10 = 19; //I/O GPIO19, VSPIQ, U0CTS, EMAC_TXD0
43+
static const uint8_t D11 = 18; //I/O GPIO18, VSPICLK, HS1_DATA7 **********************************************Don not use when display "ON or USE"*************************
44+
45+
46+
// Analog to Digital Converter (Support 5V) ADC2 pins not recommended while using Wifi
47+
static const uint8_t A0 /*ADC2_CH3 */ = 12; //MAX 5V,I/O GPIO12, ADC2_CH5, TOUCH5, RTC_GPIO15, MTDI, HSPIQ, HS2_DATA2,SD_DATA2, EMAC_TXD3
48+
static const uint8_t A1 /*ADC1_CH0 */ = 14; //MAX 5V,I/O GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16, MTMS, HSPICLK, HS2_CLK,SD_CLK, EMAC_TXD2
49+
static const uint8_t A2 /*ADC2_CH6 */ = 34; //MAX 5V,GPIO34, ADC1_CH6, RTC_GPIO4 ***********************/////////////////////Connected LDR/////////////////////////////
50+
static const uint8_t A3 /*ADC1_CH7 */ = 35; //MAX 5V,GPIO35, ADC1_CH7, RTC_GPIO5
51+
static const uint8_t A4 /*ADC2_CH5 */ = 15; //MAX 5V,GPIO15, ADC2_CH3, TOUCH3, MTDO, HSPICS0, RTC_GPIO13, HS2_CMD,SD_CMD, EMAC_RXD3
52+
static const uint8_t A5 /*ADC2_CH4 */ = 13; //MAX 5V,GPIO13, ADC2_CH4, TOUCH4, RTC_GPIO14, MTCK, HSPID, HS2_DATA3,SD_DATA3, EMAC_RX_ER
53+
//-------------------------------------------------------------------
54+
55+
//------------------Touch Sensors-------------------------------------------------
56+
static const uint8_t VP = 36; // GPIO36, ADC1_CH0, RTC_GPIO0
57+
static const uint8_t VN = 39; // GPIO39, ADC1_CH3, RTC_GPIO3
58+
59+
static const uint8_t T0 = 36;
60+
static const uint8_t T1 = 39;
61+
62+
static const uint8_t DAC1 = 25; // I/O GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6, EMAC_RXD0
63+
static const uint8_t DAC2 = 26; // I/O GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1
64+
65+
static const uint8_t SDA = 21;
66+
static const uint8_t SCL = 22;
67+
68+
/* Hardware HSPI */
69+
static const uint8_t MOSI = 13; // 13;
70+
static const uint8_t MISO = 12; // 12;
71+
static const uint8_t SCK = 14; // 14;
72+
static const uint8_t SS = 15; // 15;
73+
74+
/* Software VSPI [Note : D9 and D11 Do not use when display "ON or USE"]*/
75+
static const uint8_t VMOSI = 23; //23 /*Do not use when display "ON or USE"*/
76+
static const uint8_t VMISO = 19; // 19
77+
static const uint8_t VSCK = 18; // 18 /*Do not use when display "ON or USE"*/
78+
static const uint8_t VSS = 5; // 5
79+
80+
// Inbuilt Display Unit 128*128 ST7735 Driver
81+
static const uint8_t RST = 33; // - RESET GPIO33, XTAL_32K_N (32.768 kHz crystal oscillator output),ADC1_CH5, TOUCH8, RTC_GPIO8
82+
static const uint8_t CLK = 18; // - (18) CLK (D11) and D9 pin will engaged when display "ON or USE"
83+
static const uint8_t CS = 27; // - CS GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17, EMAC_RX_DV
84+
static const uint8_t DC = 32; //- DC/A0 GPIO32, XTAL_32K_P (32.768 kHz crystal oscillator input), ADC1_CH4,TOUCH9, RTC_GPIO9
85+
static const uint8_t ST_MOSI = 23; // - MOSI (D9) This D9 pin will engaged when display "ON or USE"
86+
87+
static const uint8_t MTDO = 15; // A4 JTAG SIGNAL -> TDO
88+
static const uint8_t MTDI = 12; // A0 JTAG SIGNAL -> TDI
89+
static const uint8_t MTCK = 13; // A5 JTAG SIGNAL -> TCK
90+
static const uint8_t MTMS = 14; // A1 JTAG SIGNAL -> TMS
91+
92+
#endif /* Pins_Arduino_h */

0 commit comments

Comments
 (0)