Skip to content

Commit

Permalink
Merge pull request adafruit#412 from bill88t/master
Browse files Browse the repository at this point in the history
Add Waveshare ESP32-S3 Zero
  • Loading branch information
hathach authored Oct 22, 2024
2 parents 9eb165c + 1268fb2 commit 2e553ad
Show file tree
Hide file tree
Showing 4 changed files with 91 additions and 0 deletions.
2 changes: 2 additions & 0 deletions ports/espressif/boards/waveshare_esp32_s3_zero/board.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Apply board specific content here
set(IDF_TARGET "esp32s3")
75 changes: 75 additions & 0 deletions ports/espressif/boards/waveshare_esp32_s3_zero/board.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2024 Bill Sideris, independently providing these changes.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/

#ifndef WAVESHARE_ESP32_S3_ZERO_H_
#define WAVESHARE_ESP32_S3_ZERO_H_

//--------------------------------------------------------------------+
// Button
//--------------------------------------------------------------------+

// Enter UF2 mode if GPIO is pressed while 2nd stage bootloader indicator
// is on e.g RGB = Purple. If it is GPIO0, user should not hold this while
// reset since that will instead run the 1st stage ROM bootloader
#define PIN_BUTTON_UF2 0

// GPIO that implement 1-bit memory with RC components which hold the
// pin value long enough for double reset detection.
// #define PIN_DOUBLE_RESET_RC

//--------------------------------------------------------------------+
// LED
//--------------------------------------------------------------------+

// GPIO connected to Neopixel data
#define NEOPIXEL_PIN 21

// Brightness percentage from 1 to 255
#define NEOPIXEL_BRIGHTNESS 0x10

// Number of neopixels
#define NEOPIXEL_NUMBER 1

// Invert Neopixel red and green
#define NEOPIXEL_INVERT_RG 1


// LED for indicator and writing flash
// If not defined neopixel will be use for flash writing instead

//--------------------------------------------------------------------+
// USB UF2
//--------------------------------------------------------------------+

#define USB_VID 0x303a
#define USB_PID 0x81B3
#define USB_MANUFACTURER "Waveshare Electronics"
#define USB_PRODUCT "ESP32-S3-Zero"

#define UF2_PRODUCT_NAME USB_MANUFACTURER " " USB_PRODUCT
#define UF2_BOARD_ID "ESP32-S3-Zero"
#define UF2_VOLUME_LABEL "WS3ZEROBOOT"
#define UF2_INDEX_URL "https://www.waveshare.com/wiki/ESP32-S3-Zero"

#endif
7 changes: 7 additions & 0 deletions ports/espressif/boards/waveshare_esp32_s3_zero/sdkconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Board Specific Config

# Partition Table
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions-4MB.csv"

# Serial flasher config
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
7 changes: 7 additions & 0 deletions src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,17 @@
//--------------------------------------------------------------------+
//#define USE_DFU_BUTTON 1

#ifndef NEOPIXEL_INVERT_RG
uint8_t RGB_USB_UNMOUNTED[] = { 0xff, 0x00, 0x00 }; // Red
uint8_t RGB_USB_MOUNTED[] = { 0x00, 0xff, 0x00 }; // Green
uint8_t RGB_WRITING[] = { 0xcc, 0x66, 0x00 };
uint8_t RGB_DOUBLE_TAP[] = { 0x80, 0x00, 0xff }; // Purple
#else
uint8_t RGB_USB_UNMOUNTED[] = { 0x00, 0xff, 0x00 }; // Red
uint8_t RGB_USB_MOUNTED[] = { 0xff, 0x00, 0x00 }; // Green
uint8_t RGB_WRITING[] = { 0x66, 0xcc, 0x00 };
uint8_t RGB_DOUBLE_TAP[] = { 0x00, 0x80, 0xff }; // Purple
#endif
uint8_t RGB_UNKNOWN[] = { 0x00, 0x00, 0x88 }; // for debug
uint8_t RGB_OFF[] = { 0x00, 0x00, 0x00 };

Expand Down

0 comments on commit 2e553ad

Please sign in to comment.