Micro Bit(也叫做BBC Micro Bit,或风格化为micro:bit)是基于ARM架构單板電腦,由英國廣播公司(BBC)设计,用于英国的计算机教育。

BBC micro:bit
BBC micro:bit v1版的背面。
研發商BBC Learning, BBC R&D, ARM Holdings, Nordic Semiconductor, NXP Semiconductors, Lancaster University, Microsoft, Python Software Foundation, element14, TechnologyUs, Samsung, ScienceScope, Barclays
类型单板微控制器
发布日期学校:2015年9月(延期)
公众:2015年10月(延期)
首次递交给教师于2016年2月[1]
系统芯片Nordic nRF51822 SoC
中央处理器16 MHz ARM Cortex-M0微控制器。
記憶體256 KB Flash,16 KB RAM。
连接接口Bluetooth LEMicroUSB,边缘连接器。
網站microbit.org

电路板大小为4cm×5cm,拥有1个ARM Cortex-M0处理器,內建加速度传感器和磁力传感器,通訊介面包括蓝牙USB,可透過網頁编程,直接把程式導入。显示屏由25个 (5*5) 紅色LED组成,可以顯示單色圖案或動畫。2个可编程按钮,可以用USB或者外部电池包来供电[2]。设备输入和输出為环孔连接器和边缘连接器。

硬件

 
加速度传感器三轴方向

设备大小可描述为信用卡的一半大小[3],首发的最终制造产品[4],实测为43mm×52mm,它包括有:

I/O包括环孔连接器:3个GPIO(P0、P1、P2),1个电源正极(3V),1个接地即电源负极(GND),它们接纳鳄鱼夹英语Crocodile clip或4mm香蕉插头英语Banana connector[13]边缘连接器针脚英语Pinout(也称为金手指)的标号,依次为micro:bit设备抽象层(DAL)指定的:P3、P0、P4-P7、P1、P8-P12、P2、P13-P16、3V(3个)、P19-P20、GND(3个),共19个可设置的GPIO(未引出内部使用的P17、P18)。其中5个可完全自由使用(P0-P2、P8、P16),6个共用于LED阵列显示屏(P3、P4、P6、P7、P9、P10),2个共用于按钮A、B(P5、P11),1个保留给无障碍接口输入(P12);可设置出1路SPI总线(P13-P15),1路I²C总线(P19-P20),1对UART串行收发;可设置出6个模拟输入(P0-P4、P10),3个触摸感应输入(P0-P2),3个PWM输出[15]

在连接了USB的情况下,KL26Z负责对这个PCB余下部份供电,将USB供给的5V±5%电压规整降至3.3V。KL26Z限定最大电流120mA,电源环孔或针脚输出可能只余下90mA。在使用电池连接器供电时,电池不为KL26Z供电,nRF51供电和电源环孔或针脚输出都来自电池。还可以谨慎的从电源环孔或针脚向micro:bit供电,从电池连接器、环孔或针脚择一供电时都不可超过3.6V极值[16]

v2

版本2(v2)在2020年10月13日发行,包括了[17]

在micro:bit v2中,可以长按3秒reset按钮来关闭主板[19][20][21]

软件

Micro Bit的软件是使用ARM Mbed开发工具建立的[22],并且采用了其编程接口DAPLink[23],设备在连接到计算机的时候,是作为一个USB大容量存储设备而出现的[14]兰卡斯特大学开发了micro:bit运行时系统(有时称为设备抽象层),提供了事件驱动编程和键-值存储机制[24],采用了Nordic半导体英语Nordic Semiconductor的nRF51 SDK[25]和S110 SoftDevice[26],以及Mbed的BLE API[27],并与蓝牙技术联盟协作开发了定制的BLE profile[28]。用户用C/C++语言编写的应用程序,可以通过Mbed在线编译器[22]、Mbed CLI[29]、GNU MCU Eclipse[30]或Keli µVISION[31]等开发工具,利用ARM编译器[32]或GNU ARM工具链[33]来进行编译,编译后的目标代码接着通过USB连接或手机app蓝牙连接而被刷写到设备中。

在micro:bit基金会网站[34]上有侧重于教育的2个官方在线代码编辑器

针对micro:bit的其他开发工具有:

  • Espruino[43],是面向网络应用开发的JavaScript解释器固件[44],解释器有运行状态持久保存和复位机制,支持内联汇编语言,由于将micro:bit的内存大量用于了蓝牙功能,不提供ES6特征和高级库函数。可以通过USB串行连接,或通过在支持了Web Bluetooth[45]的浏览器中运行Web IDE[46]对它进行交互访问,IDE也有可选的blocks编辑器。
  • Arduino nRF5[47],是针对基于Nordic半导体nRF5开发板的Arduino Core[48]
  • Node.js库:node-bbc-microbit[49],从Node.js用BLE控制micro:bit;bbc-microbit-io[50],针对micro:bit的Johnny-Five[51](JavaScript机器人IoT平台)IO插件。

除了micro:bit运行时系统所采用的Mbed OS 2[52],以及nRF51 SDK支持的CMSIS-RTOS RTX[53][54][55],可以在micro:bit上运行的嵌入式操作系统还有:ZephyrApache Mynewt英语Apache MynewtRIOT

针对micro:bit的其他编程语言有:uLisp[56]、Mecrisp Forth[57]Free Pascal[58]GNAT Ada[59]、TinyGo[60]Rust[61]Swift[62]等。其他交互语言有Scratch3.0[63]、Dyalog APL[64]Simulink编码器支持包[65]Node-RED模块[66]App Inventor + IoT[67]、BlockyTalkyBLE[68]等。

历史

Micro Bit被设计用来鼓励儿童活跃的投入为计算机书写软件和建造新东西,而不是成为媒体的消费者[2]。它被设计为并肩工作于其他系统,比如Raspberry Pi[69],它也建造在BBC在计算机教育中的BBC Micro这项遗产之上[70]

合作伙伴

Micro Bit的开发汇集了众多伙伴与BBC一起工作:

BBC研究发展部英语BBC Research & Development建立了原型设备和软件栈[77],在最初宣布中进了展示[78],在学校中测试了这项提议,并为合作伙伴后续建设提供了参考规定[79]

Microbit教育基金会

在成功的于英国推出了micro:bit之后,BBC将BBC micro:bit的未来交付给新成立的非营利性Micro:bit教育基金会[80]。从BBC到Micro:bit教育基金会的迁移首先是将官方网站从www.microbit.co.uk转移到了microbit.org[81]

制造

Premier Farnell英语Premier Farnell负责管理BBC micro:bit的制造,监督各厂商进货所有部件并在各自的加工工厂生产micro:bit[82]

各地發展

  香港

於2018年,香港教育城與資訊科技教育領袖協會(AiTLE)、香港大學專業進修學院(HKUSPACE)及 Micro:bit Alliance合辦了十七場「Micro:bit 教師工作坊」,工作坊分五種程度授課,由Micro:bit的基礎功能至進階應用技巧皆有涵蓋。部份內容被納入香港中小學的資訊科技課程[83]

参见

书籍

引用

  1. ^ Computing at School Community. [11 February 2016]. (原始内容存档于2019-10-18). 
  2. ^ 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 Anthony, Sebastian. BBC Micro:bit—a free single-board PC for every Year 7 kid in the UK. arstechnica.uk. 7 July 2015 [8 July 2015]. (原始内容存档于2017-11-08). 
  3. ^ Wired: Micro bit hands on. [2018-03-28]. (原始内容存档于2016-05-22). 
  4. ^ Bell, Lee. BBC teams with ARM, Microsoft and Samsung to launch Micro:bit and get kids coding. The Inquirer. 7 July 2015 [2018-03-29]. (原始内容存档于2019-12-20). 
  5. ^ Sherwin, Adam. BBC micro:bit: Can a pocket-sized computer 'inspire digital creativity' in Britain's children?. The Independent. 7 July 2015 [7 July 2015]. (原始内容存档于2015-08-16). 
  6. ^ Austin, Jonathan. Working with the BBC on micro:bit: Part 1 – using the mbed HDK. 7 July 2015 [2018-03-29]. (原始内容存档于2016-05-05). …we plugged them into a Nordic NRF51822 development kit, which uses the same chip as the micro:bit… 
  7. ^ Introducing the BBC micro:bit (Shockwave Flash) (Television production). BBC. 事件发生在 00:39. 7 July 2015 [2018-03-29]. (原始内容存档于2020-10-23).  存档副本. [2018-03-29]. 原始内容存档于2020-10-23. 
  8. ^ 8.0 8.1 8.2 Franklin-Wallis, Oliver. BBC unveils final Micro:Bit computer design. wired.co.uk. 7 July 2015 [8 July 2015]. (原始内容存档于2015-11-01). 
  9. ^ 串行及调试适配器页面存档备份,存于互联网档案馆
  10. ^ CMSIS DAP页面存档备份,存于互联网档案馆).
  11. ^ Serial Communication with a PC页面存档备份,存于互联网档案馆).
  12. ^ 12.0 12.1 12.2 BBC micro:bit. mbed.org. [8 July 2015]. (原始内容存档于2017-08-02). The BBC micro:bit is based on the mbed HDK. The target MCU is a Nordic nRF51822 with 16K RAM, 256K Flash. As well as the nRF51822 there's also an onboard accelerometer and magnetometer from Freescale. 
  13. ^ 13.0 13.1 13.2 Groundbreaking initiative to inspire digital creativity and develop a new generation of tech pioneers. BBC. [8 July 2015]. (原始内容存档于2020-12-04). 
  14. ^ 14.0 14.1 Williams, Alun. Micro Bit reunites BBC and ARM for grand education initiative. Electronics Weekly. [8 July 2015]. (原始内容存档于2015-07-14). 
  15. ^ Edge Connector & micro:bit pinout. [2020-09-20]. (原始内容存档于2020-11-28). 
  16. ^ Power Supply.. [2018-04-21]. (原始内容存档于2020-12-02). 
  17. ^ 存档副本. [2018-12-07]. (原始内容存档于2022-02-01). 
  18. ^ S113 SoftDevice —— Memory-optimized Peripheral-only Bluetooth Low Energy protocol stack. [2022-02-22]. (原始内容存档于2022-02-22). 
  19. ^ Everything You Need To Know About The BBC micro:bit V2. [2021-02-22]. (原始内容存档于2022-03-29). 
  20. ^ micro:bit shield for MakeCode Arcade. [2021-02-22]. (原始内容存档于2022-02-01). 
  21. ^ Meet the new BBC micro:bit. [2021-02-22]. (原始内容存档于2022-02-01). 
  22. ^ 22.0 22.1 BBC micro:bit on ARM Mbed页面存档备份,存于互联网档案馆).
  23. ^ DAPLink页面存档备份,存于互联网档案馆
  24. ^ micro:bit runtime.. [2018-03-30]. (原始内容存档于2020-09-15). 
  25. ^ nRF51 SDK页面存档备份,存于互联网档案馆
  26. ^ S110 SoftDevice页面存档备份,存于互联网档案馆
  27. ^ BLE API页面存档备份,存于互联网档案馆
  28. ^ profile页面存档备份,存于互联网档案馆
  29. ^ Mbed CLI页面存档备份,存于互联网档案馆
  30. ^ GNU MCU Eclipse页面存档备份,存于互联网档案馆
  31. ^ Keli µVISION页面存档备份,存于互联网档案馆
  32. ^ ARM编译器页面存档备份,存于互联网档案馆
  33. ^ GNU ARM工具链页面存档备份,存于互联网档案馆
  34. ^ micro:bit基金会网站页面存档备份,存于互联网档案馆
  35. ^ Microsoft MakeCode页面存档备份,存于互联网档案馆
  36. ^ PXT页面存档备份,存于互联网档案馆
  37. ^ In Browser Compilers.. [2018-04-21]. (原始内容存档于2020-10-21). 
  38. ^ Williams, Alun. Hands on with the BBC Micro-Bit user interface. ElectronicsWeekly.com. [8 July 2015]. (原始内容存档于2015-10-01). 
  39. ^ The Story of MicroPython on the BBC micro:bit. ntoll.org. [13 November 2015]. (原始内容存档于2020-11-08). 
  40. ^ Python on the micro:bit.. [2018-04-21]. (原始内容存档于2020-10-21). 
  41. ^ Mu页面存档备份,存于互联网档案馆
  42. ^ EduBlocks
  43. ^ Espruino页面存档备份,存于互联网档案馆
  44. ^ The Espruino project enables JavaScript for embedded development on multiple levels.. [2021-02-07]. (原始内容存档于2018-10-21). 
  45. ^ Web Bluetooth页面存档备份,存于互联网档案馆
  46. ^ Espruino Web IDE页面存档备份,存于互联网档案馆
  47. ^ Arduino nRF5页面存档备份,存于互联网档案馆
  48. ^ Core页面存档备份,存于互联网档案馆
  49. ^ node-bbc-microbit页面存档备份,存于互联网档案馆
  50. ^ bbc-microbit-io页面存档备份,存于互联网档案馆
  51. ^ Johnny-Five页面存档备份,存于互联网档案馆
  52. ^ Mbed OS 2页面存档备份,存于互联网档案馆
  53. ^ CMSIS-RTOS RTX页面存档备份,存于互联网档案馆
    The SDK provides an implementation of an extension to ARM Keil RTX that is referred to as tickless mode. It allows waking up the MCU only when it is needed.. [2018-12-04]. (原始内容存档于2018-12-05). 
  54. ^ CMSIS-RTOS is the fundation of the offical mbed RTOS.. [2018-12-10]. (原始内容存档于2020-11-06). 
  55. ^ It is possible to use mbed 5 without the whole of mbed OS, and this would be a good step for micro:bit.. [2018-04-27]. (原始内容存档于2020-11-17). 
  56. ^ uLisp on the BBC Micro Bit. [2018-11-23]. (原始内容存档于2021-02-04). 
  57. ^ Forth for the BBC micro:bit. [2018-04-22]. (原始内容存档于2020-11-30). 
  58. ^ build FPC for the controller used by the micro:bit. [2018-03-30]. (原始内容存档于2020-10-26). 
  59. ^ Ada on the Micro:Bit. [2018-11-23]. (原始内容存档于2020-11-09). 
  60. ^ Go on microcontrollers > BBC micro:bit. [2020-09-19]. (原始内容存档于2020-11-06). 
  61. ^ Rust on BBC micro:bit. [2018-11-24]. (原始内容存档于2020-11-08). 
  62. ^ Swift playgrounds for the micro:bit页面存档备份,存于互联网档案馆).
  63. ^ The new version of Scratch is officially compatible with the micro:bit via their Scratch Link plug-in. [2018-11-24]. (原始内容存档于2021-02-04). 
  64. ^ Tools for using the micro:bit with Dyalog APL on the Pi. [2018-11-24]. (原始内容存档于2020-09-18). 
  65. ^ Simulink Coder Support Package for BBC micro:bit Board. [2018-03-30]. (原始内容存档于2020-10-23). 
  66. ^ A node-red module with limited capabilities to interface with Micro:bits. [2018-11-24]. (原始内容存档于2020-09-11). 
  67. ^ Control a micro:bit via Bluetooth with App Inventor, a visual programming environment for Android applications. [2018-11-24]. (原始内容存档于2020-09-11). 
  68. ^ MakeCode and App Inventor extension that makes it easy to connect AppInventor mobile phone apps with the BBC micro:bit wirelessly over Bluetooth. [2018-11-24]. (原始内容存档于2020-11-27). 
  69. ^ Stuart Dredge. BBC Micro Bit will complement Raspberry Pi not compete with it. The Guardian. [2018-03-30]. (原始内容存档于2020-11-08). 
  70. ^ Pritchard, Stephen. Raspberry Pi: A BBC Micro for today's generation. ITPRO. 1 March 2012 [15 March 2012]. (原始内容存档于2020-10-01). 
  71. ^ 71.0 71.1 71.2 71.3 71.4 71.5 Bell, Lee. BBC teams with ARM, Microsoft and Samsung to launch Micro:bit and get kids coding. The Inquirer. [8 July 2015]. (原始内容存档于2019-12-20). 
  72. ^ 存档副本. [2018-03-30]. (原始内容存档于2020-11-08). 
  73. ^ Brian, Matt. How the BBC's Micro:bit came to be. Engadget. 7 July 2015 [8 July 2015]. (原始内容存档于2019-04-20). 
  74. ^ A Million Children. Python Software Foundation News. [24 April 2016]. (原始内容存档于2018-03-30). 
  75. ^ BBC launches MicroBit. Python Software Foundation News. [13 November 2015]. (原始内容存档于2018-03-30). 
  76. ^ 76.0 76.1 76.2 76.3 76.4 76.5 存档副本. [2018-03-30]. (原始内容存档于2017-01-29). 
  77. ^ 原型设备和软件栈页面存档备份,存于互联网档案馆
  78. ^ Wakefield, Jane. BBC gives children mini-computers in Make it Digital scheme. BBC News. 12 March 2015 [6 August 2015]. (原始内容存档于2020-12-02). 
  79. ^ Sparks, Michael. Prototyping the BBC micro:bit. BBC. 7 July 2015 [6 August 2015]. (原始内容存档于2016-03-14). 
  80. ^ 存档副本. [2016年11月8日]. (原始内容存档于2016年11月8日). 
  81. ^ https://microbit.org/页面存档备份,存于互联网档案馆
  82. ^ Where to buy the BBC micro:bit and BBC micro:bit accessories页面存档备份,存于互联网档案馆).
  83. ^ Micro:bit基礎教學 STEM / 創客教育. [2023-08-28]. (原始内容存档于2023-08-28). 

外部链接