Microbit 2.0 Ab Port Devices Driver Download

Posted on

Read the announcement of the new micro:bit and the information about preparing for it

Contents. Dell Inspiron N5010 Wireless Driver Windows 7 free Buy DTECH 10 Feet USB 2.0 to RS232 DB9 Serial Port Adapter Cable with. To download dtech usb to serial cable driver, click on the download button. Thumbnail 4 for usb to rs232 db9/db25 serial adapter cable m/m. Dtech usb 2.0 to. IHV USB Audio 2.0 drivers and updates. For IHV provided third party driver USB Audio 2.0 drivers, those drivers will continue to be preferred for their devices over our in-box driver unless they update their driver to explicitly override this behavior and use the in-box driver. Audio Jack Registry Descriptions.

There are a huge range of software platforms and tools that make the micro:bit work as well as it does. This page outlines what they are and redirects you to more detailed explanations of the different projects.

Overview

  • High level programming languages
  • From coding environment to micro:bit

Software for the micro:bit consists of two main groups:

  1. software that runs on your computer (host), for example the browser editor

  2. software that runs on the micro:bit (target)

Typically, a program is written on the host computer and then transferred to the micro:bit over USB.

There are actually two chips on the micro:bit, one that is running the DAPlink software entirely to facilitate the flashing (KL26V1/KL27V2) and one that actually runs the user’s code (nRF51V1/nRF52V2).

High level programming languages

The ‘high level’ programming languages for the micro:bit break down into two broad categories

  • Compiled languages: your program is compiled to Arm assembler or some other kind of bytecode before being copied onto the micro:bit.

  • Interpreted Languages: both your script and an interpreter for it are copied onto the micro:bit. Because the interpreter is on the micro:bit itself, these languages typically also allow you to program the micro:bit ‘live’ over USB by typing commands.

Compiled languages

C/C++, while certainly compiled, is not considered a high-level language in this contextNebula sound cards & media devices driver download for windows 10.

In order to ensure that the micro:bit online code editors could scale to support 1M deployed boards, Microsoft built MakeCode, an in-browser-compiler written in TypeScript.

This process is explained in full in the In browser compiler page, and in fantastic detail at TouchDevelop in 208 bits.

These in-browser-compilers do not compile the whole of the software stack, but just the user’s script. Function calls and low level functions are handled by the micro:bit runtime and Mbed. A pre-compiled runtime image is included in the browser and concatenated with the compiled script before being presented for download.

Interpreted languages

Microbit 2.0 Ab Port Devices Driver Download

In the official micro:bit editors, only Python is interpreted. This is done by the use of the MicroPython interpreter.

The details of this are documented in the MicroPython page.

There is also a port of the Javascript interpreter Espruino that runs on the micro:bit.

Coding environments and IDEs

There are a huge number of possible coding environments that you can use to program the micro:bit.

Among the most popular are the official ones listed at http://microbit.org/code as well as the offline Mu editor.

Here’s a non-exhaustive list of possible code editors for use with the micro:bit: please add any you know about that are not here

From coding environment to micro:bit

Each of the coding environments generates a special file called a .hex file, which contains code for your micro:bit, written in a format it can understand.

The micro:bit code is updated by dragging a .hex file onto the MICROBIT drive that appears on your computer, when you plug in the micro:bit. It looks just like a USB memory stick to your computer (the flash drive is actually emulated by the DAPLink software)

It is also possible to ‘flash’ code to your micro:bit by using a mobile app, and using the Bluetooth communications interface from your mobile phone.

You can read more about bluetooth flashing or bluetooth apps by following these links.

micro:bit Low Level (C/C++) Software Stack

When you write an application for your micro:bit, other pieces of software are joined together with your application to make up the final .hex file that is flashed. This code consists of various lower level software components, such as:

  • DAL/CODAL (sometimes called the runtime), written in C++ by Lancaster University. The DAL abstracts the facilities of the micro:bit into a common set of functions that can be used by all coding languages. The high level block functions in MakeCode map almost directly onto equivalent C/C++ calls in the runtime. MicroPython requires less use of the DAL.

  • Arm Mbed The Arm Mbed SDK provides standardised drivers for MCU peripherals and abstracts most of the low level hardware details of different MCUs, meaning that micro:bit software can be easily run on other hardware. This includes an abstraction for BLE, the Mbed BLE api.

  • Nordic nRF5 SDK Mbed itself builds on top of the Nordic nRF5 SDK, the component provided by Nordic to assist programmers in using their hardware.

  • MicroPython interpreter If you are using Python, then the whole MicroPython language interpreter is joined to your application to make up the .hex file. MicroPython on the micro:bit uses Mbed underneath, though MicroPython also runs on a wide range of other hardware platforms.

Read the announcement of the new micro:bit and the information about preparing for it

The edge connector provides a set of pads and pins to allow interfacing to other circuits and components.

Overview

  • Edge Connector Pins
    • Pins and Signals
  • Uncoupling Default Functionality
  • GPIO Capabilities

The edge connector on the micro:bit is used to connect to external circuits and components.

Port

There are 25 strips/pins including 5 rings for using with 4mm banana plugs or crocodile clips. 3 of these rings are for general purpose input and output (GPIO) and are also capable of analog, PWM and touch sensing, and two are connected to the micro:bit power supply.

The smaller strips spaced at 1.27mm on the edge connector have additional signals, some of which are used by the micro:bit, and others that are free for you to use.There are a number of external PCB connectors for purchase with an 80w 1.27mm pitch that can be used to easily access these extra pins.

Only the pins on the front are connected to signals. The back rings are connected to the front rings, but the back small strips are unconnected.

Edge Connector Pins

The diagrams below show the assignation of the micro:bit pins. On the V2 board revisionPin 9 is no longer jointly shared with the LED display, but Pin 8 and Pin 9 can be configured for NFC (though this is disabled by default).

V2V1

microbit.pinout.xyz

microbit.pinout.xyz is a fantastic resource for further information on the micro:bit pins and how they are used by some popular accessories

Pins and Signals

This table shows various data about each of the pins on the micro:bit edge connector.

m:b ringmodschemMCUs/wfunctionsdirpull?
21COLR3P0.31/AIN7P3(GPIO), (ANALOG), LEDCOL(3), (PWM), (UART)O
RING0P0}
RING0P0}
018RING0P0.02/AIN0P0} GPIO, ANALOG, TOUCH, PWM, UARTIe10Mu, i12Kd
RING0P0}
22COLR1P0.28/AIN4P4(GPIO), (ANALOG), LEDCOL(1), (PWM), (UART)O
37BTN_AP0.14P5(GPIO), BUTTON(A), (PWM), (UART)Ie10Ku, i12Kd?
30COLR4P1.05P6(GPIO), LEDCOL(4), (PWM), (UART)O
29COLR2P0.11/TRACEDATA2P7(GPIO), LEDCOL(2), (PWM), (UART)O
RING1P1}
RING1P1}
119RING1P0.03/AIN1P1} GPIO, ANALOG, TOUCH, PWM, UARTIe10Mu, i12Kd
RING1P1}
38GPIO1P0.10/NFC2P8GPIO, PWM, UART (NFC2)Ii12Kd
28GPIO2P0.09/NFC1P9(GPIO), (PWM), (UART), (NFC1)O
23COL5RP0.30/AIN4P10(GPIO), LEDCOL(5), (ANALOG), (PWM), (UART)O
9BTN_BP0.23P11(GPIO), BUTTON(B), (PWM), (UART)Ie10Ku, i12Kd?
40GPIO4P0.12/TRACEDATA1P12(GPIO),ACCESSIBILITY, (PWM), (UART)Ii12Kd
RING2P2}
RING2P2}
220RING2P0.04/AIN2P2} GPIO, ANALOG, TOUCH, PWM, UARTIe10Mu, i12Kd
RING2P2}
6SCK EXTERNALP0.17P13GPIO, SPI(SCLK), PWM, UARTIi12Kd
5MISO EXTERNALP0.01/XL2P14GPIO, SPI(MISO), PWM, UARTIi12Kd
4MOSI EXTERNALP0.13P15GPIO, SPI(MOSI), PWM, UARTIi12Kd
34GPIO3P1.02P16GPIO, PWM, UARTIi12Kd
+V_TGTPSU(V_TGT)
+V_TGT}
+V_TGT}
3V+V_TGT} PSU(V_TGT)
+V_TGT}
+V_TGTPSU(V_TGT)
17I2C EXT SCLP0.26P19(GPIO), I2C(SCL), (PWM), (UART)Oe4k7u
16I2C EXT SDAP1.00/TRACEDATA0P20(GPIO), I2C(SDA), (PWM), (UART)Ie4k7u
GNDPSU(GND)
GND}
GND}
GNDGND} PSU(GND)
GND}
GNDPSU(GND)
m:b ringmodschemMCUs/wfunctionsdirpull?
21COL1RP0.04P3(GPIO), (ANALOG), LEDCOL(1), (PWM), (UART)O
PAD1P0}
PAD1P0}
018PAD1P0.03P0} GPIO, ANALOG, TOUCH, PWM, UARTIe10Mu, i12Kd
PAD1P0}
22COL2RP0.05P4(GPIO), (ANALOG), LEDCOL(2), (PWM), (UART)O
37BTN_AP0.17P5(GPIO), BUTTON(A), (PWM), (UART)Ie10Ku, i12Kd?
30COL9RP0.12P6(GPIO), LEDCOL(9), (PWM), (UART)O
29COL8RP0.11P7(GPIO), LEDCOL(8), (PWM), (UART)O
PAD2P1}
PAD2P1}
119PAD2P0.02P1} GPIO, ANALOG, TOUCH, PWM, UARTIe10Mu, i12Kd
PAD2P1}
38P0.18P0.18P8GPIO, PWM, UARTIi12Kd
28COL7RP0.10P9(GPIO), LEDCOL(7), (PWM), (UART)O
23COL3RP0.06P10(GPIO), LEDCOL(3), (ANALOG), (PWM), (UART)O
9BTN_BP0.26P11(GPIO), BUTTON(B), (PWM), (UART)Ie10Ku, i12Kd?
40P0.20P0.20P12(GPIO),ACCESSIBILITY, (PWM), (UART)Ii12Kd
PAD3P2}
PAD3P2}
220PAD3P0.01P2} GPIO, ANALOG, TOUCH, PWM, UARTIe10Mu, i12Kd
PAD3P2}
6SCKP0.23P13GPIO, SPI(SCLK), PWM, UARTIi12Kd
5MISOP0.22P14GPIO, SPI(MISO), PWM, UARTIi12Kd
4MOSIP0.21P15GPIO, SPI(MOSI), PWM, UARTIi12Kd
34P0.16P0.16P16GPIO, PWM, UARTIi12Kd
+V_TGTPSU(V_TGT)
+V_TGT}
+V_TGT}
3V+V_TGT} PSU(V_TGT)
+V_TGT}
+V_TGTPSU(V_TGT)
17SCLP0.00P19(GPIO), I2C(SCL), (PWM), (UART)Oe4k7u
16SDAP0.30P20(GPIO), I2C(SDA), (PWM), (UART)Ie4k7u
GNDPSU(GND)
GND}
GND}
GNDGND} PSU(GND)
GND}
GNDPSU(GND)
columnpurpose
m:b ringthe micro:bit basic interface (the 5 rings on the front)
modthe pin number on the module:bit
schemthe symbol name in the micro:bit schematics
MCUthe actual pin name of the Nordic MCU chip
s/wthe name that is used in the DAL runtime software
functionsall possible functions, BOLD for default. brackets indicate use with caution
dirthe startup conditions (direction) when the micro:bit boots: Input or Output
pull?pull up or down resistors. e10Mu means an external 10Mohm pullup, i12Kd means an internal 12K pull down.

Notes

  1. RINGs for 0, 1, 2, 3V and GND are also connected to the respective reverse side rings on the edge connector.

  2. The 3V and GND rings have guard strips either side of the big rings, to avoid any degradation of device performance due to slipping crocodile clip connections. Care should be taken on rings 0, 1 and 2 to avoid shorting crocodile clips against adjacent pins, which could cause some slight interference with the pattern currently displayed on the LED matrix, or introduce some inaccuracies in the light sensing readings.

  3. The DAL DynamicPWM driver (and the underlying Nordic timer peripherals) dictate that PWM can only be active on 3 pins simultaneously. Any attempt to allocate a 4th pin for PWM use, will disable one of the existing PWM pins.

  4. Digital input pins are by default configured with internal pull down resistors when the pins are configured by the DAL.

  5. Functions in brackets should be used with caution, as other features of the device may become unstable, degraded or non operational, if their normal use is not disabled in the software first.

  6. The source file for the pinout table is held in CSV format. You can load this into a spreadsheet and sort and filter it in any way that makes sense to you. There is also a zipped Python script in this folder that you can download to re-generate the markdown table version of the pin map used on this page, from the .csv file.

  7. The pin marked ‘ACCESSIBILITY’ is used to enable/disable an on-board accessibility mode, and should not be used for anything else (even though it can be used as a GPIO for testing). Future versions of the official micro:bit editors may remove the ability to write to this pin.

Uncoupling Default Functionality

Pins that are marked with brackets around functions, require the default functionality for that pin to be disabled, before other functions can be used.

pins: P3, P4, P6, P7, P9, P10

These pins are coupled to the LED matrix display, and also its associated ambient light sensing mode. To disable the display driver feature (which will automatically disable the light sensing feature) call the DAL function display.enable(false). To turn the display driver back on again later, call the DAL function display.enable(true).

Note also that the LED 3x9 matrix connects LEDs with associated resistors across these pins, so you should take that into account when designing circuits to use these pins for other purposes.

pins: P5, P11

These pins are assigned to the two on-board buttons. In their default setup with all the standard high level languages, there is a global uBit instance containing: uBit.buttonA, uBit.buttonB and uBit.buttonAB.

Buttons are hooked into the system timer in their constructor for regular debouncing. However, if you want to completely remove this feature and use the physical pins for other purposes, you can delete uBit.buttonA, it will call the C++ destructor and de-register the button instance from the system timer, effectively disabling all DAL activity with that pin. It is then possible to use a MicroBitPin instance around the physical pin name to control it directly without interference from the DAL.

Be aware though, that there are 10K external pull-up resistors fitted to the micro:bit board.

pins: P19, P20

These pins are allocated to the I2C bus, which is used by both the on-board motion sensor. It is strongly suggested that you avoid using these pins for any function other than I2C.

It is possible to disable the DAL services that use these pins as the I2C bus, but the motion sensor device will still be connected to the bus, and may try to interpret the signals as data payloads, which could create some undesirable side effects on the SDA and interrupt pins. There are 4K7 pull-ups fitted to both pins on the board, so the best use for these two signals is to add other I2C devices.

The main reason you might choose to use these pins for other purposes would be if you were designing your own micro:bit variant without any I2C devices, and then it would free up two more pins for other purposes.

Power Supply Capabilities

Microbit 2.0 Ab Port Devices Driver Download Windows 7

There is a dedicated page on power supply capabilities and parameters, which better defines how you can use the GND and 3V rings

Microbit

GPIO Capabilities

NRF51

These key GPIO parameters are transcribed directly from Section 6, 7 and 8 of the nRF51822 Datasheet, and provided here as a handy reference.

KEYDescriptionsectionMinMax
VOLVoltage Output Low8.23VSS0.3V
VOHVoltage Output High8.23VDD-0.3VDD
VILInput voltage for logic low8.23VSS0.3*VDD
VIHInput voltage for logic high8.230.7*VDDVDD
xxxMax source current from IO pin8.235mA
xxxMax sink current into IO pin8.235mA
VIOTolerable pin voltages for IO pin6-0.3VVDD+0.3
xxxPin impedance when an input?TBC
VDD(o)Operating voltage range (LDO)91.8V3.6V
VDD(a)Absolute voltage range9-0.3V+3.9V
VSSGround reference60V0V
RPUPull up resistance8.2311K16K
RPDPull down resistance8.2311K16K

NOTE 1: The maximum number of pins configured as high-drive (5mA) at any one time is 3 pins.

NOTE 2: A common way that the maximum pin voltages can be exceeded, is to attach an inductive load such as a speaker, motor, or piezo sounder directly to the pin. These devices often have significant back-EMF when energised, and will generate voltages that exceed the maximum specifications of the GPIO pins, and may cause premature device failure.

Microbit 2.0 ab port devices driver download windows 10

NOTE 3: The pin marked ‘ACCESSIBILITY’ is used to enable/disable an on-board accessibility mode, and should not be used for anything else (even though it can be used as a GPIO for testing). Future versions of the official micro:bit editors may remove the ability to write to this pin.

Microbit 2.0 Ab Port Devices Driver Download Windows 10

NOTE 4: The BBC suggest in the safety guide, that the maximum current you can draw from the whole edge connector at any one time is V190mA. This is set based on the 30mA budget for on-board peripherals, and the fact that the on-board regulator of the KL26 when powered from USB is rated at a maximum of 120mA. On the latest board revision the maximum current is V2270mA, though it is possible that the on-board mic and speaker can draw more current, so this value is TBC.

NRF52

These key GPIO parameters are transcribed directly from Section 6, 7 and 8 of the nRF52833 Datasheet, and provided here as a handy reference.

KEYDescriptionsectionMinMax
VOL,SDVoltage Output Low, standard drive, 0.5 mA, VDD ≥ 1.76.8.3VSSVSS +0.4
VOL,HDHVoltage Output Low, high drive, 5 mA, VDD ≥ 2.76.8.3VSSVSS +0.4
VOL,HDLVoltage Output Low, high drive, 3mA, VDD ≥ 1.76.8.3VSSVSS +0.4
VOH,SDVoltage Output High, standard drive,0.5 mA, VDD ≥ 1.76.8.3VDD -0.4VDD
VOL,HDHVoltage Output High, high drive, 5 mA, VDD ≥ 2.76.8.3VDD -0.4VDD
VOL,HDLVoltage Output High, high drive, 3mA, VDD ≥ 1.76.8.3VDD -0.4VDD
VILInput voltage for logic low6.8.3VSS0.3 * VDD
VIHInput voltage for logic high6.8.30.7 * VDDVDD
xxxMax source current from IO pinTBCTBC
xxxMax sink current into IO pinTBCTBC
VIO≤3.6Tolerable pin voltages for IO pin with VDD ≤3.69-0.3VVDD+0.3
VIO>3.6Tolerable pin voltages for IO pin with VDD >3.69-0.3V3.9
xxxPin impedance when an input?TBC
VDDOperating voltage range (LDO)7-0.3V3.9V
VDDHAbsolute voltage range6-0.3V5.8V
VSSGround reference90V0V
RPUPull up resistance6.8.311K16K
RPDPull down resistance6.8.311K16K
Port

Connectors and Breakouts

There are a number of suppliers of edge connector for the BBC micro:bit, in various forms, such as a right angle through-hole, a stand-up through-hole and a stand-up surface mount.

Microbit 2.0 Ab Port Devices Driver Downloads

There is an 80 way * 1.27mm pitch double sided PCB connector, which you can buy from a number of sources.

At a pinch, it is also possible to use an old PCI edge connector from a PC motherboard, as the pitch is the same (but it is slightly wider).

There are also some nice ideas that have surfaced in the community such as using just the right size of countersunk or cheese-head bolt, or even 3D printed inserts.

Can you help to find or design a better connection solution to the micro:bit edge connector? Share your designs and discoveries with us!

Microbit 2.0 Ab Port Devices Driver Download 64-bit

Edge Connectors for the BBC micro:bit

SupplierProduct
4UCon4UCon connector
CyclonnCylconn 90 degree connector, Cylconn 180 degree connector

Further information

  • 2D CAD drawing This drawing has all the key micro:bit dimensions, including the pin spacing of the various pins of the edge connector on the micro:bit board.

  • Kitronik BBC micro:bit CAD Resources This page contains a range of resources that can be used to create online resources or 3D printed designs