Skip to content

Commit

Permalink
Add two more Adafruit Boards (Sparkle Motion & Sparkle Motion mini) (#…
Browse files Browse the repository at this point in the history
…10809)

* add sparkle motion board (w/esp32 mini module)

* add mini version!
  • Loading branch information
ladyada authored Jan 7, 2025
1 parent 30b97d1 commit efb3393
Show file tree
Hide file tree
Showing 3 changed files with 352 additions and 0 deletions.
268 changes: 268 additions & 0 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16900,6 +16900,274 @@ adafruit_qualia_s3_rgb666.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router)
adafruit_qualia_s3_rgb666.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR
adafruit_qualia_s3_rgb666.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port

##############################################################
# Adafruit Sparkle Motion w/ESP32

sparklemotion.name=Adafruit Sparkle Motion (ESP32)

sparklemotion.bootloader.tool=esptool_py
sparklemotion.bootloader.tool.default=esptool_py

sparklemotion.upload.tool=esptool_py
sparklemotion.upload.tool.default=esptool_py
sparklemotion.upload.tool.network=esp_ota

sparklemotion.upload.maximum_size=1310720
sparklemotion.upload.maximum_data_size=327680
sparklemotion.upload.flags=
sparklemotion.upload.extra_flags=

sparklemotion.serial.disableDTR=true
sparklemotion.serial.disableRTS=true

sparklemotion.build.tarch=xtensa
sparklemotion.build.bootloader_addr=0x1000
sparklemotion.build.target=esp32
sparklemotion.build.mcu=esp32
sparklemotion.build.core=esp32
sparklemotion.build.variant=adafruit_sparklemotion_esp32
sparklemotion.build.board=SPARKLEMOTION_ESP32

sparklemotion.build.f_cpu=240000000L
sparklemotion.build.flash_size=4MB
sparklemotion.build.flash_freq=80m
sparklemotion.build.flash_mode=dio
sparklemotion.build.boot=dio
sparklemotion.build.partitions=default
sparklemotion.build.defines=
sparklemotion.build.loop_core=
sparklemotion.build.event_core=

sparklemotion.menu.LoopCore.1=Core 1
sparklemotion.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
sparklemotion.menu.LoopCore.0=Core 0
sparklemotion.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0

sparklemotion.menu.EventsCore.1=Core 1
sparklemotion.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1
sparklemotion.menu.EventsCore.0=Core 0
sparklemotion.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0

sparklemotion.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
sparklemotion.menu.PartitionScheme.default.build.partitions=default
sparklemotion.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
sparklemotion.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
sparklemotion.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS)
sparklemotion.menu.PartitionScheme.minimal.build.partitions=minimal
sparklemotion.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
sparklemotion.menu.PartitionScheme.no_ota.build.partitions=no_ota
sparklemotion.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
sparklemotion.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
sparklemotion.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
sparklemotion.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
sparklemotion.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
sparklemotion.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
sparklemotion.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
sparklemotion.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
sparklemotion.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
sparklemotion.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
sparklemotion.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
sparklemotion.menu.PartitionScheme.huge_app.build.partitions=huge_app
sparklemotion.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
sparklemotion.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
sparklemotion.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
sparklemotion.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080

sparklemotion.menu.CPUFreq.240=240MHz (WiFi/BT)
sparklemotion.menu.CPUFreq.240.build.f_cpu=240000000L
sparklemotion.menu.CPUFreq.160=160MHz (WiFi/BT)
sparklemotion.menu.CPUFreq.160.build.f_cpu=160000000L
sparklemotion.menu.CPUFreq.80=80MHz (WiFi/BT)
sparklemotion.menu.CPUFreq.80.build.f_cpu=80000000L
sparklemotion.menu.CPUFreq.40=40MHz
sparklemotion.menu.CPUFreq.40.build.f_cpu=40000000L
sparklemotion.menu.CPUFreq.20=20MHz
sparklemotion.menu.CPUFreq.20.build.f_cpu=20000000L
sparklemotion.menu.CPUFreq.10=10MHz
sparklemotion.menu.CPUFreq.10.build.f_cpu=10000000L

sparklemotion.menu.FlashFreq.80=80MHz
sparklemotion.menu.FlashFreq.80.build.flash_freq=80m
sparklemotion.menu.FlashFreq.40=40MHz
sparklemotion.menu.FlashFreq.40.build.flash_freq=40m

sparklemotion.menu.FlashSize.4M=4MB (32Mb)
sparklemotion.menu.FlashSize.4M.build.flash_size=4MB

sparklemotion.menu.UploadSpeed.921600=921600
sparklemotion.menu.UploadSpeed.921600.upload.speed=921600
sparklemotion.menu.UploadSpeed.115200=115200
sparklemotion.menu.UploadSpeed.115200.upload.speed=115200
sparklemotion.menu.UploadSpeed.256000.windows=256000
sparklemotion.menu.UploadSpeed.256000.upload.speed=256000
sparklemotion.menu.UploadSpeed.230400.windows.upload.speed=256000
sparklemotion.menu.UploadSpeed.230400=230400
sparklemotion.menu.UploadSpeed.230400.upload.speed=230400
sparklemotion.menu.UploadSpeed.460800.linux=460800
sparklemotion.menu.UploadSpeed.460800.macosx=460800
sparklemotion.menu.UploadSpeed.460800.upload.speed=460800
sparklemotion.menu.UploadSpeed.512000.windows=512000
sparklemotion.menu.UploadSpeed.512000.upload.speed=512000

sparklemotion.menu.DebugLevel.none=None
sparklemotion.menu.DebugLevel.none.build.code_debug=0
sparklemotion.menu.DebugLevel.error=Error
sparklemotion.menu.DebugLevel.error.build.code_debug=1
sparklemotion.menu.DebugLevel.warn=Warn
sparklemotion.menu.DebugLevel.warn.build.code_debug=2
sparklemotion.menu.DebugLevel.info=Info
sparklemotion.menu.DebugLevel.info.build.code_debug=3
sparklemotion.menu.DebugLevel.debug=Debug
sparklemotion.menu.DebugLevel.debug.build.code_debug=4
sparklemotion.menu.DebugLevel.verbose=Verbose
sparklemotion.menu.DebugLevel.verbose.build.code_debug=5

sparklemotion.menu.EraseFlash.none=Disabled
sparklemotion.menu.EraseFlash.none.upload.erase_cmd=
sparklemotion.menu.EraseFlash.all=Enabled
sparklemotion.menu.EraseFlash.all.upload.erase_cmd=-e

sparklemotion.menu.ZigbeeMode.default=Disabled
sparklemotion.menu.ZigbeeMode.default.build.zigbee_mode=
sparklemotion.menu.ZigbeeMode.default.build.zigbee_libs=
sparklemotion.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router)
sparklemotion.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR
sparklemotion.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port

##############################################################
# Adafruit Sparkle Motion Mini w/ESP32

sparklemotionmini.name=Adafruit Sparkle Motion Mini (ESP32)

sparklemotionmini.bootloader.tool=esptool_py
sparklemotionmini.bootloader.tool.default=esptool_py

sparklemotionmini.upload.tool=esptool_py
sparklemotionmini.upload.tool.default=esptool_py
sparklemotionmini.upload.tool.network=esp_ota

sparklemotionmini.upload.maximum_size=1310720
sparklemotionmini.upload.maximum_data_size=327680
sparklemotionmini.upload.flags=
sparklemotionmini.upload.extra_flags=

sparklemotionmini.serial.disableDTR=true
sparklemotionmini.serial.disableRTS=true

sparklemotionmini.build.tarch=xtensa
sparklemotionmini.build.bootloader_addr=0x1000
sparklemotionmini.build.target=esp32
sparklemotionmini.build.mcu=esp32
sparklemotionmini.build.core=esp32
sparklemotionmini.build.variant=adafruit_sparklemotionmini_esp32
sparklemotionmini.build.board=SPARKLEMOTIONMINI_ESP32

sparklemotionmini.build.f_cpu=240000000L
sparklemotionmini.build.flash_size=4MB
sparklemotionmini.build.flash_freq=80m
sparklemotionmini.build.flash_mode=dio
sparklemotionmini.build.boot=dio
sparklemotionmini.build.partitions=default
sparklemotionmini.build.defines=
sparklemotionmini.build.loop_core=
sparklemotionmini.build.event_core=

sparklemotionmini.menu.LoopCore.1=Core 1
sparklemotionmini.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
sparklemotionmini.menu.LoopCore.0=Core 0
sparklemotionmini.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0

sparklemotionmini.menu.EventsCore.1=Core 1
sparklemotionmini.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1
sparklemotionmini.menu.EventsCore.0=Core 0
sparklemotionmini.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0

sparklemotionmini.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
sparklemotionmini.menu.PartitionScheme.default.build.partitions=default
sparklemotionmini.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
sparklemotionmini.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
sparklemotionmini.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS)
sparklemotionmini.menu.PartitionScheme.minimal.build.partitions=minimal
sparklemotionmini.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
sparklemotionmini.menu.PartitionScheme.no_ota.build.partitions=no_ota
sparklemotionmini.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
sparklemotionmini.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
sparklemotionmini.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
sparklemotionmini.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
sparklemotionmini.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
sparklemotionmini.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
sparklemotionmini.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
sparklemotionmini.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
sparklemotionmini.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
sparklemotionmini.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
sparklemotionmini.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
sparklemotionmini.menu.PartitionScheme.huge_app.build.partitions=huge_app
sparklemotionmini.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
sparklemotionmini.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
sparklemotionmini.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
sparklemotionmini.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080

sparklemotionmini.menu.CPUFreq.240=240MHz (WiFi/BT)
sparklemotionmini.menu.CPUFreq.240.build.f_cpu=240000000L
sparklemotionmini.menu.CPUFreq.160=160MHz (WiFi/BT)
sparklemotionmini.menu.CPUFreq.160.build.f_cpu=160000000L
sparklemotionmini.menu.CPUFreq.80=80MHz (WiFi/BT)
sparklemotionmini.menu.CPUFreq.80.build.f_cpu=80000000L
sparklemotionmini.menu.CPUFreq.40=40MHz
sparklemotionmini.menu.CPUFreq.40.build.f_cpu=40000000L
sparklemotionmini.menu.CPUFreq.20=20MHz
sparklemotionmini.menu.CPUFreq.20.build.f_cpu=20000000L
sparklemotionmini.menu.CPUFreq.10=10MHz
sparklemotionmini.menu.CPUFreq.10.build.f_cpu=10000000L

sparklemotionmini.menu.FlashFreq.80=80MHz
sparklemotionmini.menu.FlashFreq.80.build.flash_freq=80m
sparklemotionmini.menu.FlashFreq.40=40MHz
sparklemotionmini.menu.FlashFreq.40.build.flash_freq=40m

sparklemotionmini.menu.FlashSize.4M=4MB (32Mb)
sparklemotionmini.menu.FlashSize.4M.build.flash_size=4MB

sparklemotionmini.menu.UploadSpeed.921600=921600
sparklemotionmini.menu.UploadSpeed.921600.upload.speed=921600
sparklemotionmini.menu.UploadSpeed.115200=115200
sparklemotionmini.menu.UploadSpeed.115200.upload.speed=115200
sparklemotionmini.menu.UploadSpeed.256000.windows=256000
sparklemotionmini.menu.UploadSpeed.256000.upload.speed=256000
sparklemotionmini.menu.UploadSpeed.230400.windows.upload.speed=256000
sparklemotionmini.menu.UploadSpeed.230400=230400
sparklemotionmini.menu.UploadSpeed.230400.upload.speed=230400
sparklemotionmini.menu.UploadSpeed.460800.linux=460800
sparklemotionmini.menu.UploadSpeed.460800.macosx=460800
sparklemotionmini.menu.UploadSpeed.460800.upload.speed=460800
sparklemotionmini.menu.UploadSpeed.512000.windows=512000
sparklemotionmini.menu.UploadSpeed.512000.upload.speed=512000

sparklemotionmini.menu.DebugLevel.none=None
sparklemotionmini.menu.DebugLevel.none.build.code_debug=0
sparklemotionmini.menu.DebugLevel.error=Error
sparklemotionmini.menu.DebugLevel.error.build.code_debug=1
sparklemotionmini.menu.DebugLevel.warn=Warn
sparklemotionmini.menu.DebugLevel.warn.build.code_debug=2
sparklemotionmini.menu.DebugLevel.info=Info
sparklemotionmini.menu.DebugLevel.info.build.code_debug=3
sparklemotionmini.menu.DebugLevel.debug=Debug
sparklemotionmini.menu.DebugLevel.debug.build.code_debug=4
sparklemotionmini.menu.DebugLevel.verbose=Verbose
sparklemotionmini.menu.DebugLevel.verbose.build.code_debug=5

sparklemotionmini.menu.EraseFlash.none=Disabled
sparklemotionmini.menu.EraseFlash.none.upload.erase_cmd=
sparklemotionmini.menu.EraseFlash.all=Enabled
sparklemotionmini.menu.EraseFlash.all.upload.erase_cmd=-e

sparklemotionmini.menu.ZigbeeMode.default=Disabled
sparklemotionmini.menu.ZigbeeMode.default.build.zigbee_mode=
sparklemotionmini.menu.ZigbeeMode.default.build.zigbee_libs=
sparklemotionmini.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router)
sparklemotionmini.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR
sparklemotionmini.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port

##############################################################

nodemcu-32s.name=NodeMCU-32S
Expand Down
42 changes: 42 additions & 0 deletions variants/adafruit_sparklemotion_esp32/pins_arduino.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#ifndef Pins_Arduino_h
#define Pins_Arduino_h

#include <stdint.h>
#include "soc/soc_caps.h"

// User LED
static const uint8_t LED_BUILTIN = 4;
#define BUILTIN_LED LED_BUILTIN // backward compatibility
#define LED_BUILTIN LED_BUILTIN // allow testing #ifdef LED_BUILTIN

// Neopixel
static const uint8_t PIN_NEOPIXEL = 2;
// RGB_BUILTIN and RGB_BRIGHTNESS can be used in new Arduino API rgbLedWrite() and digitalWrite() for blinking
#define RGB_BUILTIN (PIN_NEOPIXEL + SOC_GPIO_PIN_COUNT)
#define RGB_BRIGHTNESS 64

static const uint8_t TX = 9;
static const uint8_t RX = 10;

#define TX1 TX
#define RX1 RX

static const uint8_t SDA = 14;
static const uint8_t SCL = 13;

static const uint8_t SS = 23;
static const uint8_t MOSI = 9;
static const uint8_t MISO = 10;
static const uint8_t SCK = 18;

static const uint8_t A0 = 27;

// internal switch
static const uint8_t BUTTON = 0;

static const uint8_t T0 = 27;

static const uint8_t DAC1 = 25;
static const uint8_t DAC2 = 26;

#endif /* Pins_Arduino_h */
42 changes: 42 additions & 0 deletions variants/adafruit_sparklemotionmini_esp32/pins_arduino.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#ifndef Pins_Arduino_h
#define Pins_Arduino_h

#include <stdint.h>
#include "soc/soc_caps.h"

// User LED
static const uint8_t LED_BUILTIN = 12;
#define BUILTIN_LED LED_BUILTIN // backward compatibility
#define LED_BUILTIN LED_BUILTIN // allow testing #ifdef LED_BUILTIN

// Neopixel
static const uint8_t PIN_NEOPIXEL = 18;
// RGB_BUILTIN and RGB_BRIGHTNESS can be used in new Arduino API rgbLedWrite() and digitalWrite() for blinking
#define RGB_BUILTIN (PIN_NEOPIXEL + SOC_GPIO_PIN_COUNT)
#define RGB_BRIGHTNESS 64

static const uint8_t TX = 25;
static const uint8_t RX = 26;

#define TX1 TX
#define RX1 RX

static const uint8_t SDA = 19;
static const uint8_t SCL = 22;

static const uint8_t SS = 14;
static const uint8_t MOSI = 25;
static const uint8_t MISO = 26;
static const uint8_t SCK = 27;

static const uint8_t A0 = 13;

// internal switch
static const uint8_t BUTTON = 0;

static const uint8_t T0 = 13;

static const uint8_t DAC1 = 25;
static const uint8_t DAC2 = 26;

#endif /* Pins_Arduino_h */

0 comments on commit efb3393

Please sign in to comment.