DFRobot ESP32 S3 模组的最小系统

2022-06-181.3万
AI 快速预览详细 收起
本文介绍了 DFRobot ESP32-S3-WROOM-1-N4 模组的最小系统设计,包括电路图、焊接步骤和代码烧写。特别注意模组引脚间距与 S2 不同,以及嘉立创库中的绘制问题。通过本文,用户可以轻松将该模组集成到自己的设计中。文章提供了详细的电路图、焊接步骤和代码烧写方法,特别强调了引脚间距和散热设计的重要性。
前一段入手了 ESP32-S3-WROOM-1-N4模组(DFR0896),拿到手之后发现包装非常有意思:类似于糖果。
DFRobot ESP32 S3 模组的最小系统图1
接下来就开始研究如何使用它们。经过研究电路部分和之前的 ESP32 S3非常类似,同时参考之前 ESP32 S2 的设计,绘制一个最小系统的电路图。因为这是ESP32S3 模块,工作需要的晶振已经集成在模块内部中,所以外围只需要很少的元件即可工作:
DFRobot ESP32 S3 模组的最小系统图2
其余部分是特别预留的USB接口,以及串口下载部分和供电部分(POWER):
DFRobot ESP32 S3 模组的最小系统图3
下载部分提供了 TX RX, 此外 IO0 EN_AUTO 配合能够实现自动下载。供电部分由外部引入3.3V5V 电源,后者是专门给USB设备进行供电的。
特别注意:嘉立创库中的 ESP32 S3 模块绘制有问题,元件引脚和PAD对应错误,因此我自己修改出一个命名为 DFROBOT ESP32-S3-WROOM-1U-N4。另外,ESP32S3 S2 模组虽然都是邮票孔,但是引脚间距不同,在使用中如果使用 S2作为参考务必注意这一点。
DFRobot ESP32 S3 模组的最小系统图4
此外,上图和手册相比中间EPAD稍微有些差别,我是直接将他们放在一起的没有分开成9个方块,这个PAD更多是为了散热考虑,所以修改不会由影响。
DFRobot ESP32 S3 模组的最小系统图5
拿到手的板子是这样的:
DFRobot ESP32 S3 模组的最小系统图6
焊接之后是这样的:
DFRobot ESP32 S3 模组的最小系统图7
烧写代码是位于C:\Users\Username\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.3\libraries\USB\examples\Keyboard\KeyboardMessageESP32 示例代码:

  1. /*
  2.   Keyboard Message test
  3.   For the Arduino Leonardo and Micro.
  4.   Sends a text string when a button is pressed.
  5.   The circuit:
  6.   - pushbutton attached from pin 0 to ground
  7.   - 10 kilohm resistor attached from pin 0 to +5V
  8.   created 24 Oct 2011
  9.   modified 27 Mar 2012
  10.   by Tom Igoe
  11.   modified 11 Nov 2013
  12.   by Scott Fitzgerald
  13.   This example code is in the public domain.
  14.   http://www.arduino.cc/en/Tutorial/KeyboardMessage
  15. */
  16. #if ARDUINO_USB_MODE
  17. #warning This sketch should be used when USB is in OTG mode
  18. void setup(){}
  19. void loop(){}
  20. #else
  21. #include "USB.h"
  22. #include "USBHIDKeyboard.h"
  23. USBHIDKeyboard Keyboard;
  24. const int buttonPin = 0;          // input pin for pushbutton
  25. int previousButtonState = HIGH;   // for checking the state of a pushButton
  26. int counter = 0;                  // button push counter
  27. void setup() {
  28.   // make the pushButton pin an input:
  29.   pinMode(buttonPin, INPUT_PULLUP);
  30.   // initialize control over the keyboard:
  31.   Keyboard.begin();
  32.   USB.begin();
  33. }
  34. void loop() {
  35.   // read the pushbutton:
  36.   int buttonState = digitalRead(buttonPin);
  37.   // if the button state has changed,
  38.   if ((buttonState != previousButtonState)
  39.       // and it's currently pressed:
  40.       && (buttonState == LOW)) {
  41.     // increment the button counter
  42.     counter++;
  43.     // type out a message
  44.     Keyboard.print("You pressed the button ");
  45.     Keyboard.print(counter);
  46.     Keyboard.println(" times.");
  47.   }
  48.   // save the current button state for comparison next time:
  49.   previousButtonState = buttonState;
  50. }
  51. #endif /* ARDUINO_USB_MODE */
复制代码

特别注意还需要设置编译选项:
DFRobot ESP32 S3 模组的最小系统图8
之后可以看到
DFRobot ESP32 S3 模组的最小系统图9
有了最小系统,用户可以方便的移植到自身的设计中。
完整的电路图和 PCB:   下载附件ESP32S3MINI.zip

用于下载和供电的小板设计可以在 https://mc.dfrobot.com.cn/thread-312276-1-1.html 这篇文章中找到。

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(2)
Shuuei
Shuuei
请问这个红色的转接板在哪可以买到啊?还是要自己画然后打出来呢?
Shuuei
Shuuei回复zoologist
收到!自力更生!
zoologist
zoologist
作者
回复Shuuei
那个是CH343 下载板,在 https://mc.dfrobot.com.cn/thread-312276-1-1.html 帖子中有介绍,自己做
Ash1
Ash1
嘿 这个包装还挺可爱的
zoologist
zoologist
作者
回复Ash1
确实,挺可爱的
- 没有更多了 -