I have been designing and manufacturing custom PCB's for several years based on integration of GSM Chipsets (SimCom) and the ESP32 (and Arduino) microcontrollers. I am by no means an electrical engineer, however. I generally start with a reference design and then breadboard-in the additional GSM chipset for testing. Once I get a working breadboard design, I send off the reference materials and extensions for the reference schematics to my PCB design house.
I have an existing design based on the integration of an Arduino Mega, a SimCom 5320 (3G), and an Ethernet Phy. Although I have converted all my other GSM-based boards to ESP32+SimCom7100 (4G), I have been putting aside the upgrade of my "ethernet" capable design due to additional challenges.
I would like to start with the reference design of the "ESP32-Ethernet-Kit" and add the necessary details to support the addition of a GSM chip (SimCom 7100 or later) as well as an I2C interface for peripheral support.
In addition to what the "ESP32-Ethernet-Kit" has already allocated, I need to implement a UART, an I2C bus, and at least one digital output. Here is the primary document I am using to identify GPIO availability in the "ESP32-Ethernet-Kit" reference design:
https://docs.espressif.com/projects/esp ... t-kit.html
The "ESP32-Ethernet-Kit" clearly shows GPIO's 32, 33, 34, 35, 36, and 39 as being available without restriction. However, the general ESP32 documentation shows GPIO's 34, 35, 36, and 39 as available for "input only" (Not UART or I2C).
The "ESP32-Ethernet-Kit" also shows some "other" GPIO's which may be used for "other" purposes based on the associated restrictions/comments.
Summarizing what the "ESP32-Ethernet-Kit" docs (above) indicate, as well as generic ESP32 GPIO restrictions, I have the following tables of GPIO candidates for my application:
ESP32-Ethernet-Kit "Unrestricted":
------------------------------------------
GPIO32 (OK)
GPIO33 (OK)
GPIO34 (Input Only)
GPIO35 (Input Only)
GPIO36 (Input Only)
GPIO39 (Input Only)
ESP32-Ethernet-Kit "Restricted":
---------------------------------------
GPIO2 (On-Board LED)
GPIO4 (OK?)
GPIO12 (JTAG / Boot Fail if pulled high)
GPIO13 (JTAG / OK?)
GPIO14 (JTAG / Output PWM at boot)
GPIO15 (JTAG / Output PWM at boot)
I'm not sure why GPIO2 and GPIO4 are on the "restricted" list as they have no comments associated with them. I'm also guessing as long as I don't need JTAG support (or simply toggle it off), I can use GPIO12-15 with additional attention to generic ESP32 limitations.
Based on the above, I am considering the following assignments:
I2C (Peripherals): SDA=GPIO4, GPIO13
UART2 (SimCom): TX=GPIO32, RX=GPIO33
Digital Output (SimCom Pwr): GPIO12
I would really appreciate it if anyone cares to comment on my assignments. Are there any issue with these assignments? Could there be a better solution?
Thanks in Advance!
ESP32 PCB Design Question (Based on ESP32-Ethernet-Kit)
Who is online
Users browsing this forum: Baidu [Spider] and 68 guests