416浏览
查看: 416|回复: 2

[ESP8266/ESP32] DFRobot ESP32 S3 模组的最小系统

[复制链接]
前一段入手了 ESP32-S3-WROOM-1-N4模组(DFR0896),拿到手之后发现包装非常有意思:类似于糖果。
Picture1.jpg
接下来就开始研究如何使用它们。经过研究电路部分和之前的 ESP32 S3非常类似,同时参考之前 ESP32 S2 的设计,绘制一个最小系统的电路图。因为这是ESP32S3 模块,工作需要的晶振已经集成在模块内部中,所以外围只需要很少的元件即可工作:
Picture2.png
其余部分是特别预留的USB接口,以及串口下载部分和供电部分(POWER):
Picture3.png
下载部分提供了 TX RX, 此外 IO0 EN_AUTO 配合能够实现自动下载。供电部分由外部引入3.3V5V 电源,后者是专门给USB设备进行供电的。
特别注意:嘉立创库中的 ESP32 S3 模块绘制有问题,元件引脚和PAD对应错误,因此我自己修改出一个命名为 DFROBOT ESP32-S3-WROOM-1U-N4。另外,ESP32S3 S2 模组虽然都是邮票孔,但是引脚间距不同,在使用中如果使用 S2作为参考务必注意这一点。
Picture4.png
此外,上图和手册相比中间EPAD稍微有些差别,我是直接将他们放在一起的没有分开成9个方块,这个PAD更多是为了散热考虑,所以修改不会由影响。
Picture5.png
拿到手的板子是这样的:
Picture6.jpg
焊接之后是这样的:
Picture7.jpg
烧写代码是位于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 */
复制代码

特别注意还需要设置编译选项:
Picture8.png
之后可以看到
Picture9.png
有了最小系统,用户可以方便的移植到自身的设计中。
完整的电路图和 PCB:    ESP32S3MINI.zip (40.73 KB, 下载次数: 16)

ASH腻  管理员

发表于 2022-6-20 16:59:16

嘿 这个包装还挺可爱的
回复

使用道具 举报

zoologist  初级技匠
 楼主|

发表于 2022-6-21 08:38:50

ASH腻 发表于 2022-6-20 16:59
嘿 这个包装还挺可爱的

确实,挺可爱的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail