Chip-cn-dat/Espressif-dat/ESP32-dat/ESP32-HDK-dat/2024-12-27-18-11-21.png
... ...
Binary files /dev/null and b/Chip-cn-dat/Espressif-dat/ESP32-dat/ESP32-HDK-dat/2024-12-27-18-11-21.png differ
Chip-cn-dat/Espressif-dat/ESP32-dat/ESP32-HDK-dat/2024-12-27-18-11-50.png
... ...
Binary files /dev/null and b/Chip-cn-dat/Espressif-dat/ESP32-dat/ESP32-HDK-dat/2024-12-27-18-11-50.png differ
Chip-cn-dat/Espressif-dat/ESP32-dat/ESP32-HDK-dat/ESP32-HDK-dat.md
... ...
@@ -75,7 +75,14 @@ V2 Chips
75 75
- Pins SCK/CLK, SDO/SD0, SDI/SD1, SHD/SD2, SWP/SD3, and SCS/CMD, i.e. GPIO6 to GPIO11 are used to connect to the module integrated SPI flash, not recommended for other functions.
76 76
77 77
78
+## Module Compare
78 79
80
+![](2024-12-27-18-11-21.png)
81
+
82
+
83
+## Diagram
84
+
85
+![](2024-12-27-18-11-50.png)
79 86
80 87
## Modules
81 88
Chip-cn-dat/Espressif-dat/ESP32-dat/ESP32-HDK-dat/ESP32-I2S-dat/2024-12-26-19-06-13.png
... ...
Binary files a/Chip-cn-dat/Espressif-dat/ESP32-dat/ESP32-HDK-dat/ESP32-I2S-dat/2024-12-26-19-06-13.png and /dev/null differ
Chip-cn-dat/Espressif-dat/ESP32-dat/ESP32-HDK-dat/ESP32-I2S-dat/ESP32-I2S-dat.md
... ...
@@ -13,17 +13,30 @@ The I2S pins can be assigned to almost any GPIO pin using the ESP32's **flexible
13 13
14 14
| Signal | Default GPIO |
15 15
| ---------------------------------------- | ------------ |
16
-| I2S_WS (word select, also known as LRCK) | GPIO25 |
17
-| I2S_BCK (bit clock) | GPIO26 |
18
-| I2S_SD_OUT (serial data out, TX) | GPIO22 |
19
-| I2S_SD_IN (serial data in, RX) | GPIO35 |
16
+| I2S_WS (word select, also known as LRCK) | 25 |
17
+| I2S_BCK (bit clock) | 26 |
18
+| I2S_SD_OUT (serial data out, TX) | 22 |
19
+| I2S_SD_IN (serial data in, RX) | 35 |
20 20
21 21
22
-## With I2S amplifier
23 22
24
-- [[MAX98357-dat]]
25 23
26
-![](2024-12-26-19-06-13.png)
24
+
25
+## I2S devices
26
+
27
+- [[MAX98357-dat]] - [[MSM261S4030H0R-dat]] - [[INMP441-dat]]
28
+
29
+
30
+## demo code
31
+
32
+- use dual I2S, please note the code generate by AI [[dual-i2s.ino]]
33
+
34
+| **Signal** | **I2S0 GPIO Pin** | **I2S1 GPIO Pin** |
35
+| ---------------- | ----------------- | ----------------- |
36
+| BCLK (Bit Clock) | 26 | 19 |
37
+| WS (LRCLK) | 25 | 18 |
38
+| DOUT (Data Out) | 22 | Not used (-1) |
39
+| DIN (Data In) | Not used (-1) | 23 |
27 40
28 41
- [[arduino-lib-dat]]
29 42
Chip-cn-dat/Espressif-dat/ESP32-dat/ESP32-HDK-dat/ESP32-I2S-dat/dual-i2s.ino
... ...
@@ -0,0 +1,52 @@
1
+
2
+#include <driver/i2s.h>
3
+
4
+// I2S0 Configuration (e.g., for an output speaker)
5
+i2s_pin_config_t i2s0_pins = {
6
+ .bck_io_num = 26, // BCLK pin
7
+ .ws_io_num = 25, // WS (LRCLK) pin
8
+ .data_out_num = 22, // Data output (DOUT) pin
9
+ .data_in_num = -1 // Not used for output
10
+};
11
+
12
+// I2S1 Configuration (e.g., for an input microphone)
13
+i2s_pin_config_t i2s1_pins = {
14
+ .bck_io_num = 19, // BCLK pin
15
+ .ws_io_num = 18, // WS (LRCLK) pin
16
+ .data_out_num = -1, // Not used for input
17
+ .data_in_num = 23 // Data input (DIN) pin
18
+};
19
+
20
+void setup() {
21
+ // I2S0 Configuration
22
+ i2s_config_t i2s0_config = {
23
+ .mode = I2S_MODE_MASTER | I2S_MODE_TX,
24
+ .sample_rate = 44100,
25
+ .bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT,
26
+ .channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT,
27
+ .communication_format = I2S_COMM_FORMAT_I2S,
28
+ .intr_alloc_flags = 0,
29
+ .dma_buf_count = 8,
30
+ .dma_buf_len = 64
31
+ };
32
+ i2s_driver_install(I2S_NUM_0, &i2s0_config, 0, NULL);
33
+ i2s_set_pin(I2S_NUM_0, &i2s0_pins);
34
+
35
+ // I2S1 Configuration
36
+ i2s_config_t i2s1_config = {
37
+ .mode = I2S_MODE_MASTER | I2S_MODE_RX,
38
+ .sample_rate = 44100,
39
+ .bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT,
40
+ .channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT,
41
+ .communication_format = I2S_COMM_FORMAT_I2S,
42
+ .intr_alloc_flags = 0,
43
+ .dma_buf_count = 8,
44
+ .dma_buf_len = 64
45
+ };
46
+ i2s_driver_install(I2S_NUM_1, &i2s1_config, 0, NULL);
47
+ i2s_set_pin(I2S_NUM_1, &i2s1_pins);
48
+}
49
+
50
+void loop() {
51
+ // Your audio processing code here
52
+}
Chip-cn-dat/Espressif-dat/ESP32-dat/ESP32-modules-dat/ESP32-WROVER-DAT/ESP32-WROVER-DAT.md
... ...
@@ -4,6 +4,8 @@
4 4
5 5
https://www.electrodragon.com/product/esp32-wrover-v4-module-based-esp32/
6 6
7
+- development board - [[NWI1100-dat]] by swaping the module
8
+
7 9
## sale version
8 10
9 11
IPEX-ANT
... ...
@@ -20,6 +22,19 @@ PCB-ANT
20 22
21 23
![](2024-12-26-18-38-26.png)
22 24
25
+19x19
26
+
27
+
28
+
29
+
30
+## Chip Version
31
+
32
+About ESP32 chips and modules Espressif company's recommendation description
33
+
34
+| Module | model built-in ESP32 chip model | built-in sram | built-in rom | Espressif recommended status |
35
+| -------------- | ------------------------------- | ------------- | ------------ | ----------------------------------- |
36
+| ESP32-WROVER-B | ESP32-D0WD | 512K | 448K | Not recommended for new designs |
37
+| ESP32-WR0VER-E | ESP32-D0WD-V3 | 512K | 448K | Recommended for new designs in 2024 |
23 38
24 39
25 40
Chip-dat/Analog-dat/MAX98357-dat/2024-12-26-19-06-13.png
... ...
Binary files /dev/null and b/Chip-dat/Analog-dat/MAX98357-dat/2024-12-26-19-06-13.png differ
Chip-dat/Analog-dat/MAX98357-dat/MAX98357-dat.md
... ...
@@ -6,6 +6,11 @@
6 6
7 7
![](2024-12-26-15-18-55.png)
8 8
9
+## wiring
10
+
11
+
12
+![](2024-12-26-19-06-13.png)
13
+
9 14
10 15
## code
11 16