Difference between revisions of "BPI-Bit"

From Banana Pi Wiki
Jump to: navigation, search
(BPI:bit VS Micro:bit)
 
(324 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 +
[[zh:BPI-Bit STEAM 教育开发板]]
 +
= Introduction=
 +
 +
[[File:Webduino_gif.gif|thumb|[[BPI-Bit]] with ESP32]]
 +
[[File:Bpi_bit_v2_1.jpg|thumb|[[BPI-Bit V2]] with ESP32-S2]]
 +
[[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]]
 +
[[File:ESP32_6.JPG|thumb|[[BPI-UNO32]] with ESP32 design]]
 +
[[File:Webduino_bit_1.JPG|thumb|Overview: BPI:bit]]
 +
[[File:BPi_bit_webduino_3.jpg|thumb|Overview: BPI:bit for Webduino]]
 +
[[File:BPI_bit_acrylic_shell_1_.JPG|thumb|[[BPI-bit acrylic shell compatible LEGO bricks]]]]
 +
[[File:Bpi_bit_gpio_expansion_board_2.JPG|thumb|[[BPI:bit gpio expansion board]]]]
 +
[[File:BPIbit_breadboard_GPIO_expansion_board_3.jpg|thumb|[[BPI:bit gpio expansion board]]]]
 +
[[File:BPI-bit_robort_board_3.JPG|thumb|[[BPI:bit robot expansion board]]]]
 +
[[File:Q-Car_With_Web_Bit.png|thumb|[[BPI Q-Car kit]] with BPI:Bit board]]
 +
 +
[[File:Banana_PI_BPI-EAI80_5.JPG|thumb|[[BPI-EAI80 AI board]] Gree EAI80 chip design]]
 +
 +
[[File:BPI-K210_1.JPG|thumb|[[BPI-K210 RISC-V AIoT board]]]]
 +
 +
 +
The '''BPI bit''' (also referred to as '''BPI-bit''', stylised as '''bpi:bit''') is an ESP32 with 32-bit Xtensa LX6 dual-core processor based embedded system. It supports Webduino, Arduino, MicroPython as well as Scratch X programming environments.
 +
 +
[[File:BPI-STEAM_750.jpg]]
 +
 +
BPI:bit hardware main function:
 +
 +
[[File:Webduino_web_en_1.png]]
 +
 +
bpi:bit board is 5 cm x 5 cm in size, weighs 10 ~ 12 grams, it houses a 20-Pin edge connector, built-in lighting matrix with 25 programmable full-color LEDs , two photosensitive light sensors, two programmable buttons, an NTC resistor, a buzzer and a nine shaft sensor (triaxial acceleration Three-axis gyroscope and three-axis magnetic compass),
  
= Introduction=
+
the I/O space configuration is as follows:
 +
*Full color LED matrix: GPIO4
 +
*Photosensitive sensor: GPIO36 (Analog A0, upper left), GPIO39 (Analog A3, upper right)
 +
*Button switch : GPIO35 (Botton A), GPIO27 (Botton B)
 +
*Temperature sensor: GPIO34 (Analog A6)
 +
*Buzzer: GPIO25
 +
*MPU-9250 9-axis sensor: GPIO0, GPIO21(SDA), GPIO22(SCL)
  
[[File:Webduino_gif.gif|thumb|Overview: ESP32]]
+
{| class="wikitable"
[[File:Webduino_bit_1.JPG|thumb|Overview: ESP32]]
+
|-
The '''BPI:bit''' (also referred to as '''BPI-bit''', stylised as '''webduino:bit''') is an ESP32 with Xtensa 32bit LX6 single/dual-core processor based embedded system. support Webduino and arduino function.
+
| style="background: PaleTurquoise; color: black" colspan="4"| '''GPIO control of BPI:bit'''
 +
|-
 +
|Light Sensor(L) || GPIO 36|| Analog Input
 +
|-
 +
|Light Sensor(R)|| GPIO 39|| Analog Input
 +
|-
 +
|Botton A|| GPIO 35 ||Digital Input
 +
|-
 +
|Botton B|| GPIO 27|| Digital Input
 +
|-
 +
|Temperature Sensor|| GPIO 34 ||Analog Input
 +
|-
 +
|Buzzer|| GPIO 25 ||PWM(Digital Output) / Analog Output
 +
|-
 +
|RGB_LED|| GPIO 4 ||Digital Output
 +
|-
 +
|MPU9250_SCL|| GPIO 22 ||Digital Output
 +
|-
 +
|MPU9250_SDA|| GPIO 21|| Digital Output
 +
|-
 +
|MPU9250_INT|| GPIO 16 ||Digital Input
 +
|-
 +
|R_LED(SPI_SCK)|| GPIO 18 ||Digital Output
 +
|-
 +
|}
  
= BPI:bit hardware =
+
= Hardware=
  
==BPI:bit hardware description ==
+
==Hardware description ==
  
The board is 5 cm × 5 cm and has an ESP32 module with  Xtensa 32bit LX6 single/dual-core processor, with a capacity of up to 600DMIPS, with a built-in 448KB ROM and 520 KB SRAM.accelerometer and magnetometer sensors,2.4G WiFI,Bluetooth and USB connectivity, a display consisting of 25 [[Light-emitting diode|LEDs]], two programmable buttons, and can be powered by either USB or an external battery pack.The device inputs and outputs are through five ring connectors that are part of the 23-pin edge connector.
+
Webduino Bit is the latest board of Webduino with much more sensors on top of its basic functions(Wi-Fi connection, muti-connectivity,multi-board...). It uses ESP32 module,one of the most efficient and stable chipset in the market, which has built-in 2.4G Wi-Fi and Bluetooth,448KB ROM,520KB SRAM,speed up to 600 DMIPS,and 40 nm technology.
  
BPI:bit provides a wide range of onboard resources, supports photosensitive sensor, digital triaxial sensor, digital compass, temperature sensor interface.Webduino:bit have 25 intelligent control LED light source that the control circuit and RGB chip are integrated in a package of 5050 components.Cascading port transmission signal by single line.Each pixel of the three primary color can achieve 256 brightness display, completed 16777216 color full color display, and scan frequency not less than 400Hz/s.
+
Webduion bit board has a compact size of 50mm x 50mm, weighs 10-12 grams.It has 20 pins at the bottom,25 full color LED array in the middle, two photo cells,two buttons, one thermistor,one buzzer,one 9-axis sensor(3-axis accelerometer,3-axis gyroscope and 3-axis magnetometer)
  
BPI:bit use MPU9250 onboard, MPU-9250 is a multi-chip module (MCM) consisting of two dies integrated into a single QFN package. One die houses the 3-Axis gyroscope and the 3-Axis accelerometer. The other die houses the AK8963 3-Axis magnetometer from Asahi Kasei Microdevices Corporation. Hence, the MPU-9250 is a 9-axis MotionTracking device that combines a 3-axis gyroscope, 3-axis accelerometer, 3-axis magnetometer and a Digital Motion Processor™ (DMP) all in a small 3x3x1mm package available as a pin-compatible upgrade from the MPU-6515. With its dedicated I2C sensor bus, the MPU-9250directly provides complete 9-axis MotionFusion™ output. The MPU-9250 MotionTracking device, with its 9-axis integration, on-chip MotionFusion™, and runtime calibration firmware, enables manufacturers to eliminate the costly and complex selection, qualification, and system level integration of discrete devices, guaranteeing optimal motion performance for consumers. MPU-9250 is also designed to interface with multiple non-inertial digital sensors, such as pressure sensors, on its auxiliary I²C port.
+
[[File:A_BPI-Bit.jpg]]
  
==BPI:bit interface==
+
==Hardware interface==
  
[[File:BPI bit interfact.JPG]]
+
[[File:BPI_bit_interfact.JPG]]
  
==BPI:bit edge interface==
+
==PIN definitions==
  
[[File:BPI bit edge pin define.png]]
+
The edge interface is much compatible with those of micro:bit. so you may able to use micro:bit accessories on bpi:bit
  
==BPI:bit PIN define==
+
[[File:Bpi_bit_gpio_detail-05.jpg]]
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 84: Line 145:
 
|}
 
|}
  
== 5*5 LED list==
+
== 5*5 25 LED==
 +
BPI:bit have 25 LEDs on board, it can be controlled with a single GPIO.
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 101: Line 163:
 
|}
 
|}
  
== MPU9250==
+
== MPU9250 9-axis sensor==
A powerful 9 axis sensor, MPU9250, is placed on the BPI:bit board.
+
The 9-axis sensor, MPU9250, is placed on the BPI:bit board. and MPU9250 uses I2C 0x69 address.
 +
 
 +
The 9-axis is the combination of 3 separate triple axis sensors. For more detailed information of this chip, click here [https://github.com/yelvlab/BPI-BIT/blob/master/doc/MPU-9250A-01-v1.1.pdf MPU 9250 datasheet] to view the datasheet.\
 +
 
 +
BPI-BIT MPU9250 Library and how to : https://github.com/BPI-STEAM/MPU9250
  
The 9 axis here is different from the 9 axis of space understanding, and is actually the combination of 3 separate 3 axis sensors (accelerometers - Accelerator, gyroscope - Gyroscope, magnetometer - Magnetometer). For the detailed introduction of this chip, you can visit GitHub to see the document: https://github.com/yelvlab/BPI-BIT/tree/master/doc
+
==BPI:bit power==
  
==BPI:bit VS Micro:bit==
+
When you use BPI:bit, you need to supply the board first, and the bit supports three power supply modes
 +
 
 +
*1.micro USB port:USB cable power supply, the design of BPI:bit board has Micro USB interface, which is quite common in daily life and is quite convenient to use.
 +
*2.Battery port:Through 2 pin battery power supply socket, can through the lithium battery, battery pack to power supply board, interface fool proof design, don't worry about the power supply through the 2 pin battery power supply socket, can through the lithium battery, battery pack to power supply board, interface fool proof design, don't have to worry about power supply meet the problem.
 +
*3.Goldfinger :Power is supplied through the gold finger, and the gold finger at the bottom of the board contains the power interface. Meanwhile, it has both input and output functions and has high compatibility.
 +
 
 +
==BPI:bit VS micro:bit==
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
| style="background: PaleTurquoise; color: black" colspan="4"| ''' BPI:bit VS Micro:bit'''
+
| style="background: PaleTurquoise; color: black" colspan="8"| ''' bpi:bit VS micro:bit'''
 
|-
 
|-
|Module||BPI:bit||Micro:bit
+
|Module||bpi:bit||micro:bit
 
|-
 
|-
|CPU||Xtensa 32bit LX6 single/dual-core||32bit Arm cortex M0
+
|CPU||Dual-core 32bit Xtensa LX6, up to 240MHz||NXP KL26Z 32bit ARM Cortex M0, up to 16MHz
 
|-
 
|-
|RAM||520KB||
+
|RAM||520 KB||16 KB
 
|-
 
|-
|ROM||448KB||
+
|ROM||448 KB||Unkown
 
|-
 
|-
|WIFI||802.11 b/g/n/e/i||| N/A
+
|Flash||4096 KB||256 KB
 
|-
 
|-
|Bluetooth||BT4.2 BR/EDR and BLE|| BLE
+
|Bluetooth||BT4.2 BR/EDR and BLE|| BLE only
 
|-
 
|-
|5*5 LEDS||25 intelligent control LED light ,Cascading port transmission signal by single line. completed 16777216 color full color display||25 single color LED stands for Light Emitting Diode. The micro:bit has 25 individually-programmable LEDs
+
|WIFI||802.11 b/g/n/e/i||| N/A
 
|-
 
|-
|Button||2 programmable buttons||2 programmable buttons
+
|Buzzer||1x Buzzer||N/A
 
|-
 
|-
|micro USB||1x micro USB(Uart)||1 x micro USB
+
|5*5 LEDS||25 intelligent-control full-color (16777216 color) LEDs, Cascading all LEDs by a single line.||25 red LEDs
 
|-
 
|-
|Software||[http://www.webduino.com.cn Webduino],Arduino|| Micro:bit function
+
|photosensitive sensor|| 2 light sensors||Basic light detection function on LEDs
 
|-
 
|-
|Size||5*5 cm||5*4 cm
+
|temperature sensor|| Stand along temperature sensor|| On CPU chip temperature sensor
 
|-
 
|-
|}
+
|Motion sensor|| MPU-9250 9-axis Motion Tracking : 3-axis accelerometer, 3-axis magnetometer, 3-axis gyroscope ||3-axis Accelerometer; 3-axis magnetometer; no gyroscope, no motion processor
 
 
= BPI-bit software =
 
 
 
==BPI:bit for webduino ==
 
 
 
=== BPI: bit Webduino Firmware Burning===
 
 
 
BPI:bit can be perfectly adapted to Webduino. Of course, before using it, we need to burn the Webduino firmware first.
 
 
 
Firmware download address:[https://github.com/yelvlab/BPI-BIT/tree/master/Webduino_bin Webduino for bpi:bit Firmware]
 
 
 
Burning method:
 
 
 
There are two kinds of burning methods to choose from, we can use ESP Flash Download Tool to burn, we can also use the built-in Python script inside the PlatformIO to achieve burn.
 
 
 
'''
 
One, ESP Flash Download Tool
 
'''
 
Tool download address:[https://github.com/yelvlab/BPI-BIT/tree/master/programming/ESP_Flash_Download_Tool ESP Flash Download Tool]
 
 
 
After downloading, unzip the archive and you will see an ESPFlashDownloadTool_v3.6.2.exe inside the folder. Open this shortcut and open an interface selection mode.
 
 
 
[[File:Webduino_burn_1.png]]
 
 
 
Select ESP32 DownloadTool:
 
 
 
[[File:Webduino_burn_2.jpg]]
 
 
 
Under `Download Path Config`, we need to select the four bin files that need to be burned and fill in the corresponding burn locations.
 
 
 
- File and burn position corresponding to:
 
 
 
{| class="wikitable"
 
 
|-
 
|-
| style="background: PaleTurquoise; color: black" colspan="4"| '''File and burn position corresponding'''
+
|IO interface || edge interface (compatible with most micro:bit I/O features)|| edge interface
 
|-
 
|-
|set  || file name      ||Position
+
|Button||2 programmable buttons||2 programmable buttons
 
|-
 
|-
|1    || bootloader_dio_40m.bin      ||0x1000 
+
|micro USB||1x micro USB(UART)||1 x micro USB(Mass Storage Device)
 
|-
 
|-
|2    || partitions.bin            ||0x8000
+
|Software||[http://www.webduino.com.cn Webduino], Arduino, MicroPython, Scratch X|| Microsoft MakeCode, MicroPython, Scratch X
 
|-
 
|-
|3    || boot_app0.bin            ||0xe000 
+
|Size||5*5 cm||5*4 cm
 
|-
 
|-
|4  || bit_default.bin        ||0x10000 
 
|-
 
 
|}
 
|}
  
- SpiFlashConfig:
+
=BPI:bit Software development=
 +
BPI:bit Software development schedule and support applications:
  
{| class="wikitable"
+
[[File:BPI_bit_map_wiki.png]]
|-
 
| style="background: PaleTurquoise; color: black" colspan="4"| '''SpiFlashConfig'''
 
|-
 
|1    || SPI SPEED      ||40NHz 
 
|-
 
|2    || SPI MODE          ||DIO
 
|-
 
|3    || FLASH SIZE            ||32Mbit
 
|-
 
|4  || COM        ||COMx(Fill in the port number assigned by the computer)
 
|-
 
|5  || BAUD      ||1152000
 
|-
 
|}
 
  
Normally, you do not need to burn two boot boot files. You can directly burn the firmware (bit_default.bin) and partitions (partitions.bin). If the bootloader is damaged, you can choose to burn along with bootloader_dio_40m.bin and boot_app0.bin. But be sure to pay attention to the settings below
+
== BPI:bit for Webduino  ==
  
`SpiFlashConfig` Please configure according to the software screenshot, and then select the port in the COM. Porter 115200 does not need to be changed. Select “START” to start recording.
+
[[BPI:bit for Webduino]]
  
During the burning process:
+
==BPI:bit for Arduino ==
  
[[File:Webduino_burn_3.jpg]]
+
[[BPI:bit for Arduino]]
  
Finished:
+
==BPI:bit for MicroPyhton ==
  
[[File:Webduino_burn_4.jpg]]
+
[[BPI:bit for MicroPython]]
  
After the burn is completed, you must reset or re-energize, and then you find the LED red light flashing, indicating that the burn is successful.
+
==BPI:bit for Scratch==
  
Burn time is about 20s
+
[[BPI:bit for Scratch]]
  
then you can use webduino all function on BPI:bit. Please see the webduino teaching documents
+
==BPI STEAM education website==
  
'''Second: PlatformIO comes with a script'''
+
https://bpi-steam.com/
  
This method needs to install PlatformIO in advance. Of course, if you are not using PlatformIO for development, you are advised to use the first method. This method is to disassemble the PlatformIO burning procedure.
+
=Resources=
 
+
*[https://github.com/BPI-STEAM/BPI-BIT/blob/master/doc/BPI-bit_user_manual.pdf BPI:bit user manual]
First of all, you need to find the installation location of PlatformIO on your computer. For example, my installation location is as follows
+
*[https://github.com/BPI-STEAM/BPI-BIT/blob/master/doc/BPI-WEBDUINO-BIT-V1_4.pdf BPI:bit V1.4 schematic diagram]
 
+
*[https://github.com/BPI-STEAM/BPI-BIT/blob/master/doc/BPI-WEBDUINO-BIT-V1_2.pdf BPI:bit V1.2 schematic diagram]
[[File:Platformio.png]]
+
*[http://forum.banana-pi.org/uploads/default/original/2X/0/0b86ccaeb565cdeef093164fd1ff837727ca2887.rar BPI:bit dxf file]
 
+
*[https://drive.google.com/file/d/1JoQqcHd12TBzTResew5SkeNFxlJ3BGL8/view?usp=sharing BPI:bit 3D design file]
Of course, your installation location is not necessarily the same as mine, you need to find it yourself.
+
*Bananna Pi BPI:bit hardware introduce:https://www.youtube.com/watch?v=QVnlGKTittw
 
+
*BPI:bit Webduino Easy How-To's Episode 1: Initial Setup : https://www.youtube.com/watch?v=23_a27N3_7k
Then, we can find a script file .platformio\packages\tool-esptoolpy\esptool.py according to the following path. This file is the script we need to burn. Then, we open the terminal of PlatformIO, or open the computer. Command line tool, enter the following code
+
*How to Program Esp32 with Arduino IDE with C++ : https://technicalustad.com/program-esp32-with-arduino-ide-with-c/
 
+
*Banana Pi BPI:bit CE FCC RoHS Certification :http://forum.banana-pi.org/t/banana-pi-bpi-bit-ce-fcc-rohs-certification/7363
Python ~\.platformio\packages\tool-esptoolpy\esptool.py --port COM19 --baud 115200 write_flash -fm dio -fs 4MB 0x010000 ~\BIT\bit_default.bin
+
*BPI:bit platformio official support :https://docs.platformio.org/en/latest/boards/espressif32/bpi-bit.html
 
+
*BPI:bit for webduino wuyu online documents(TaiWan): https://sites.google.com/site/wenyuwebbit/
The ~ in the above code needs to be replaced with your actual path, and then fill in the corresponding burning position in order, select the corresponding file path, and then execute this code. This method may be very specific for certain situations. Help, usually used at the time, it is recommended to use the first method of burning.
+
*BPI:bit for webduino chenlung document(TaiWan):https://sites.google.com/a/tssh.ntpc.edu.tw/chenlung/webduino-bit
  
Normally, you do not need to burn two boot boot files. You can directly burn the firmware (bit_default.bin) and partitions (partitions.bin). If the bootloader is damaged, you can choose to burn along with bootloader_dio_40m.bin and boot_app0.bin. But be sure to pay attention to the settings below
+
==Forum==
  
==BPI:bit for arduino ==
+
free discuss forum : http://forum.banana-pi.org/c/bpi-bit
  
===Arduino ===
+
Books:
 +
*Plataforma STEAM Webduino. WEB:Bit manual para el aula.: Herramienta para el estudio de las Ciencias de la Computación en la Educación Primaria y Secundaria (Spanish Edition) Kindle Edition
 +
::https://www.amazon.com/gp/product/B0B4HNYBJ5/ref
  
*[http://wiki.banana-pi.org/BPI-UNO32#Ardino_IDE How to use with Arduino IDE ]
+
==Github==
*[http://wiki.banana-pi.org/BPI-UNO32#uPyCraft.EF.BC.88microPyhton.29 uPyCraft(microPyhton) ]
 
  
===How to test 9 axis sensor-MPU9250===
+
*[https://github.com/webduinoio Webduino github]
  
*code update to github : https://github.com/yelvlab/BPI-BIT/tree/master/Code/MPU9250
+
*[https://github.com/BPI-STEAM bpi:bit open soruce github]
  
The following is the result of the return of the serial port
+
*[https://doc.bpi-steam.com/en/latest/ BPI:bit for STEAM education online documents. Arduino,microPython,Webduino]
  
[[File:Mpu9250.jpg]]
+
*[https://github.com/espressif/arduino-esp32  ESP32 for arduino github]
  
=Resources=
+
*[https://github.com/alankrantas/micropython-BPIBIT alankrantas BPI:bit github]
  
==Source code ==
+
==test routine==
  
*BPI:bit for webduino source code on github: https://github.com/webduinoio
+
*[[MPU9250 sample code]]
  
*BPI:bit for arduino Source code on Github: https://github.com/yelvlab/BPI-BIT
+
==Useful links==
  
==documents==
+
*[https://github.com/BPI-STEAM/BPI-BIT/blob/master/doc/ESP32-datesheet_english.pdf ESP32 规格书] ESP32 datasheet]
*BPI:bit schematic diagram : https://github.com/yelvlab/BPI-BIT/blob/master/doc/BPI-WEBDUINO-BIT-V1_2-20180417.pdf
+
*[https://www.dfrobot.com/blog-964.html ESP32 Arduino Tutorial Overview]
*BPI:bit user manual : https://github.com/yelvlab/BPI-BIT/blob/master/doc/BPI-bit_user_manual.pdf
+
*[https://technicalustad.com/program-esp32-with-arduino-ide-with-c/?tdsourcetag=s_pcqq_aiomsg How to program ESP32 with arduino IDE with C++ ]
*ESP32 datasheet: https://github.com/yelvlab/BPI-BIT/blob/master/doc/ESP32-datesheet_english.pdf
+
*[https://www.espressif.com/products/hardware/esp32/resources Espressif ESP32 Resources]
*MPU9250 datasheet:http://www.invensense.com/wp-content/uploads/2015/02/PS-MPU-9250A-01-v1.1.pdf
+
*[https://esp-idf.readthedocs.io/en/latest/ Espressif ESP-IDF Programming Guide]
*More others : https://github.com/yelvlab/BPI-BIT/tree/master/doc
+
*[http://www.invensense.com/wp-content/uploads/2015/02/PS-MPU-9250A-01-v1.1.pdf MPU9250 datasheet]
*Taiwan server : http://webuino.io
+
*[https://github.com/BPI-STEAM/BPI-BIT/tree/master/doc More others]
*Overworld server: http://webduino.io
+
*[http://webduino.io Webduino official website]
*china mainland : http://www.webduino.com.cn
+
*[http://www.webduino.com.cn/site/en/ Webduino website in China]
 +
*[https://pt.aliexpress.com/store/product/O-BPI-bit-Webduino-e-placa-arduino-com-educa-o-EPS32-para-VAPOR/302756_32861694375.html?spm=a2g03.12010611.0.0.203230d9sYXj5K Easy to buy bpi:bit sample form aliexpress ]
 +
*[https://www.facebook.com/groups/1618158071553661 Facebook group ]

Latest revision as of 01:48, 6 March 2023

Introduction

BPI-Bit with ESP32
BPI-Bit V2 with ESP32-S2
BPI-Leaf-S3 with ESP32-S3
BPI-Centi-S3 with ESP32-S3 front
BPI-AI Kendryte K210 RISC-V
BPI-UNO32 with ESP32 design
Overview: BPI:bit
Overview: BPI:bit for Webduino
BPI Q-Car kit with BPI:Bit board
BPI-EAI80 AI board Gree EAI80 chip design


The BPI bit (also referred to as BPI-bit, stylised as bpi:bit) is an ESP32 with 32-bit Xtensa LX6 dual-core processor based embedded system. It supports Webduino, Arduino, MicroPython as well as Scratch X programming environments.

BPI-STEAM 750.jpg

BPI:bit hardware main function:

Webduino web en 1.png

bpi:bit board is 5 cm x 5 cm in size, weighs 10 ~ 12 grams, it houses a 20-Pin edge connector, built-in lighting matrix with 25 programmable full-color LEDs , two photosensitive light sensors, two programmable buttons, an NTC resistor, a buzzer and a nine shaft sensor (triaxial acceleration Three-axis gyroscope and three-axis magnetic compass),

the I/O space configuration is as follows:

  • Full color LED matrix: GPIO4
  • Photosensitive sensor: GPIO36 (Analog A0, upper left), GPIO39 (Analog A3, upper right)
  • Button switch : GPIO35 (Botton A), GPIO27 (Botton B)
  • Temperature sensor: GPIO34 (Analog A6)
  • Buzzer: GPIO25
  • MPU-9250 9-axis sensor: GPIO0, GPIO21(SDA), GPIO22(SCL)
GPIO control of BPI:bit
Light Sensor(L) GPIO 36 Analog Input
Light Sensor(R) GPIO 39 Analog Input
Botton A GPIO 35 Digital Input
Botton B GPIO 27 Digital Input
Temperature Sensor GPIO 34 Analog Input
Buzzer GPIO 25 PWM(Digital Output) / Analog Output
RGB_LED GPIO 4 Digital Output
MPU9250_SCL GPIO 22 Digital Output
MPU9250_SDA GPIO 21 Digital Output
MPU9250_INT GPIO 16 Digital Input
R_LED(SPI_SCK) GPIO 18 Digital Output

Hardware

Hardware description

Webduino Bit is the latest board of Webduino with much more sensors on top of its basic functions(Wi-Fi connection, muti-connectivity,multi-board...). It uses ESP32 module,one of the most efficient and stable chipset in the market, which has built-in 2.4G Wi-Fi and Bluetooth,448KB ROM,520KB SRAM,speed up to 600 DMIPS,and 40 nm technology.

Webduion bit board has a compact size of 50mm x 50mm, weighs 10-12 grams.It has 20 pins at the bottom,25 full color LED array in the middle, two photo cells,two buttons, one thermistor,one buzzer,one 9-axis sensor(3-axis accelerometer,3-axis gyroscope and 3-axis magnetometer)

A BPI-Bit.jpg

Hardware interface

BPI bit interfact.JPG

PIN definitions

The edge interface is much compatible with those of micro:bit. so you may able to use micro:bit accessories on bpi:bit

Bpi bit gpio detail-05.jpg

HardWare PIN define of BPI:bit
Pin Name Analog Function1 Analog Function2 Function1 Function2 Power
P3 ADC2_CH4 GPIO13
P0 ADC2_CH8 DAC_1 GPIO25
P4 ADC2_CH3 GPIO16
P5 ADC1_CH7 GPIO35
P6 ADC2_CH5 GPIO12
P7 ADC2_CH6 GPIO14
P1 ADC1_CH4 GPIO32
P8 GPIO16
P9 GPIO17
P10 ADC2_CH9 DAC_2 GPIO26
P11 ADC2_CH7 GPIO27
P12 ADC2_CH2 GPIO02
P2 ADC1_CH5 GPIO33
P13 GPIO18 SPI_SS
P14 GPIO19 SPI_SCK
P15 GPIO23 SPI_MISO
P16 GPIO05 SPI_MOSI
3V3 POWER:3V3
3V3 POWER:3V3
3V3 POWER:3V3
P19 GPIO22 I2C_SCL
P20 GPIO21 I2C_SDA
GND GROUND
GND GROUND
GND GROUND

5*5 25 LED

BPI:bit have 25 LEDs on board, it can be controlled with a single GPIO.

25 5*5 LED list of BPI:bit
20 15 10 5 0
21 16 11 6 1
22 17 12 7 2
23 18 13 8 3
24 19 14 9 4

MPU9250 9-axis sensor

The 9-axis sensor, MPU9250, is placed on the BPI:bit board. and MPU9250 uses I2C 0x69 address.

The 9-axis is the combination of 3 separate triple axis sensors. For more detailed information of this chip, click here MPU 9250 datasheet to view the datasheet.\

BPI-BIT MPU9250 Library and how to : https://github.com/BPI-STEAM/MPU9250

BPI:bit power

When you use BPI:bit, you need to supply the board first, and the bit supports three power supply modes

  • 1.micro USB port:USB cable power supply, the design of BPI:bit board has Micro USB interface, which is quite common in daily life and is quite convenient to use.
  • 2.Battery port:Through 2 pin battery power supply socket, can through the lithium battery, battery pack to power supply board, interface fool proof design, don't worry about the power supply through the 2 pin battery power supply socket, can through the lithium battery, battery pack to power supply board, interface fool proof design, don't have to worry about power supply meet the problem.
  • 3.Goldfinger :Power is supplied through the gold finger, and the gold finger at the bottom of the board contains the power interface. Meanwhile, it has both input and output functions and has high compatibility.

BPI:bit VS micro:bit

bpi:bit VS micro:bit
Module bpi:bit micro:bit
CPU Dual-core 32bit Xtensa LX6, up to 240MHz NXP KL26Z 32bit ARM Cortex M0, up to 16MHz
RAM 520 KB 16 KB
ROM 448 KB Unkown
Flash 4096 KB 256 KB
Bluetooth BT4.2 BR/EDR and BLE BLE only
WIFI 802.11 b/g/n/e/i N/A
Buzzer 1x Buzzer N/A
5*5 LEDS 25 intelligent-control full-color (16777216 color) LEDs, Cascading all LEDs by a single line. 25 red LEDs
photosensitive sensor 2 light sensors Basic light detection function on LEDs
temperature sensor Stand along temperature sensor On CPU chip temperature sensor
Motion sensor MPU-9250 9-axis Motion Tracking : 3-axis accelerometer, 3-axis magnetometer, 3-axis gyroscope 3-axis Accelerometer; 3-axis magnetometer; no gyroscope, no motion processor
IO interface edge interface (compatible with most micro:bit I/O features) edge interface
Button 2 programmable buttons 2 programmable buttons
micro USB 1x micro USB(UART) 1 x micro USB(Mass Storage Device)
Software Webduino, Arduino, MicroPython, Scratch X Microsoft MakeCode, MicroPython, Scratch X
Size 5*5 cm 5*4 cm

BPI:bit Software development

BPI:bit Software development schedule and support applications:

BPI bit map wiki.png

BPI:bit for Webduino

BPI:bit for Webduino

BPI:bit for Arduino

BPI:bit for Arduino

BPI:bit for MicroPyhton

BPI:bit for MicroPython

BPI:bit for Scratch

BPI:bit for Scratch

BPI STEAM education website

https://bpi-steam.com/

Resources

Forum

free discuss forum : http://forum.banana-pi.org/c/bpi-bit

Books:

  • Plataforma STEAM Webduino. WEB:Bit manual para el aula.: Herramienta para el estudio de las Ciencias de la Computación en la Educación Primaria y Secundaria (Spanish Edition) Kindle Edition
https://www.amazon.com/gp/product/B0B4HNYBJ5/ref

Github

test routine

Useful links