From Banana Pi Wiki
Revision as of 18:57, 5 June 2018 by Wanghao (talk | contribs) (Ardino IDE)
Jump to: navigation, search



The BPI:UNO32 (also referred to as BPI-UNO32, stylised as BPI UNO32) is an ESP32 with Xtensa 32bit LX6 single/dual-core processor based embedded system. support Webduino and arduino function.

BPI-UNO32 uses the ESP-WROOM-32 of espressif company as MCU. ESP32 is a single-chip solution integrating 2.4GHz Wi-Fi and Bluetooth dual mode. The 40 nanometer technology of TSMC has the best power consumption, RF performance, stability, versatility and reliability. It can deal with various application scenarios.

Two separate controlled CPU cores, the main frequency can be up to 240MHz, 448KB ROM, 520KB SRAM.

BPI-UNO32 The appearance size is fully matched with Arduino UNO R3

BPI:UNO32 hardware

BPI:UNO32 interface


BPI:UNO32 Spec

Hardware spec
CPU Xtensa® 32-bitLX6single / dual core processor
Flash 4MB(Onboard),A maximum of 4 Flash/SRAM, each Flash maximum 16MB
Power 5V@1AmicroUSBpoweror 5.5mm 12VDCport
GPIO 12-bits SAR ADC 18 channel, 2\*8-bit D/A converter, 4*SPI, 2*I2S, 2*I2C, 3*UART, Host SD/eMMC/SDIO, Slave SDIO/SPI
Wi-Fi 802.11 b/g/n/e/i 802.11 n\(2.4GHz 150Mbps\) 802.11 e\(Quality of Service\)
Bluetooth BT4.2 & BLE
Buzzer Passive buzzer
Sizes 68mm\*53mm

BPI:UNO32 PIN define

PIN define.jpg

BPI-UNO32 software

How to setup and start

Need to be prepared:

  • BPI-UNO32 1
  • Jumper Cap 4
  • microUSB 1


1,connect the four jumper caps to the top of the board, respectively, to connect the RGB LED to the buzzer. Then use the microUSB line to connect the development board to the computer.

  • port:

Uno32 start 0.png

  • Connect:

Uno32 start 1.png

open VS Code \(you can also choose other compilers\) and open BPI-UNO32 on the PlatformIO Home page Code project, for example, to open a test code engineering folderPlatformIO\_VSCode。

  • Project:

Uno32 start 2.png

open the VS Code terminal console, input , compile the program, input , compile and burn the program. (if it hasn't been compiled before, it may be slow to compile the first time and need to be connected because he needs to get the corresponding platform information).

  • platformio run:

Uno32 start 3.png

  • platformio run --target upload:

Uno32 start 4.png

2,then open the serial port assistant tool, select BPI-UNO32 on the computer corresponding to the serial serial number, the serial port settings are selected as: Baud rate: 115200 Data bit: 8 Parity check: no Stop bit:

  • Serial Config:

Uno32 start 5.png

3,Test content:

  • RGB LED fading.
  • AD acquisition and testing of 6 ADC\_channel1.
  • WiFi scan testing.
  • Control test of buzzer gradient.

Ardino IDE

  • Arduino IDE:Open File -> Preferences, as shown in the following figure:

Uno32 pic 1.png

  • Click the button in the red circle above and add the following URL in the newly popped
As shown below:

Uno32 pic 2.png

  • Open Tools->Board->Board Manager. Pull down to see FireBeetle-ESP32 and click Install.Please select the relevant model after installation.

Uno32 pic 3.png

  • Open a project in the upper left corner of the file, or open an example.

Uno32 pic 4.png

  • Select a correct port in Tools -> Ports, then click ”compile"will be compiled code,clickwill "run" be burn program。

Uno32 pic 5.png

Uno32 pic 6.png

  • PlatformIO for Atom/VS Code

1,First open the PlatformIO Home page, then click Open Project to open the project. \(You can choose the test code.\) If you write your own code to burn, then the platformio.ini file should write the following code

platform = espressif32
board = nodemcu-32s
framework = arduino

Uno32 pic 7.png

Uno32 pic 8.png

2,The code path under PlatformIO project is generally src/main.cpp. Open the code and use Ctrl+\` to open the terminal debugger. Enter platformio run --target upload. Uno32 pic 9.png

3,Make sure the board is connected. The program will be compiled first and then burned into the BPI-uno32 board. There are some points to note. If the above code does not specify the port, please try to avoid other serial devices connected on the computer. For serial port numbers, run platformio --help.

Uno32 pic 10.png


1,first open the uPyCraft software, click the Tools->Serial port to select the port in the upper toolbar. After selecting port, the software will automatically decide whether to burn the firmware, if necessary, the interface will be popped up.


  • first open the uPyCraft software, click the Tools->Serial port to select the port in the upper toolbar. After selecting port, the software will automatically decide whether to burn the firmware, if necessary, the interface will be popped up.

Uno32 pic 11.png

2,when the software interface is opened, we choose ESP32 in board. If erase\_flash chooses yes, it will wipe out the original flash first, and generally choose to erase it, so that the original flash will have an impact on it now.

Uno32 pic 12.png

3, after the selection, click Yes to start the burning, there will be the following dialog, only to wait for it.

Uno32 pic 13.png

when the Burn column is full, the dialog box automatically closes and displays the software master interface.

Uno32 pic 14.png

4,In the main interface we can clickto “connect" connected. It is located in the lower row of the toolbar. The following interface will appear after the connection

Uno32 pic 15.png

This means we can appear > > > for interactive programming like to Python in the following dialogue.

Basic function test:

You can visit GitHub to download the test code, compile, burn, and observe the test results through the serial port.

Project link \(PlatformIO\):https://github.com/yelvlab/BPI-UNO32/tree/master/Test_Code/PlatformIO_VSCode


Source code