Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Additional Adafruit boards including the new Qualia ESP32-S3 and Camera ESP32-S3 #8696

Merged
merged 30 commits into from
Oct 4, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
44b1fc5
Add MatrixPortal ESP32-S3 (WIP)
PaintYourDragon May 18, 2023
a9cef2b
Update bootloader files, etc.
PaintYourDragon May 18, 2023
2f18371
Add MatrixPortal S3 PSRAM setup to boards.txt
PaintYourDragon May 18, 2023
2be6d8b
Merge pull request #15 from adafruit/pb-matrixportal
PaintYourDragon May 18, 2023
d74fc5d
Merge branch 'espressif:master' into master
ladyada Jun 17, 2023
638db1d
Merge branch 'espressif:master' into master
ladyada Jun 30, 2023
8005d7a
fix neopixel pin
ladyada Jul 1, 2023
8cace55
Merge branch 'espressif:master' into master
ladyada Jul 2, 2023
873b01f
Merge branch 'espressif:master' into master
ladyada Aug 13, 2023
02a7191
initialize bsp
ladyada Aug 14, 2023
a67481b
?
ladyada Aug 20, 2023
5717dce
Merge branch 'espressif:master' into master
ladyada Aug 24, 2023
4395044
new variant for tft board with RGB666 40-pin display contact
ladyada Sep 10, 2023
167d248
Merge branch 'espressif:master' into master
ladyada Sep 11, 2023
480b062
fix menu name
ladyada Sep 11, 2023
e850570
Merge branch 'espressif:master' into master
ladyada Sep 16, 2023
09ae354
Merge branch 'espressif:master' into pycams3
ladyada Sep 16, 2023
6bbc73c
fix neopixel pins
ladyada Sep 16, 2023
8a21e07
more pin defs
ladyada Sep 20, 2023
b60e62b
second bootloader file
ladyada Sep 23, 2023
f74b08f
fix partition
ladyada Sep 23, 2023
55ea0f5
Merge branch 'master' into pycams3
ladyada Sep 23, 2023
7665446
Merge pull request #16 from adafruit/pycams3
ladyada Sep 23, 2023
881aa13
Update variants/adafruit_camera_esp32s3/pins_arduino.h
ladyada Oct 4, 2023
b010e40
Update variants/adafruit_qualia_s3_rgb666/pins_arduino.h
ladyada Oct 4, 2023
9978203
add some #'s
ladyada Oct 4, 2023
c12d372
Merge branch 'master' of github.com:adafruit/arduino-esp32
ladyada Oct 4, 2023
d25433f
Merge branch 'master' into master
ladyada Oct 4, 2023
f84d430
hardware design mistakes? in this economy? now we can use PSRAM and S…
ladyada Oct 4, 2023
bb2b794
Merge branch 'master' of github.com:adafruit/arduino-esp32
ladyada Oct 4, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
385 changes: 385 additions & 0 deletions boards.txt

Large diffs are not rendered by default.

Binary file not shown.
10 changes: 10 additions & 0 deletions variants/adafruit_camera_esp32s3/partitions-4MB-1ota.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# ESP-IDF Partition Table
# Name, Type, SubType, Offset, Size, Flags
# bootloader.bin,, 0x1000, 32K
# partition table, 0x8000, 4K

nvs, data, nvs, 0x9000, 20K,
otadata, data, ota, 0xe000, 8K,
ota_0, app, ota_0, 0x10000, 2816K,
uf2, app, factory,0x2d0000, 256K,
ffat, data, fat, 0x310000, 960K,
86 changes: 86 additions & 0 deletions variants/adafruit_camera_esp32s3/pins_arduino.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
#ifndef Pins_Arduino_h
#define Pins_Arduino_h

#include <stdint.h>


#define USB_VID 0x239A
#define USB_PID 0x8117
#define USB_MANUFACTURER "Adafruit"
#define USB_PRODUCT "Camera ESP32-S3"
#define USB_SERIAL "" // Empty string for MAC adddress


#define EXTERNAL_NUM_INTERRUPTS 46
#define NUM_DIGITAL_PINS 48
#define NUM_ANALOG_INPUTS 20

#define analogInputToDigitalPin(p) (((p)<20)?(analogChannelToDigitalPin(p)):-1)
#define digitalPinToInterrupt(p) (((p)<48)?(p):-1)
#define digitalPinHasPWM(p) (p < 46)

static const uint8_t PIN_NEOPIXEL = 1;
static const uint8_t NEOPIXEL_PIN = 1;

//static const uint8_t TFT_BACKLIGHT = 41;
static const uint8_t TFT_DC = 40;
static const uint8_t TFT_CS = 39;
static const uint8_t TFT_RESET = 38;
static const uint8_t TFT_RST = 38;

static const uint8_t SD_CS = 48;
static const uint8_t SD_CHIP_SELECT = 48;
static const uint8_t SPEAKER = 41;

static const uint8_t SDA = 33;
static const uint8_t SCL = 34;

static const uint8_t SS = 48;
static const uint8_t MOSI = 35;
static const uint8_t SCK = 36;
static const uint8_t MISO = 37;

static const uint8_t A0 = 17;
static const uint8_t A1 = 18;
static const uint8_t BATT_MONITOR = 4;
static const uint8_t SHUTTER_BUTTON = 0;

static const uint8_t TX = 43;
static const uint8_t RX = 44;

static const uint8_t DAC1 = 17;
static const uint8_t DAC2 = 18;

#define AWEXP_SPKR_SD 0
#define AWEXP_BUTTON_SEL 1
#define AWEXP_BACKLIGHT 2
#define AWEXP_CAM_PWDN 7
#define AWEXP_SD_DET 8
#define AWEXP_SD_PWR 9
#define AWEXP_CAM_RST 10
#define AWEXP_BUTTON_OK 11
#define AWEXP_BUTTON_RIGHT 12
#define AWEXP_BUTTON_UP 13
#define AWEXP_BUTTON_LEFT 14
#define AWEXP_BUTTON_DOWN 15

#define PWDN_GPIO_NUM -1 // connected through expander
#define RESET_GPIO_NUM -1 // connected through expander
#define XCLK_GPIO_NUM 8
#define SIOD_GPIO_NUM SDA
#define SIOC_GPIO_NUM SCL

#define Y9_GPIO_NUM 7
#define Y8_GPIO_NUM 9
#define Y7_GPIO_NUM 10
#define Y6_GPIO_NUM 12
#define Y5_GPIO_NUM 14
#define Y4_GPIO_NUM 16
#define Y3_GPIO_NUM 15
#define Y2_GPIO_NUM 13
#define VSYNC_GPIO_NUM 5
#define HREF_GPIO_NUM 6
#define PCLK_GPIO_NUM 11


#endif /* Pins_Arduino_h */
Binary file added variants/adafruit_camera_esp32s3/tinyuf2.bin
Binary file not shown.
36 changes: 36 additions & 0 deletions variants/adafruit_camera_esp32s3/variant.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2021 Ha Thach (tinyusb.org) for Adafruit Industries
*
* 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.
*/


#include "esp32-hal-gpio.h"
#include "pins_arduino.h"

extern "C" {

// Initialize variant/board, called before setup()
void initVariant(void)
{

}
}
Binary file modified variants/adafruit_metro_esp32s3/bootloader-tinyuf2.bin
Binary file not shown.
12 changes: 6 additions & 6 deletions variants/adafruit_metro_esp32s3/pins_arduino.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@

#define LED_BUILTIN 13

#define PIN_NEOPIXEL 45
#define NEOPIXEL_PIN 45
#define PIN_NEOPIXEL 46
#define NEOPIXEL_PIN 46
#define NEOPIXEL_NUM 1

#define PIN_BUTTON1 0 // BOOT0 switch
Expand All @@ -33,10 +33,10 @@ static const uint8_t RX = 41;
static const uint8_t SDA = 47;
static const uint8_t SCL = 48;

static const uint8_t SS = 21;
static const uint8_t MOSI = 35;
static const uint8_t SCK = 36;
static const uint8_t MISO = 37;
static const uint8_t SS = 45;
static const uint8_t MOSI = 42;
static const uint8_t SCK = 39;
static const uint8_t MISO = 21;

static const uint8_t A0 = 14;
static const uint8_t A1 = 15;
Expand Down
Binary file modified variants/adafruit_metro_esp32s3/tinyuf2.bin
Binary file not shown.
3 changes: 2 additions & 1 deletion variants/adafruit_metro_esp32s3/variant.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ extern "C" {

// Initialize variant/board, called before setup()
void initVariant(void) {
// default SD_CS to input pullup
// default SD_CS to input pullup (we cannot have built in pullup since its
// a strapping pin!)
pinMode(SS, INPUT_PULLUP);
}

Expand Down
Binary file not shown.
10 changes: 10 additions & 0 deletions variants/adafruit_qualia_s3_rgb666/partitions-16MB-tinyuf2.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# ESP-IDF Partition Table
# Name, Type, SubType, Offset, Size, Flags
# bootloader.bin,, 0x1000, 32K
# partition table,, 0x8000, 4K
nvs, data, nvs, 0x9000, 20K,
otadata, data, ota, 0xe000, 8K,
ota_0, app, ota_0, 0x10000, 2048K,
ota_1, app, ota_1, 0x210000, 2048K,
uf2, app, factory,0x410000, 256K,
ffat, data, fat, 0x450000, 11968K,
75 changes: 75 additions & 0 deletions variants/adafruit_qualia_s3_rgb666/pins_arduino.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
#ifndef Pins_Arduino_h
#define Pins_Arduino_h

#include <stdint.h>

#define USB_VID 0x239A
#define USB_PID 0x8147

#define USB_MANUFACTURER "Adafruit"
#define USB_PRODUCT "Qualia ESP32-S3 RGB666"
#define USB_SERIAL "" // Empty string for MAC adddress

#define EXTERNAL_NUM_INTERRUPTS 46
#define NUM_DIGITAL_PINS 48
#define NUM_ANALOG_INPUTS 2

#define analogInputToDigitalPin(p) (((p)<NUM_ANALOG_INPUTS)?(analogChannelToDigitalPin(p)):-1)
#define digitalPinToInterrupt(p) (((p)<EXTERNAL_NUM_INTERRUPTS)?(p):-1)
#define digitalPinHasPWM(p) (p < 46)

static const uint8_t PCA_TFT_SCK = 0;
static const uint8_t PCA_TFT_CS = 1;
static const uint8_t PCA_TFT_RESET = 2;
static const uint8_t PCA_CPT_IRQ = 3;
static const uint8_t PCA_TFT_BACKLIGHT = 4;
static const uint8_t PCA_BUTTON_UP = 5;
static const uint8_t PCA_BUTTON_DOWN = 6;
static const uint8_t PCA_TFT_MOSI = 7;

static const uint8_t TX = 16;
static const uint8_t RX = 17;
#define TX1 TX
#define RX1 RX

static const uint8_t SDA = 8;
static const uint8_t SCL = 18;

static const uint8_t SS = 15;
static const uint8_t MOSI = 7;
static const uint8_t MISO = 6;
static const uint8_t SCK = 5;

static const uint8_t A0 = 17;
static const uint8_t A1 = 16;

static const uint8_t T3 = 3; // Touch pin IDs map directly
static const uint8_t T8 = 8; // to underlying GPIO numbers NOT
static const uint8_t T9 = 9; // the analog numbers on board silk
static const uint8_t T10 = 10;
static const uint8_t T11 = 11;
static const uint8_t T12 = 12;


static const uint8_t TFT_R1 = 11;
static const uint8_t TFT_R2 = 10;
static const uint8_t TFT_R3 = 9;
static const uint8_t TFT_R4 = 46;
static const uint8_t TFT_R5 = 3;
static const uint8_t TFT_G0 = 48;
static const uint8_t TFT_G1 = 47;
static const uint8_t TFT_G2 = 21;
static const uint8_t TFT_G3 = 14;
static const uint8_t TFT_G4 = 13;
static const uint8_t TFT_G5 = 12;
static const uint8_t TFT_B1 = 40;
static const uint8_t TFT_B2 = 39;
static const uint8_t TFT_B3 = 38;
static const uint8_t TFT_B4 = 0;
static const uint8_t TFT_B5 = 45;
static const uint8_t TFT_PCLK = 1;
static const uint8_t TFT_DE = 2;
static const uint8_t TFT_HSYNC = 41;
static const uint8_t TFT_VSYNC = 42;

#endif /* Pins_Arduino_h */
Binary file added variants/adafruit_qualia_s3_rgb666/tinyuf2.bin
Binary file not shown.
37 changes: 37 additions & 0 deletions variants/adafruit_qualia_s3_rgb666/variant.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2021 Ha Thach (tinyusb.org) for Adafruit Industries
*
* 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.
*/


#include "esp32-hal-gpio.h"
#include "pins_arduino.h"

extern "C" {

// Initialize variant/board, called before setup()
void initVariant(void) {
// default SD_CS to input pullup
pinMode(SS, INPUT_PULLUP);
}

}