Difference between revisions of "BPI-UNO32"

From Banana Pi Wiki
Jump to: navigation, search
(Created page with "<div id="BPI-bit for webduino & arduino"></div> = Introduction= <div id="BPI:bit"></div> The '''BPI:UNO32''' (also referred to as '''BPI-UNO32''', stylised as '''BPI UNO32'''...")
 
 
(92 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<div id="BPI-bit for webduino & arduino"></div>
+
[[zh:BPI-UNO32 Arduino开发板]]
 +
 
 
= Introduction=
 
= Introduction=
<div id="BPI:bit"></div>
 
  
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.
+
[[File:ESP32_6.JPG|thumb|Overview:BPI-UNO32 with ESP32]]
 +
[[File:Leaf-S3-incline-front.jpg|thumb|[[BPI-Leaf-S3]] with ESP32-S3]]
 +
[[File:Case.JPG|thumb|[[BPI-UNO32 shell compatible LEGO bricks]]]]
 +
[[File:Webduino_gif.gif|thumb|[[BPI-Bit]] with ESP32 design]]
 +
[[File:Leaf-S3-incline-front.jpg|thumb|[[BPI-Leaf-S3]] with ESP32-S3]]
 +
[[File:BPI-Centi-S3_2.jpg|thumb|[[BPI-Centi-S3]] with ESP32-S3 front]]
 +
[[File:BPI-AI_1.JPG|thumb|[[BPI-AI]] Kendryte K210 RISC-V]]
 +
 
 +
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 ,arduino,microPython,Scratch.x function.
 +
 
 +
[[File:A_BPI-UNO32.jpg]]
 +
 
 +
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 hardware =
  
==BPI:UNO32 hardware description ==
 
  
 +
==BPI:UNO32 interface==
 +
 +
[[File:Interface.png]]
  
 +
==BPI:UNO32 Spec ==
  
==BPI:UNO32 interface==
+
{| class="wikitable"
 +
|-
 +
| style="background: PaleTurquoise; color: black" colspan="4"| '''Hardware spec'''
 +
|-
 +
| CPU || Xtensa® 32-bitLX6single / dual core processor
 +
|-
 +
| ROM || 448KB
 +
|-
 +
| SRAM || 520KB
 +
|-
 +
| 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
 +
|-
 +
| LEDs || RGB LED/POWER LED/Receive LED/Transmit LED
 +
|-
 +
| Sizes || 68mm\*53mm
 +
|-
 +
|}
 +
 
 +
==BPI:UNO32 PIN define==
 +
 
 +
[[File:PIN_define.jpg]]
 +
 
 +
= BPI-UNO32 software =
 +
 
 +
==Visuino==
 +
 
 +
=== About Visuino===
 +
Visuino is a visual, graphical development environment for Arduino and similar boards, including almost all standard Arduino boards, Teensy, Femto IO, LinkIt ONE, FreeSoC2, RoMeo BLE, Bluno Beetle, Goldilocks Analogue, ESP8266, ESP32, PIC32, nRF52832, Maple Mini, and many Arduino based Industrial PLC Controllers such as Controllino, Bedac, and Digital Loggers PLDuino, and Industrial Shields.
 +
 
 +
[[File:Visuino_1.png]]
 +
 
 +
Programming with Visuino is as easy as picking components from the Components Toolbar, placing them in the Visual Design Area, connecting them, and setting their properties with the Object Inspector.
 +
The Overview, allows easy navigation over big designs, and Visuino includes built-in Communication Terminal, Scope, and Gauges, and other Visual Instruments to monitor and display the data sent from Arduino.
 +
It allows creating complex industrial automation, and IoT solutions by simply dropping and connecting a few graphical blocks. Visuino will automatically generate the necessary Arduino code.
 +
 
 +
[[File:Visuino_2.png]]
 +
 
 +
Visuino contains a large set of components for:
 +
*Math functions
 +
*Comparators – Analog, Integer, Date/Time, and Color
 +
*Logic functions – OR, AND, XOR, NOT
 +
*Flip Flops – T, R-S, D, J-K
 +
*Switches – Analog, Integer, Date/Time, and Color
 +
*Generators – Clock, Pulse, Sine Wave, Triangular Wave, Rectangle, Random
 +
*Timers – periodic or single pulse
 +
*Counters – Up Down, and Directional
 +
*Motors – Stepper, DC or Servo
 +
*Displays – LCD, 7 Segment, touchscreen, matrix, Smart Pixels, and TV Out
 +
*Sensors – Temperature, Pressure, Weight, Distance, Compass, Accelerometer, Rotary Encoders
 +
*Remote controllers – Infrared, Servo, Wii or PS2 compatible
 +
*Date/Time components
 +
*Color components
 +
*PID controllers
 +
*Communication – Serial, RS 485, Wired and Wireless Wi-Fi Ethernet or GSM
 +
*and many more added daily...
 +
 
 +
Once the Arduino is programmed, Visuino offers easy way to connect to it over Serial and monitor multiple channels of data in a Terminal, Scope or Visual Instruments:
 +
 
 +
[[File:Visuino_3.png]]
 +
 
 +
With the addition of the BPI:UNO32 support, Visuino brings all this this easy to use functionality to the BPI:UNO32 users. Furthermore the Visuino libraries add ESP32 functionality not otherwise available out of he box, including support for PWM Analog Output, Servo control, Play Tone and more.
 +
 
 +
===How to use BPI-UNO32 with Visuino===
 +
 
 +
[[Getting Started BPI-UNO32 with Visuino]]
 +
 
 +
*discuss on forum : http://forum.banana-pi.org/t/banana-pi-bpi-uno32-with-visuino/5959
 +
 
 +
==Arduino ==
 +
 
 +
{| class = "wikitable"
 +
|-
 +
| style="background: PaleTurquoise; color: black" colspan="4"|'''Arduino IDE Programing Function Define'''
 +
|-
 +
!Function !! IO
 +
|-
 +
|RGB_LED || IO4
 +
|-
 +
|RGB_LED_POWER || IO2
 +
|-
 +
|BUZZER || IO25
 +
|-
 +
|BOTTON_A || IO35
 +
|-
 +
|BOTTON_B || IO27
 +
|-
 +
|LIGHT_SENSOR1(upper left) || IO36
 +
|-
 +
|LIGHT_SENSOR2(upper right) || IO39
 +
|-
 +
|TEMPERTURE_SENSOR || IO34
 +
|-
 +
|MPU9250_AD0 || IO0
 +
|-
 +
| style="background: PaleTurquoise; color: black" colspan="4"|'''Communication Protocol'''
 +
|-
 +
!SPI
 +
|-
 +
|MISO || IO19
 +
|-
 +
|MOSI || IO23
 +
|-
 +
|SCK || IO23
 +
|-
 +
|SS || IO5
 +
|-
 +
!I2C
 +
|-
 +
|SCL || IO22
 +
|-
 +
|SDA ||IO21
 +
|}
 +
 
 +
===Arduino IDE===
 +
 
 +
*Arduino IDE Compiled
 +
 
 +
[[File:ArduinoIDE-5.png|600px]]
  
 +
*[[How to use with Arduino IDE]]
  
 +
===Platform IO===
  
 +
*Platform IO Compiled
  
= BPI-bit software =
+
[[File:ArduinoIDE-6.png|600px]]
  
==BPI:bit for webduino ==
+
*[[How to use with Platform IO]]
  
=== BPI: bit Webduino Firmware Burning===
+
==microPyhton==
  
 +
*[[How to use microPyhton]]
  
===Webduino source code on github===
+
*BPI:bit Micropython test code: https://github.com/BigQubot/BPI-BIT-MpyExample
  
BPI:bit for webduino source code on github: https://github.com/webduinoio
+
=Resources=
  
==BPI:bit for arduino ==
+
==Source code==
 +
*BPI:UNO32 for arduino Source code on Github: https://github.com/yelvlab/BPI-uno32
  
BPI:bit for arduino Source code on Github: https://github.com/yelvlab/BPI-BIT
+
==Documents==
 +
*BPI:UNO schematic diagram :https://github.com/yelvlab/BPI-UNO32/blob/master/doc/BPI-UNO32-V1_1.pdf
 +
*ESP32 datasheet: https://github.com/yelvlab/BPI-BIT/blob/master/doc/ESP32-datesheet_english.pdf
 +
*More others : https://github.com/yelvlab/BPI-UNO32/tree/master/doc
 +
*ESP32 Arduino Tutorial Overview : https://www.dfrobot.com/blog-964.html
 +
*Espressif ESP32 Resources :https://www.espressif.com/products/hardware/esp32/resources
 +
*Espressif ESP-IDF Programming Guide : https://esp-idf.readthedocs.io/en/latest/
 +
*Easy to buy sample:https://pt.aliexpress.com/store/product/Banana-PI-BPI-UNO32-Board-easy-to-use-instructions/302756_32860405059.html?spm=a2g03.12010612.8148356.5.230d599eT2VuRq

Latest revision as of 02:50, 6 March 2023


Introduction

Overview:BPI-UNO32 with ESP32
BPI-Leaf-S3 with ESP32-S3
BPI-Bit with ESP32 design
BPI-Leaf-S3 with ESP32-S3
BPI-Centi-S3 with ESP32-S3 front
BPI-AI Kendryte K210 RISC-V

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 ,arduino,microPython,Scratch.x function.

A BPI-UNO32.jpg

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

Interface.png

BPI:UNO32 Spec

Hardware spec
CPU Xtensa® 32-bitLX6single / dual core processor
ROM 448KB
SRAM 520KB
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
LEDs RGB LED/POWER LED/Receive LED/Transmit LED
Sizes 68mm\*53mm

BPI:UNO32 PIN define

PIN define.jpg

BPI-UNO32 software

Visuino

About Visuino

Visuino is a visual, graphical development environment for Arduino and similar boards, including almost all standard Arduino boards, Teensy, Femto IO, LinkIt ONE, FreeSoC2, RoMeo BLE, Bluno Beetle, Goldilocks Analogue, ESP8266, ESP32, PIC32, nRF52832, Maple Mini, and many Arduino based Industrial PLC Controllers such as Controllino, Bedac, and Digital Loggers PLDuino, and Industrial Shields.

Visuino 1.png

Programming with Visuino is as easy as picking components from the Components Toolbar, placing them in the Visual Design Area, connecting them, and setting their properties with the Object Inspector. The Overview, allows easy navigation over big designs, and Visuino includes built-in Communication Terminal, Scope, and Gauges, and other Visual Instruments to monitor and display the data sent from Arduino. It allows creating complex industrial automation, and IoT solutions by simply dropping and connecting a few graphical blocks. Visuino will automatically generate the necessary Arduino code.

Visuino 2.png

Visuino contains a large set of components for:

  • Math functions
  • Comparators – Analog, Integer, Date/Time, and Color
  • Logic functions – OR, AND, XOR, NOT
  • Flip Flops – T, R-S, D, J-K
  • Switches – Analog, Integer, Date/Time, and Color
  • Generators – Clock, Pulse, Sine Wave, Triangular Wave, Rectangle, Random
  • Timers – periodic or single pulse
  • Counters – Up Down, and Directional
  • Motors – Stepper, DC or Servo
  • Displays – LCD, 7 Segment, touchscreen, matrix, Smart Pixels, and TV Out
  • Sensors – Temperature, Pressure, Weight, Distance, Compass, Accelerometer, Rotary Encoders
  • Remote controllers – Infrared, Servo, Wii or PS2 compatible
  • Date/Time components
  • Color components
  • PID controllers
  • Communication – Serial, RS 485, Wired and Wireless Wi-Fi Ethernet or GSM
  • and many more added daily...

Once the Arduino is programmed, Visuino offers easy way to connect to it over Serial and monitor multiple channels of data in a Terminal, Scope or Visual Instruments:

Visuino 3.png

With the addition of the BPI:UNO32 support, Visuino brings all this this easy to use functionality to the BPI:UNO32 users. Furthermore the Visuino libraries add ESP32 functionality not otherwise available out of he box, including support for PWM Analog Output, Servo control, Play Tone and more.

How to use BPI-UNO32 with Visuino

Getting Started BPI-UNO32 with Visuino

Arduino

Arduino IDE Programing Function Define
Function IO
RGB_LED IO4
RGB_LED_POWER IO2
BUZZER IO25
BOTTON_A IO35
BOTTON_B IO27
LIGHT_SENSOR1(upper left) IO36
LIGHT_SENSOR2(upper right) IO39
TEMPERTURE_SENSOR IO34
MPU9250_AD0 IO0
Communication Protocol
SPI
MISO IO19
MOSI IO23
SCK IO23
SS IO5
I2C
SCL IO22
SDA IO21

Arduino IDE

  • Arduino IDE Compiled

ArduinoIDE-5.png

Platform IO

  • Platform IO Compiled

ArduinoIDE-6.png

microPyhton

Resources

Source code

Documents