Saltar a contenido

Introducción

Se pretende crear una guía para trabajar con la tarjeta micro:bit mediante:

  • Programación gráfica con: Makecode, Microblocks, Scratch, ...
  • Programación con MicroPython

Comienzo por mostrar las versiones de placas micro:bit de una forma breve indicando sus principales diferencias y también introduzco diferenes accesorios y shield interesantes.

Hablaré de la solución cuando tenemos problemas de descarga de los programas por el puerto USB y también de como actualizar o reponer el firmware en la placa micro:bit

Descripción gráfica

En la imagen siguiente vemos la descripción del hardware de la micro:bit 1.3.

Hardware micro:bit 1.3
Hardware micro:bit 1.3

En la siguiente imagen tenemos la descripción de hardware para la versión 2 que incluye importantes novedades ya que incorpora un pulsador táctil como sensor en el logo, un micrófono con indicador LED, un altavoz, LED indicador de actividad USB y una LED indicador de alimentación.

Hardware micro:bit 2
Hardware micro:bit 2

  • El conector microUSB nos servirá para programar mediante la técnica de arrastrar y soltar, depurar mediante CMSIS-DAP y ello gracias a que integra webUSB para permitir que podamos conectar nuestra micro:bit a la web mediante el puerto USB
  • Los pads con agujero permiten la conexión mediante pinzas de cocodrilo o conectores tipo banana.
  • La antena de 2.4 GHz sirve para BLE (Bluetooth Low Energy) y transmisión de radio.

Novedades V2 y diferencia con V1

La novedad mas importante de la nueva tarjeta micro:bit V2 es que incorpora un procesador mas potente que su predecesora. También incorpora indicador de batería, micrófono, altavoz y un sensor táctil en el logotipo que aumentan sus posibilidades de utilización. En la imagen siguiente se señalan los nuevos elementos.

Novedades micro:bit 2
Novedades micro:bit 2

Las principales diferencias con micro:bit V1 quedan descritas a continuación:

  • El logo es un botón táctil. Se trata de un botón táctil capacitivo que nos da la posibilidad de pulsar de cuatro maneras diferentes, botón A, botón B, botón A y botón B a la vez y botón táctil.

  • Micrófono. Se trata de un micro digital MEMS al que se asocia un indicador LED con el icono de un micrófono. El término MEMS, del inglés MicroElectroMechanical Systems, se refiere a la tecnología electromecánica de dispositivos microscópicos o sistemas microelectromecánicos.

  • Modo ahorro de energía. Esta nueva función de ahorro o modo de espera detendrá el programa que se esté ejecutando en la micro:bit hasta que se pulse el botón de reinicio.

  • Altavoz. Permite incorporar sonidos a nuestros proyectos.

La microbit v2 tiene cuatro veces mas posibilidades de procesamiento y ocho veces mas memoria RAM que micro:bit V1, y esto gracias a la incorporación de un procesador nRF52833 ARM Cortex de 64 MHz.

Incorpora 512 KB de memoria Flash y 128 KB de memoria RAM.

Hardware micro:bit V2

En la imagen siguiente tenemos una descripción gráfica de todos los elementos que integra la micro:bit v2 en sus vistas frontal y posterior.

Hardware micro:bit 2
Hardware micro:bit 2

Procesador nRF52

Es donde se ejecutan los programas de usuario. El nRF52 proporciona todos los pines GPIO accesibles para el usuario. Hay integrado un periférico de radio de 2.4GHz que se utiliza para proporcionar capacidades de radio y de Bluetooth. En la tabla siguiente vemos sus principales características.

Item Detalles
Modelo Nordic nRF52833
Variante del núcleo Procesador Arm Cortex-M4 de 32 bit con FPU
Memoria Flash ROM 512 KB
Memoria RAM 128 KB
Velocidad 64 MHz

Comunicación inalámbrica Bluetooth

El dispositivo integrado de 2,4 GHz Nordic S113 admite comunicaciones Bluetooth a través del dispositivo de bajo consumo (BLE), permitiendo comunicar la micro:bit con dispositivos Bluetooth como teléfonos inteligentes y tabletas.

Item Detalles
Pila (stack) Bluetooth 5.1 con Bluetooth de bajo consumo (BLE)
Banda 2.4GHz ISM (Industrial, Scientific and Medical) 2.4GHz..2.41GHz
Canales 50 de 2MHz. Uitilizados del 0 al 39
Sensibilidad -93 dBm en modo BLE
Potencia de transmisión -40 dBm a 4 dBm
Perfiles BBC micro:bit profile
Mas información Bluetooth

Radiocomunicaciones de bajo nivel

El transceptor integrado de 2,4 GHz soporta una serie de estándares de comunicaciones por radio sobre los que está construido el protocolo de radio micro:bit. Este protocolo proporciona una interfaz de radio sencilla de transmisión de pequeños paquetes con otros dispositivos que lo admiten, como por ejemplo, otras micro:bit.

Item Detalles
Protocolo Radio micro:bit
Banda de frecuencia 2.4GHz
Velocidad de canal 1 Mbps o 2 Mbps
Encriptación Ninguna
Canales 80 (0...80)
Códigos de grupo 255
Potencia de transmisión Ocho valores configurables por el usuario, 0 (-30 dbm) a 7 (+4 dbm)
Tamaño de carga 32 (estándar) o 255 (si se configura)
Mas información Radio micro:bit

Botones

Los dos botones de la parte frontal y el botón de la parte posterior son botones pulsadores normales. El botón de la parte posterior está conectado al procesador de interfaz KL27 y al procesador NRF52 para reiniciar el sistema. De esta forma se garantiza que la aplicación se reiniciará independientemente de si se alimenta desde USB o desde una batería.

Los botones frontales A y B se pueden programar en la aplicación de usuario con cualquier propósito. Los rebotes de A y B se eliminan por software, y también incluyen pulsación corta, pulsación larga y detección de pulsación simultanea de A y B. Los botones funcionan en modo eléctrico invertido típico, donde una resistencia pull-up asegura un '1' lógico cuando se suelta el botón y un '0' lógico cuando se pulsa el botón. Ambos botones están conectados a pines GPIO que también son accesibles en el conector de borde.

Item Detalles
Tipo Dos pulsadores de usuario y un pulsador de sistema
Rebotes Se eliminan por software con periodos de 54 ms
Pullup Los botones A y B con resistencias externas de 4K7 y el de sistema con 10K

Pantalla

La pantalla es una matriz de LED de 5x5. El software en tiempo de ejecución actualiza repetidamente esta matriz a alta velocidad, de modo que está dentro del rango de persistencia visual del usuario y no se detecta parpadeo. Esta matriz de LED también se utiliza para detectar luz ambiental.

Item Detalles
Tipo LED rojo miniatura de montaje
Estructura física Matriz de 5x5
Estructura eléctrica 5x5
Control de intensidad Control de hasta 255 pasos por software
Sensibilidad Estimación de luz ambiente por algoritmo de software
Rango de sensibilidad 10 niveles, de apagado a luminosidad total
Sensibilidad de color centro del rojo (700 nm)

Sensor de movimiento

La micro:bit dispone de un chip que combina acelerómetro y magnetómetro proporcionando así detección de movimiento en 3 ejes y de campo magnético. Incluye detección de gestos en el hardware (como por ejemplo de caídas) y detección adicional de gestos (por ejemplo, logotipo arriba, logotipo abajo, agitación) a través de software. Un algoritmo de software en tiempo de ejecución utiliza el acelerómetro integrado para convertir las lecturas en una brújula independiente de la orientación de la placa. La brújula debe calibrarse antes de su uso, y el software en tiempo de ejecución inicia automáticamente el proceso de calibración. Este dispositivo está conectado al procesador a través del bus I2C.

Item Detalles
Modelo LSM303AGR
Características 3 campos magnéticos y aceleración en e ejes. Rangos 2/4/8/16g
Resolución 8/10/12 bits
Gestos "on board" Caída libre
Otros gestos Se implementan por software en tiempo de ejecución

Detección de temperatura

El procesador NRF52 tiene un sensor de temperatura integrado. Este se expone por software en tiempo de ejecución y proporciona una estimación de la temperatura ambiente.

Item Detalles
Rango de sensibilidad -40 ºC ... 105 ºC
Resolución Pasos de 0.25 ºC
Precisión ± 5 ºC (sin calibrar)
Mas información Termómetro DAL

Altavoz

Además de poder emitir sonido vía PWM por los pines, la micro:bit v2 incorpora un altavoz ya montado en la placa donde se puede reproducir sonido.

Item Detalles
Tipo JIANGSU HUANENG MLT-8530
SPL (Sound Pressure Level) 80dB @ 5V, 10cm
Frecuencia de resonancia propia 2700Hz
Mas información Datasheet

Micrófono

Un micrófono MEMS (Micro -o nano- Electrical-Mechanical System) incorporado proporciona una entrada de sonido a la micro:bit y un indicador LED integrado en la parte frontal de la placa muestra al usuario cuando está encendido.

Item Detalles
Tipo Knowles SPU0410LR5H-QB-7 MEMS
Sensibilidad -38dB ±3dB @ 94dB SPL
Relación señal ruido (SNR) 63dB
Máxima ganancia digital (AOP) 118dB SPL
Rango de frecuencia 100Hz ... 80kHz
Patrón polar Omnidireccional
Mas información Datasheet

Pines GPIO

Son pines de propósito general de entrada/salida (General Purpose Input/Output). En el conector de borde están muchos de los circuitos GPIO del procesador. Algunos de estos circuitos se comparten con otras funciones de la micro:bit, pero muchos pueden reasignarse para uso de propósito general si se desactivan algunas funciones del software.

Item Detalles
Anillos 3 de entrada/salida y 2 de alimentación compatibles con banana de 4mm y pinza de cocodrilo
Funciones GPIO 19 pines asignables GPIO
2 para interfaz I2C externa
6 para la pantalla o detección de luz
2 para detectar los botones de la placa
1 reservado para interfaz de accesibilidad
Los 19 se pueden asignar como entrada o salida digital
Los 19 pueden asignarse para hasta 3 canales PWM simultáneos
Los 19 se pueden asignar para transmisión serie y un canal de recepción serie
6 pueden asignarse como entrada analógica
3 pueden asignarse para comunicación SPI
3 se pueden asignar para hasta 3 entradas de detección táctil
Resolución conversor A/D 10 bits (0...1023). 2¹⁰=1024
Distancia entre pines 1.27mm, 80 vias a doble cara

Alimentación

La alimentación de la micro:bit puede ser a través de los 5V del conector USB o mediante una batería de 3V enchufada al conector JST. También es posible alimentar a la micro:bit desde los anillos 3V/GND en el conector de borde. Los anillos 3V/GND se pueden usar para suministrar energía a circuitos externos. La placa utiliza un regulador de baja caída o LDO especificado hasta 300 mA con corte térmico para protección contra cortocircuitos.

Item Detalles
Rango de operación 1.8V ... 3.6V
Consumo de corriente 300mA máximo
Asignado a periféerico "on board" 90mA
Conector de batería JST X2B-PH-SM4-TB
Máxima corriente prevista para el conector de borde 190mA
Mas información Power Supply

Especialmente cuando conectamos elementos externos a nuestra micro:bit es importante tener presentes los valores límite de corriente debido a la máxima corriente que puede suministrar la placa de manera segura.

  • Corriente máxima para el conector de borde es de 190 mA.

Interface

El chip de interfaz maneja la conexión USB y se usa para actualizar el código nuevo en la micro:bit, enviar y recibir datos en serie de forma bidireccional.

Item Detalles
Modelo MKL27Z256VFM4
Núcleo Arm Cortex-M0+
Flash ROM 256KB (128KB reservados para uso como almacenamiento)
RAM 16KB
Velocidad 48MHz
Depuración SWD
Mas información DAPLink
Manual del KL27
datasheet KL27

Comunicaciones USB

La placa micro:bit tiene una pila de comunicaciones USB incorporada integrada en el firmware del chip de interface. Esta pila brinda la capacidad de arrastrar y soltar archivos en la unidad MICROBIT para cargar código en el procesador. También permite que los datos en serie se transmitan desde y hacia el procesador de micro:bit a través de USB a un ordenador externo, y es compatible con el protocolo CMSIS-DAP para la depuración de programas de aplicación en el host.

Item Detalles
Conector USB micro, MCR-B-S-RA-SMT-CS5-TR
Versión USB Dispositivo a velocidad completa 2.0
Velocidad 12Mbit/s
Clases USB soportadas Clase de almacenamiento masivo (MSC)
Clase dispositivo de comunicaciones (CDC)
Mas información DAPLink

Depuración

El procesador de interface se puede utilizar con herramientas de host especiales para depurar el código que se ejecuta en el procesador de la aplicación. Se conecta al procesador de aplicaciones a través de 4 cables de señal. El código del procesador de la interfaz KL27 también se puede depurar a través de su interfaz de depuración del software SWD integral, por ejemplo, para cargar el código del cargador de arranque inicial en este procesador en el momento de la fabricación, o para recuperarlo si se ha perdido.

Item Detalles
Protocolo CMSIS-DAP
Opciones JLink/OB (via different firmware)
Mas información Mbed debugging micro:bit

Mecánicos

Hay disponibles algunos dibujos CAD 2D y 3D y modelos de la micro:bit que incluyen todas las dimensiones importantes. Estos modelos se pueden utilizar como base para generar imágenes de proyecto y marketing de micro:bit, pero también como base para la fabricación precisa de accesorios, por ejemplo, mediante impresión 3D.

Item Dimensiones
Ancho 51,60 mm
Alto 42,00 mm
Profundidad 11,65 mm
Altura del botón a la placa 4,55 mm
Altura del altavoz 3 mm
Conector JST 5,50 mm

Conector de borde

Hay 25 pistas/patillas que incluyen 5 agujeros para usar con clavijas tipo banana de 4 mm o pinzas de cocodrilo. Tres de estos anillos son para entrada y salida de propósito general (GPIO) y también sirven para detección analógica, PWM y táctil, y dos están conectados a la alimentación de la micro:bit.

Las pistas mas finas están separadas 1,27 mm, algunas son utilizadas por micro:bit y otras están disponibles para su uso mediante cualquiera de los conectores externos existentes.

Solamente tienen conexión las pistas frontales, las posteriores están sin conexión y los anillos posteriores están conectados a los delanteros.

En la imagen siguiente tenemos la descripción de pines de la micro:bit v2 a la izquierda y de la v1 a la derecha para poder comparar y establecer las diferencias de una forma sencilla.

Pinout micro:bit V2 y V1
Pinout micro:bit V2 y V1

En microbit.pinout.xyz tenemos un fantástico recurso para obtener más información sobre los pines de la micro:bit y de cómo los utilizan algunos accesorios.

En en enlace tenemos una guia de accesorios para micro:bit

Protectores

Existen en el mercado protectores para las micro:bit realizados en metacrilato transparente, silicona de distintos colores y formas y otros materiales. Estos elementos son fáciles de encontrar en las tiendas que comercializan la placa.

Aquí daremos toda la información necesaria para personalizar e imprimir en 3D nuestros propios protectores.

micro:bit V1

Carcasa de protección para la versión 1 de la tarjeta micro:bit basada en un diseño de tatan.

La base tiene el siguiente aspecto en fase de diseño y montada:

Protector micro:bit V1
Protector micro:bit V1

A continuación se da el listado de ficheros de diseño y de impresión 3D listos para descargar.

Descripción Archivo Enlace
Archivo de diseño proteccionV1.FCStd Fuente
Base en STL base.stl Base
Tapa en STL tapa.stl Tapa
Base STEP base.step Base
Tapa STEP tapa.step Tapa

micro:bit V2

El modelo se inspira en el diseño para microbit v1 de crozes gaëtan (tatan) y tiene el aspecto final que vemos en la animación siguiente:

Partes del modelo 3D
Partes del modelo 3D

En las imágenes siguientes vemos el aspecto que tiene la base por sus dos caras.

Parte delantera de la base Parte trasera de la base
Parte delantera de la base Parte trasera de la base

En las imágenes siguientes vemos el aspecto que tiene la tapa por sus dos caras.

Parte delantera de la tapa Parte trasera de la tapa
Parte delantera de la tapa Parte trasera de la tapa

En la tabla siguiente tenemos los archivos del proyecto listos para descargar.

Descripción STL AMF STEP
Base baseV2.stl baseV2.amf baseV2.step
Tapa tapaV2.stl tapaV2.amf tapaV2.step

Este es el enlace al archivo de diseño en FreeCAD y este a la TTF utilizada para crear los letreros.

El aspecto del protector una vez montado lo tenemos en la imagen siguiente.

Partes del modelo 3D
Partes del modelo 3D

Enlaces

Antes de poner un listado de enlaces interesantes diremos que BBC micro:bit es una placa programable de 4x5 cm de código abierto que permite aprender a programar de una forma fácil y divertida que está al alcance de todos.

Dado que incorpora muchos sensores es posible realizar una cantidad importante de proyectos disponiendo solamente de la placa.

BBC micro:bit se puede programar de muchas formas,

  • De forma visual o por bloques mediante:
    • MakeCode de Microsoft, un editor gráfico online gratuito.
    • MicroBlocks, un lenguaje de programación por bloques para aprender computación física.
    • Scratch (añadiendo una extensión).
    • Open Roberta Lab, un entorno de programación en línea para robots con el lenguaje de programación gráfico NEPO.
  • Mediante código:
    • JavaScript, un lenguaje de programación o de secuencias de comandos que permite implementar funciones complejas en páginas web dinámicas.
    • MicroPython, un pequeño pero eficiente interprete del lenguaje de programación Python, optimizado para funcionar en microcontroladores.
    • Python, lenguaje de programación de alto nivel que no se compila, sino que se interpreta.

El código interpretado necesita de un interprete, que se define como la capa lógica de software que se pone entre el código y el hardware, es decir, el interprete es el encargado de procesar el código de programa y hacer posible que el hardware lo ejecute.

Aquí vamos a usar principalmente MakeCode, MicroBlocks y MicroPython, aunque se darán pinceladas con otros entornos. También abordaremos en su momento el tema IoT utiliando la placa micro:bit.

Enlaces muy importantes son: