Difference between revisions of "BPI-Bit-S2"
(→MicroPython) |
(→Software) |
||
Line 346: | Line 346: | ||
On the other hand, the more you learn about MicroPython the better you become at Python. | On the other hand, the more you learn about MicroPython the better you become at Python. | ||
+ | |||
+ | == CircuitPython == | ||
+ | |||
+ | [[File:CircuitPython_Repo_header_logo.jpg | 800px]] | ||
+ | |||
+ | CircuitPython是MicroPython的一个教育友好型的开源衍生产品,由Adafruit Industries支持与开发。 | ||
+ | |||
+ | 在易用性上,它在MicroPython的基础上更进一步。 | ||
+ | |||
+ | 使用CircuitPython固件的开发板连接PC时,PC将会立即得到一个USB存储磁盘,将python脚本文件复制进此磁盘即可让程序在此开发板上运行。 | ||
+ | |||
+ | 这就做到了让用户开箱即用,因为绝大多数现代个人操作系统和家用PC都是支持USB存储磁盘的。 | ||
+ | |||
+ | 当然为了能使用REPL,至少还是需要安装一个串口通信软件,或是支持这个功能的IDE,例如Mu编辑器。 | ||
+ | |||
+ | CircuitPython 社区提供极其丰富的外设驱动库,API文档,教程。 | ||
+ | |||
+ | Even if there is no programming foundation, no hardware foundation, you can quickly get started from scratch. | ||
+ | |||
+ | CircuitPython不支持定时器,硬件中断和多线程,仅提供编写并发代码的 asyncio 库。 | ||
== Arduino == | == Arduino == |
Revision as of 03:06, 7 December 2022
Contents
About BPI-Bit-S2
BPI-Bit-S2 development board is a successor to BPI-Bit, inheriting most of the hardware functions.
IO is compatible with micro:bit and can use most peripheral accessories of micro:bit.
Support Webduino, Arduino, MicroPython & CircuitPython programming environment suitable for STEAM education.
Key features
- ESP32-S2
- 5x5 RGB LED matrix
- 1 buzzer
- 1 thermistor sensor
- 2 photosensitive sensors
- 2 programmable keys,1 BOOT key,1 Reset key
- Type-C USB interface
- Size 5x5cm
- The Goldfinger Edge Connector definition is fully compatible with Micro: Bit
Feature comparison
micro:bit vs BPI-Bit-S2 | ||
---|---|---|
Product | micro:bit V2.2X | BPI-Bit-S2 |
MCU | Nordic nRF52833 | Espressif ESP32-S2 |
Frequency | 64MHz | 240MHz |
RAM | 128KB | 320 KB |
FlASH ROM | 512KB | 4096 KB |
PSRAM | None | 2048 KB |
Wireless Communication | Bluetooth,microbit-radio | WIFI, IEEE 802.11 b/g/n, 2.4Ghz |
LED | 25 red LEDs | 25 WS2812-3535 RGB LEDs |
Key | 2 programmable keys, 1 RST key | 2 programmable keys, 1 BOOT key, 1 RST key |
Buzzer | Yes | Yes |
Microphone | Yes | None |
USB Socket | Micro USB | Type-C USB |
USB interface chip | nRF52833-QDAA or nRF52820-QDAA | MCU chip built-in |
Battery socket | Yes | None |
IO | 19 pins golden finger IO, alligator clip bayonet, support touch sensing | 19 pins golden finger IO (compatible with micro:bit), alligator clip bayonet, support touch sensing |
Motion sensor | Yes | None |
Photosensitive sensor | None | 2 |
Thermistor sensor | 1 on-core | 1 on-board |
Hardware interface
BPI-Bit-S2 specification | |
---|---|
MCU | ESP32-S2FN4R2,Xtensa® 32 bit LX7 Single-Core Processer |
Frequency | 240MHz MAX |
operating temperature | -40℃~+85℃ |
ROM | 128 KB |
SRAM | 320 KB |
FLASH ROM | 4 MB |
PSRAM | 2 MB |
WIFI | IEEE 802.11 b/g/n ,2.4Ghz |
GPIO | 19 available GPIO pins have been introduced |
Peripheral functions | ADC,TOUCH,PWM,SPI,I2C,I2S,Pulse counter, RMT,TWAI® Controller,SD/MMC,LCD_CAMERA |
External crystal | 40Mhz |
Buzzer | 8.5x8.5mm buzzer |
LED | 25 WS2812 rgb LED, single line GPIO control; 1 monochrome LED, controlled by GPIO0 |
Photosensitive sensor | 2 photosensitive sensor |
Thermistor sensor | 1 thermistor sensor |
IO | 19 pins Goldfinger IO,19 pins contacts on the back |
Key | 2 programmable keys,1 BOOT key,1 Reset key |
USB | USB Type-C interface,full speed USB OTG,USB-ACM |
Operating voltage | 3.3V |
Power | USB Type-C input 5V,or Goldfinger IO input 3.3V power supply |
Size | 5 * 5 cm |
On-board peripherals
Peripheral GPIO allocation and signal type | ||
---|---|---|
Photosensitive sensor(L) | GPIO 12 | Analog Input |
Photosensitive sensor(R) | GPIO 13 | Analog Input |
Thermistor sensor | GPIO 14 | Analog Input |
Key A | GPIO 38 | Digital Input |
Key B | GPIO 33 | Digital Input |
Key BOOT | GPIO 0 | Digital Input |
Buzzer | GPIO 17 | PWM(Digital Output) |
RGB LEDs | GPIO 18 | Digital Output |
5*5 RGB LED
BPI-Bit-S2 have 25 WS2812 full color RGB LED, single GPIO ontrol.
The three primary color pixels of each LED can achieve 8bit 256 level brightness display,
and achieve 16777216 color full color display,
scanning frequency is not less than 400Hz/s.
5*5 LED Sequential List | ||||
---|---|---|---|---|
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 |
Goldfinger GPIO define
BPI-Bit-S2 Gold finger GPIO is defined to be compatible with Micro:Bit. GPIO expansion board accessories can be used with Micro: Bit.
SPI,I2C | ||
---|---|---|
Function | Pin Name | GPIO Num |
SPI_SCK | P13 | GPIO36 |
SPI_MISO | P14 | GPIO37 |
SPI_MOSI | P15 | GPIO35 |
SPI_CS | P16 | GPIO34 |
I2C_SCL | P19 | GPIO16 |
I2C_SDA | P20 | GPIO15 |
Power
BPI-Bit-S2 supports two power supply modes
1. Type-C USB:Use USB cable power supply, connect USB interface of computer or other 5V USB charger to power the development board.
2. Gold finger: At the bottom of the development board, the gold finger contains a power interface with both input and output functions. It uses 3.3V power supply, positive terminal is connected to 3V3, and negative terminal is connected to GND.
Software
Webduino
webduino online building block programming platform
webduino building block programming platform, Windows Installer
MicroPython
MicroPython is a lean and efficient implementation of the Python 3 programming language that includes a small subset of the Python standard library and is optimised to run on microcontrollers and in constrained environments.
Crowdfunded and open sourced in 2013 by Damien P. George.
The most obvious difference between it and the use of C programs to develop microcontrollers is that there is no need for lengthy compilation when verifying code.
Using serial communication software, enter commands through the REPL(read-eval-print-loop) to control the microcontroller, just like Python's REPL.
It is also possible to use some tools to upload a python script file to run inside the microcontroller.
Its implementation of Python3 includes the _thread library that supports multithreading and the asyncio library for writing concurrent code.
MicroPython aims to be as compatible with normal Python as possible to allow you to transfer code with ease from the desktop to a microcontroller or embedded system.
At the same time it also has some libraries specific for microcontrollers in order to take full advantage of the hardware features inside the microcontroller chip, such as timers, hardware interrupts, WiFi, etc., depending on the specific hardware.
While having the above features, it is compact enough to fit and run within just 256k of code space and 16k of RAM.
If you know Python you already know MicroPython.
On the other hand, the more you learn about MicroPython the better you become at Python.
CircuitPython
CircuitPython是MicroPython的一个教育友好型的开源衍生产品,由Adafruit Industries支持与开发。
在易用性上,它在MicroPython的基础上更进一步。
使用CircuitPython固件的开发板连接PC时,PC将会立即得到一个USB存储磁盘,将python脚本文件复制进此磁盘即可让程序在此开发板上运行。
这就做到了让用户开箱即用,因为绝大多数现代个人操作系统和家用PC都是支持USB存储磁盘的。
当然为了能使用REPL,至少还是需要安装一个串口通信软件,或是支持这个功能的IDE,例如Mu编辑器。
CircuitPython 社区提供极其丰富的外设驱动库,API文档,教程。
Even if there is no programming foundation, no hardware foundation, you can quickly get started from scratch.
CircuitPython不支持定时器,硬件中断和多线程,仅提供编写并发代码的 asyncio 库。
Arduino
Arduino 是一个开源嵌入式软硬件开发平台,用来供用户制作可交互式的嵌入式项目。
Preparing...