Skip to content

Lesson 03: UART3-IN External Power Interface

1. Course Introduction

This lesson does not involve writing any new programs. Instead, building on the LED program from the previous lesson, it introduces the power supply, serial communication, and flashing boundaries of UART3-IN.

2. Learning Objectives

Upon completing this lesson, you should be able to:

  • Identify the functional differences among UART0, UART3-IN, and USB 2.0.
  • Correctly understand the 5V, GND, RX3, and TX3 pins of UART3-IN.
  • Safely complete 5V external power wiring while the device is powered off.

3. What You Need to Prepare

  • Prepare the required number of CrowPanel Advanced 5-inch ESP32-P4 HMI AI Display development boards and data-capable USB-C cables as needed for this lesson.
  • No new code is added in this lesson; verification can reuse the LED program from Lesson 02.
  • Prepare an adjustable 5V power supply and two Dupont wires.

Code links reference: This lesson contains no code; it is purely theoretical explanation.

4. Software Operation Steps

No code, no software operations.

5. Hardware Operation Steps

  1. Observe the UART0 and UART3-IN interfaces on the right side of the development board. UART0 is connected to the serial download chip and can be used for Arduino program uploading and serial monitoring; after connection, the board's power indicator should light up.

5inch_P4_Arduino 06

  1. Confirm the functional differences between the two interfaces. UART3-IN can serve as an external 5V power input interface and can also be used for ordinary UART3 communication, but it cannot replace UART0 for uploading Arduino programs.

At this moment, everyone can see that the UART3-IN and UART0 interfaces. In the previous lesson, when we were burning the code, we learned that the UART0 pin is used for uploading the code. At the same time, you can also see that after connecting the UART0 interface, the power indicator next to it lights up, indicating that power supply is still available.

5inch_P4_Arduino07

  1. Turn off the adjustable power supply output, and while powered off, use two Dupont wires to connect to UART3-IN: connect the positive terminal of the power supply to VCC, and the negative terminal to GND. After confirming the polarity is correct, set the output to 5V, set the current limit to 2A, and then turn on the power supply.

Then we come back to the UART3-IN interface. This interface is similar in function to the UART0 interface we just discussed. It can supply power, but it cannot upload code.

The UART0 interface is connected to the serial port burning chip, making code burning relatively convenient.

However, the UART3-IN interface does not have a serial port burning chip. It can only be used for power supply and serial port operations.

So, here we will explain how the UART3-IN interface can be used as a power supply function.

You need to prepare a power supply, along with two Dupont wires. One wire connects the VCC pin of UART3-IN to the positive terminal of the power supply, and the other wire connects the GND pin of UART3-IN to the negative terminal of the power supply.

Note: Do not reverse-connect VCC and GND, and do not apply a voltage higher than 5V to UART3-IN.

5inch_P4_Arduino 08

  1. Note: The voltage and current used here are provided by a programmable power supply. You only need to ensure that the externally supplied voltage is 5V and the current is 2A, then connect them to the corresponding VCC pin and GND pin on UART3-IN (connect the positive terminal to VCC and the negative terminal to GND).

  2. At this point, you will be able to see the LED light we turned on in the last lesson. It is also blinking now, indicating that the power supply has been successful. Of course, in addition to serving as an input power interface, USRT3-IN can also be used as a normal serial port. However, it should be noted that when connecting UART3-IN, since UART3-IN cannot provide power externally, the side connected to UART3-IN needs to be able to supply power itself.

  3. Observe whether the LED program uploaded in Lesson 2 continues to run. Normal LED blinking indicates that the UART3-IN external power supply is successful; if the indicator light or LED status is abnormal, immediately turn off the power and check the voltage, current limit value, and wiring polarity.

6. Key Code Explanation

This lesson adds no new project code and continues to use the current Lesson02-Turn_on_the_LED program. That program includes board_config.h, configures PIN_LED (GPIO48) as an output in setup(), and repeatedly switches the LED between HIGH and LOW with a 1000 ms delay in loop().

When the board is powered through UART3-IN, continued 1-second-on and 1-second-off blinking confirms that the previously uploaded program is still running normally. The reused LED code only provides a visible power-on verification result; it does not configure UART3-IN, change its power-supply function, or allow it to replace UART0 for program uploading.

7. Experimental Observations

  • When powered solely through UART3-IN, the power indicator lights up, and the LED program flashed in the previous lesson continues to run.
  • Able to explain that UART0 can flash programs while UART3-IN cannot, and able to draw the wiring with TX/RX crossed and GND common-grounded.