Skip to content

Commit 3222e64

Browse files
wemosme-no-dev
authored andcommitted
add LOLIN D32 & D32 PRO Board support (#1688)
1 parent 2fba812 commit 3222e64

File tree

4 files changed

+235
-0
lines changed

4 files changed

+235
-0
lines changed

Diff for: boards.txt

+151
Original file line numberDiff line numberDiff line change
@@ -583,6 +583,157 @@ nano32.menu.UploadSpeed.512000.upload.speed=512000
583583

584584
##############################################################
585585

586+
d32.name=LOLIN D32
587+
588+
d32.upload.tool=esptool
589+
d32.upload.maximum_size=1310720
590+
d32.upload.maximum_data_size=327680
591+
d32.upload.wait_for_upload_port=true
592+
593+
d32.serial.disableDTR=true
594+
d32.serial.disableRTS=true
595+
596+
d32.build.mcu=esp32
597+
d32.build.core=esp32
598+
d32.build.variant=d32
599+
d32.build.board=LOLIN_D32
600+
601+
d32.build.f_cpu=240000000L
602+
d32.build.flash_size=4MB
603+
d32.build.flash_freq=40m
604+
d32.build.flash_mode=dio
605+
d32.build.boot=dio
606+
d32.build.partitions=default
607+
d32.build.defines=
608+
609+
d32.menu.PartitionScheme.default=Default
610+
d32.menu.PartitionScheme.default.build.partitions=default
611+
d32.menu.PartitionScheme.minimal=Minimal (2MB FLASH)
612+
d32.menu.PartitionScheme.minimal.build.partitions=minimal
613+
d32.menu.PartitionScheme.no_ota=No OTA (Large APP)
614+
d32.menu.PartitionScheme.no_ota.build.partitions=no_ota
615+
d32.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
616+
d32.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (Large APPS with OTA)
617+
d32.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
618+
d32.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080
619+
620+
621+
622+
d32.menu.FlashFreq.80=80MHz
623+
d32.menu.FlashFreq.80.build.flash_freq=80m
624+
d32.menu.FlashFreq.40=40MHz
625+
d32.menu.FlashFreq.40.build.flash_freq=40m
626+
627+
628+
629+
d32.menu.UploadSpeed.921600=921600
630+
d32.menu.UploadSpeed.921600.upload.speed=921600
631+
d32.menu.UploadSpeed.115200=115200
632+
d32.menu.UploadSpeed.115200.upload.speed=115200
633+
d32.menu.UploadSpeed.256000.windows=256000
634+
d32.menu.UploadSpeed.256000.upload.speed=256000
635+
d32.menu.UploadSpeed.230400.windows.upload.speed=256000
636+
d32.menu.UploadSpeed.230400=230400
637+
d32.menu.UploadSpeed.230400.upload.speed=230400
638+
d32.menu.UploadSpeed.460800.linux=460800
639+
d32.menu.UploadSpeed.460800.macosx=460800
640+
d32.menu.UploadSpeed.460800.upload.speed=460800
641+
d32.menu.UploadSpeed.512000.windows=512000
642+
d32.menu.UploadSpeed.512000.upload.speed=512000
643+
644+
d32.menu.DebugLevel.none=None
645+
d32.menu.DebugLevel.none.build.code_debug=0
646+
d32.menu.DebugLevel.error=Error
647+
d32.menu.DebugLevel.error.build.code_debug=1
648+
d32.menu.DebugLevel.warn=Warn
649+
d32.menu.DebugLevel.warn.build.code_debug=2
650+
d32.menu.DebugLevel.info=Info
651+
d32.menu.DebugLevel.info.build.code_debug=3
652+
d32.menu.DebugLevel.debug=Debug
653+
d32.menu.DebugLevel.debug.build.code_debug=4
654+
d32.menu.DebugLevel.verbose=Verbose
655+
d32.menu.DebugLevel.verbose.build.code_debug=5
656+
657+
##############################################################
658+
659+
d32_pro.name=LOLIN D32 PRO
660+
661+
d32_pro.upload.tool=esptool
662+
d32_pro.upload.maximum_size=1310720
663+
d32_pro.upload.maximum_data_size=327680
664+
d32_pro.upload.wait_for_upload_port=true
665+
666+
d32_pro.serial.disableDTR=true
667+
d32_pro.serial.disableRTS=true
668+
669+
d32_pro.build.mcu=esp32
670+
d32_pro.build.core=esp32
671+
d32_pro.build.variant=d32_pro
672+
d32_pro.build.board=LOLIN_D32_PRO
673+
674+
d32_pro.build.f_cpu=240000000L
675+
d32_pro.build.flash_size=4MB
676+
d32_pro.build.flash_freq=40m
677+
d32_pro.build.flash_mode=dio
678+
d32_pro.build.boot=dio
679+
d32_pro.build.partitions=default
680+
d32_pro.build.defines=
681+
682+
d32_pro.menu.PSRAM.disabled=Disabled
683+
d32_pro.menu.PSRAM.disabled.build.defines=
684+
d32_pro.menu.PSRAM.enabled=Enabled
685+
d32_pro.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue
686+
687+
d32_pro.menu.PartitionScheme.default=Default
688+
d32_pro.menu.PartitionScheme.default.build.partitions=default
689+
d32_pro.menu.PartitionScheme.minimal=Minimal (2MB FLASH)
690+
d32_pro.menu.PartitionScheme.minimal.build.partitions=minimal
691+
d32_pro.menu.PartitionScheme.no_ota=No OTA (Large APP)
692+
d32_pro.menu.PartitionScheme.no_ota.build.partitions=no_ota
693+
d32_pro.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
694+
d32_pro.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (Large APPS with OTA)
695+
d32_pro.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
696+
d32_pro.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080
697+
698+
699+
700+
d32_pro.menu.FlashFreq.80=80MHz
701+
d32_pro.menu.FlashFreq.80.build.flash_freq=80m
702+
d32_pro.menu.FlashFreq.40=40MHz
703+
d32_pro.menu.FlashFreq.40.build.flash_freq=40m
704+
705+
706+
707+
d32_pro.menu.UploadSpeed.921600=921600
708+
d32_pro.menu.UploadSpeed.921600.upload.speed=921600
709+
d32_pro.menu.UploadSpeed.115200=115200
710+
d32_pro.menu.UploadSpeed.115200.upload.speed=115200
711+
d32_pro.menu.UploadSpeed.256000.windows=256000
712+
d32_pro.menu.UploadSpeed.256000.upload.speed=256000
713+
d32_pro.menu.UploadSpeed.230400.windows.upload.speed=256000
714+
d32_pro.menu.UploadSpeed.230400=230400
715+
d32_pro.menu.UploadSpeed.230400.upload.speed=230400
716+
d32_pro.menu.UploadSpeed.460800.linux=460800
717+
d32_pro.menu.UploadSpeed.460800.macosx=460800
718+
d32_pro.menu.UploadSpeed.460800.upload.speed=460800
719+
d32_pro.menu.UploadSpeed.512000.windows=512000
720+
d32_pro.menu.UploadSpeed.512000.upload.speed=512000
721+
722+
d32_pro.menu.DebugLevel.none=None
723+
d32_pro.menu.DebugLevel.none.build.code_debug=0
724+
d32_pro.menu.DebugLevel.error=Error
725+
d32_pro.menu.DebugLevel.error.build.code_debug=1
726+
d32_pro.menu.DebugLevel.warn=Warn
727+
d32_pro.menu.DebugLevel.warn.build.code_debug=2
728+
d32_pro.menu.DebugLevel.info=Info
729+
d32_pro.menu.DebugLevel.info.build.code_debug=3
730+
d32_pro.menu.DebugLevel.debug=Debug
731+
d32_pro.menu.DebugLevel.debug.build.code_debug=4
732+
d32_pro.menu.DebugLevel.verbose=Verbose
733+
d32_pro.menu.DebugLevel.verbose.build.code_debug=5
734+
735+
##############################################################
736+
586737
lolin32.name=WEMOS LOLIN32
587738

588739
lolin32.upload.tool=esptool

Diff for: variants/d32/d32_core.h

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
#ifndef _D32_CORE_H_
2+
#define _D32_CORE_H_
3+
4+
#define EXTERNAL_NUM_INTERRUPTS 16
5+
#define NUM_DIGITAL_PINS 40
6+
#define NUM_ANALOG_INPUTS 16
7+
8+
#define analogInputToDigitalPin(p) (((p)<20)?(esp32_adc2gpio[(p)]):-1)
9+
#define digitalPinToInterrupt(p) (((p)<40)?(p):-1)
10+
#define digitalPinHasPWM(p) (p < 34)
11+
12+
static const uint8_t TX = 1;
13+
static const uint8_t RX = 3;
14+
15+
static const uint8_t SDA = 21;
16+
static const uint8_t SCL = 22;
17+
18+
static const uint8_t SS = 5;
19+
static const uint8_t MOSI = 23;
20+
static const uint8_t MISO = 19;
21+
static const uint8_t SCK = 18;
22+
23+
static const uint8_t A0 = 36;
24+
static const uint8_t A3 = 39;
25+
static const uint8_t A4 = 32;
26+
static const uint8_t A5 = 33;
27+
static const uint8_t A6 = 34;
28+
static const uint8_t A7 = 35;
29+
static const uint8_t A10 = 4;
30+
static const uint8_t A11 = 0;
31+
static const uint8_t A12 = 2;
32+
static const uint8_t A13 = 15;
33+
static const uint8_t A14 = 13;
34+
static const uint8_t A15 = 12;
35+
static const uint8_t A16 = 14;
36+
static const uint8_t A17 = 27;
37+
static const uint8_t A18 = 25;
38+
static const uint8_t A19 = 26;
39+
40+
static const uint8_t T0 = 4;
41+
static const uint8_t T1 = 0;
42+
static const uint8_t T2 = 2;
43+
static const uint8_t T3 = 15;
44+
static const uint8_t T4 = 13;
45+
static const uint8_t T5 = 12;
46+
static const uint8_t T6 = 14;
47+
static const uint8_t T7 = 27;
48+
static const uint8_t T8 = 33;
49+
static const uint8_t T9 = 32;
50+
51+
static const uint8_t DAC1 = 25;
52+
static const uint8_t DAC2 = 26;
53+
54+
#endif

Diff for: variants/d32/pins_arduino.h

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#ifndef Pins_Arduino_h
2+
#define Pins_Arduino_h
3+
4+
#include <stdint.h>
5+
#include <d32_core.h>
6+
7+
static const uint8_t LED_BUILTIN = 5;
8+
#define BUILTIN_LED LED_BUILTIN // backward compatibility
9+
static const uint8_t _VBAT = 35; // battery voltage
10+
11+
#endif /* Pins_Arduino_h */

Diff for: variants/d32_pro/pins_arduino.h

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#ifndef Pins_Arduino_h
2+
#define Pins_Arduino_h
3+
4+
#include <stdint.h>
5+
#include <../d32/d32_core.h>
6+
7+
static const uint8_t LED_BUILTIN = 5;
8+
#define BUILTIN_LED LED_BUILTIN // backward compatibility
9+
static const uint8_t _VBAT = 35; // battery voltage
10+
11+
12+
static const uint8_t TF_CS = 4; // TF (Micro SD Card) CS pin
13+
static const uint8_t TS_CS = 12; // Touch Screen CS pin
14+
static const uint8_t TFT_CS = 14; // TFT CS pin
15+
static const uint8_t TFT_LED = 32; // TFT backlight control pin
16+
static const uint8_t TFT_RST = 33; // TFT reset pin
17+
static const uint8_t TFT_DC = 27; // TFT DC pin
18+
19+
#endif /* Pins_Arduino_h */

0 commit comments

Comments
 (0)