# Device ## ~ hint **Looking to buy a micro:bit?** See the [list of resellers](https://microbit.org/resellers). ## ~ All the bits and pieces that make up the BBC micro:bit ![micro:bit board layout](/static/mb/device-0.png) ## LED Screen and Status LED The red lights are [LEDs](/device/screen) (light emitting diodes) and form a 5 x 5 LED Screen. They can be set to on/off and the brightness can be controlled. The yellow light on the back of the micro:bit is the status LED. It flashes yellow when the system wants to tell the user that something has happened. See how the @boardname@ shows numbers, text, and displays images by watching this video about LEDs: https://www.youtube.com/watch?v=qqBmvHD5bCw ## Buttons Buttons A and B are a form of input. When you press a button, it completes an electrical circuit. The micro:bit can detect either of its two buttons being pressed/released and be programmed to act on these events. Button R on the back of the micro:bit is a system button. It has different uses. When you have downloaded and run your code onto your micro:bit, press Button R to restart and run your program from the beginning. Find out how buttons provide input to the @boardname@ in this video: https://www.youtube.com/watch?v=t_Qujjd_38o ## USB connection When you plug in your micro:bit via [USB](/device/usb), it should appear as a ``MICROBIT`` drive. If you accidentally hold down the reset button as you’re plugging in your micro:bit, the micro:bit will appear as a ``MAINTENANCE`` drive instead of ``MICROBIT``. This is known as maintenance mode. To continue programming your micro:bit YOU MUST unplug your USB and reconnect it. Check that the drive now shows as ``MICROBIT``. ## ~ hint ### Open the version file Use with caution! If you click on the drive while it shows the ``MAINTENANCE`` label, you can see which version of firmware you have running on your micro:bit. Firmware on your micro:bit should be up-to-date already. You can find the version of firmware in the 'version.txt' file on the micro:bit. See the @boardname@ **[firmware](https://microbit.org/guide/firmware/)** page for more about checking your board's firmware version. ## ~ ## Compass The compass can detect magnetic fields such as the Earth’s magnetic field. As the micro:bit has this compass, it is possible to detect the direction it is moving in. The micro:bit can detect where it is facing and movement in degrees. This data can be used by the micro:bit in a program or be sent to another device. ## Accelerometer There is an accelerometer on your micro:bit which detects changes in the micro:bit’s speed. It converts analogue information into digital form that can be used in micro:bit programs. Output is in milli-g. The device will also detect a small number of standard actions e.g. shake, tilt and free-fall. Watch this video to learn how the accelerometer works: https://www.youtube.com/watch?v=byngcwjO51U ## Pins The [pins](/device/pins) can be a form of electrical input or output. There are labels for the input/output pins ``P0``, ``P1``, ``P2``, which you can attach external sensors to such as thermometers or moisture detectors. ## Light level The screen can also be used a light level sensor (it's a really cool trick). Learn more about how light level is detected in this light sensor video: https://www.youtube.com/watch?v=TKhCr-dQMBY ## Temperature Temperatrue is measured on the @boardname@ by detecting how hot its physical CPU material is. Since it operates nearly as cool as the air around it, the temperature it measures for itself is a good approximation for the ambient temperature (the temperature near and around it). See how the @boardname@ can detect hot or cold in this temperature sensing video: https://www.youtube.com/watch?v=_T4N8O9xsMA ## Runtime The micro:bit embodies many fundamental concepts in computer science. To learn more, read [the micro:bit - a reactive system](/device/reactive). Sometimes, your micro:bit may display an error code. For more information, see: * [the error codes](/device/error-codes) ## How do I connect the micro:bit to my computer? Your micro:bit can be connected to your computer via a micro USB cable. Data can be sent and received between the micro:bit and the computer so programs can be downloaded from Windows, Macs and Chromebooks onto the micro:bit via this USB data connection. [Click here to read more information on how to run scripts on your micro:bit](/device/usb), and [click here to read more about the error messages you might get](/device/error-codes). ## Powering your micro:bit When your micro:bit is connected to your computer with the micro USB, it doesn’t need another power source. When your micro:bit isn’t connected to your computer, tablet or mobile, you will need 2 x AAA 1.5 V batteries to power it. The pins labelled 3V and GND are the power supply pins. You can attach an external device such as a motor to these and power it using the battery or USB. ## Serial Communication The micro:bit can send and receive data via [serial communication](/device/serial). The serial data can be transferred via USB or BLE. ## Bluetooth Low Energy (BLE) Antenna You will see the label BLE ANTENNA on the back of your micro:bit. It is for a messaging service, so that devices can talk to each other. The micro:bit is a peripheral device which can talk to a central device like a smart phone or tablet that has Bluetooth Low Energy (BLE). The micro:bit can send signals and receive signals from a central device so another BLE device can control the micro:bit or the micro:bit can control another BLE device. ## Technical Information The micro:bit has been designed to be a bare-board micro controller for use by children aged 11-12. More information is available at the [Microbit Foundation web site](https://microbit.org/guide/).