BeagleBone Black (TI Sitara AM3358)

Designed for the BeagleBoard.org FoundationSBClinux

⚡ Lo esencial en 60 segundos

La BeagleBone Black es una placa de desarrollo de bajo costo y alta expansión que representa un pilar fundamental en el ecosistema de hardware abierto, diseñada originalmente para la BeagleBoard.org Foundation, una organización sin fines de lucro con sede en Michigan, Estados Unidos. Introducida al mercado en abril de 2013 con un precio de lanzamiento de 45 dólares estadounidenses, esta tarjeta ha mantenido su relevancia durante más de una década gracias a su enfoque en la robustez industrial y la educación, coexistiendo con modelos más recientes como la PocketBeagle o la BeagleBone AI-64. Su diseño, atribuido a Gerald Coley de EmProDesign, ha sido fabricado y respaldado por socios oficiales de la fundación, asegurando una disponibilidad continua para proyectos que requieren estabilidad a largo plazo. A lo largo de su vida útil, la placa ha experimentado varias revisiones de hardware que corrigieron problemas menores de arranque, ajuste de LEDs y compatibilidad con memorias eMMC, pasando de versiones iniciales con 2 GB de almacenamiento a las revisiones más recientes que incluyen 4 GB y un procesador de mayor velocidad.

El corazón de la BeagleBone Black es el sistema en un chip (SoC) Texas Instruments Sitara AM3358, una arquitectura de un solo núcleo basada en ARM Cortex-A8 que opera a una frecuencia máxima de 1 GHz. Para quienes no están familiarizados con estos términos, el SoC es el cerebro central que integra el procesador, la memoria y los controladores de periféricos en un solo componente. Aunque el núcleo Cortex-A8 es una tecnología más antigua comparada con los procesadores multinúcleo modernos, su diseño está optimizado para tareas de control y tiempo real. La placa cuenta con 512 MB de memoria RAM DDR3L, lo que es suficiente para ejecutar sistemas operativos Linux ligeros como Debian, pero limita su uso como una mini-PC para escritorio. Un aspecto distintivo de este chip es la inclusión de dos unidades de tiempo real programables llamadas PRU-ICSS. Estas son pequeñas unidades de procesamiento de 32 bits que funcionan a 200 MHz y están conectadas directamente a los pines de entrada y salida de la placa. A diferencia del procesador principal, que gestiona el sistema operativo y las tareas generales, los PRU pueden ejecutar código de manera determinista y extremadamente rápida, ideal para controlar motores, leer sensores con precisión de microsegundos o manejar protocolos industriales complejos sin la interferencia del sistema operativo.

En cuanto a la conectividad y las interfaces, la BeagleBone Black ofrece una versatilidad notable a través de sus dos conectores de expansión de 46 pines, conocidos como P8 y P9. Estos pines proporcionan acceso a una gran cantidad de opciones de entrada y salida, incluyendo hasta 69 pines GPIO (entrada/salida de propósito general), siete entradas analógicas, cuatro puertos serie UART, dos buses I2C, dos interfaces SPI y, crucialmente, dos controladores CAN, que son esenciales para la comunicación en entornos automotrices e industriales. Es fundamental destacar que todos los pines de datos operan a niveles de voltaje de 3.3 voltios. Esto significa que conectar señales de 5 voltios directamente puede dañar permanentemente la placa, una diferencia crítica respecto a otras plataformas que pueden tolerar mejor los niveles de 5V. Además, las entradas analógicas tienen un límite absoluto de 1.8 voltios; exceder este voltaje en los pines AIN puede quemar el conversor analógico-digital interno del procesador, por lo que se requiere un divisor de voltaje externo para medir señales de mayor amplitud.

La placa también incluye un puerto Ethernet de 10/100 Mbps, lo que es suficiente para la mayoría de las aplicaciones de control, aunque carece de Wi-Fi o Bluetooth de fábrica, funciones que están disponibles en la variante BeagleBone Black Wireless. Para la salida de video, dispone de un conector micro-HDMI capaz de soportar resoluciones de hasta 1280x1024 o 1080p a 24 Hz, junto con audio estéreo a través del mismo cable HDMI. El almacenamiento interno se realiza mediante memoria eMMC de 4 GB (en las revisiones más recientes), que ofrece un arranque más rápido y confiable que una tarjeta microSD tradicional, aunque también se puede utilizar una tarjeta microSD para el sistema operativo si se presiona el botón de arranque durante el encendido. La gestión de energía es manejada por un circuito PMIC (gestor de energía) que permite alimentar la placa a través de un puerto micro-USB o un conector de barril de 5V, con la capacidad de cambiar automáticamente entre ambas fuentes.

Uno de los grandes atractivos de la BeagleBone Black es su ecosistema de "capas" o expansiones. Los conectores P8 y P9 están diseñados para permitir el apilamiento de hasta cuatro placas adicionales que añaden funcionalidades específicas, como pantallas táctiles, módulos de radiofrecuencia o interfaces de audio avanzadas. Cada capa puede incluir una pequeña memoria EEPROM que identifica el hardware conectado, permitiendo que el sistema operativo cargue automáticamente los controladores y configuraciones de pines necesarios mediante overlays de árbol de dispositivos (Device Tree Overlays). Esta característica facilita enormemente la creación de sistemas personalizados sin necesidad de reconfigurar manualmente el software cada vez que se cambia el hardware.

A pesar de sus fortalezas, la placa presenta ciertas limitaciones y advertencias técnicas que los usuarios deben conocer. El soporte para los coprocesadores PRU, aunque potente, ha tenido históricamente una documentación fragmentada, dependiendo de paquetes comunitarios y herramientas específicas de Texas Instruments que no siempre son intuitivas para principiantes. Asimismo, el diseño de los pines SYSBOOT, que determinan cómo arranca la placa, comparte líneas con los conectores de expansión; si una capa externa manipula incorrectamente estos pines antes de que el sistema esté completamente inicializado, la placa puede fallar en el arranque. También es importante notar que la alimentación a través de USB está limitada a 500 mA, lo que puede ser insuficiente si se conectan periféricos de alto consumo, recomendándose el uso de una fuente de alimentación externa de al menos 1 A para cargas pesadas.

En resumen, la BeagleBone Black sigue siendo una herramienta poderosa para desarrolladores, estudiantes e ingenieros que necesitan un equilibrio entre potencia de cálculo, control de tiempo real en tiempo real y una amplia conectividad de bajo nivel. Su naturaleza de hardware abierto, con esquemas y archivos de diseño disponibles públicamente, fomenta una comunidad activa que continúa creando soluciones innovadoras, desde sistemas de adquisición de datos de alta velocidad hasta emuladores de hardware retro. Aunque no es la opción ideal para multimedia o escritorio pesado debido a su RAM limitada y procesador de un solo núcleo, brilla en aplicaciones de automatización, robótica y prototipado industrial donde la precisión y la flexibilidad de los pines son primordiales.

Foro (1 tema) →

AttrEspecificacionesverificado
socTI Sitara AM3358BZCZ100 ("CZ" = Cortex-A8 + SGX530 + PRU, 100 = 1 GHz speed grade), 2000 MIPS (SRM ch. 4). CPU: 1× ARM Cortex-A8 (ARMv7-A, single core), OPPs at 275/500/600/800/1000 MHz (SRM ch. 6 processor table; OPP table in am33xx.dtsi). L1 64 KB + L2 256 KB cache, 128 KB other on-chip RAM, 64-channel EDMA (SRM ch. 6).✔
co_processors2× PRU-ICSS Programmable Real-Time Units, 32-bit load/store RISC @ 200 MHz, 8 KB instruction RAM + 8 KB data RAM per core + 12 KB shared RAM, parity-protected, fast I/O, 16 in / 16 out pins per core (not all reachable on the BBB) (SRM ch. 6 "PRU-ICSS").✔
gpuImagination PowerVR SGX530 @ 200 MHz, ~20 M polygons/s (SRM ch. 4; Wikipedia).✔
ram512 MB DDR3L (single x16 device: Micron MT41K256M16HA-125 or Kingston D2516EC4BXGGB), 400 MHz clock = 800 MT/s ≈ 1.6 GB/s (SRM ch. 5).✔
storage4 GB 8-bit eMMC (Rev C+; 2 GB on Rev A/B) on MMC1/GPMC pins + microSD (MMC0, 4-bit only — 8-bit lines collide with the Ethernet pins) (SRM ch. 5). 4 KB board-identity EEPROM on I2C0 (atmel,24c32 in mainline DTS).✔
networking10/100 Ethernet only (SMSC PHY, MII via the AM335x CPSW switch, phy-mode = "mii" in am335x-bone-common.dtsi). No Wi-Fi / Bluetooth on the stock board (use the Wireless variant or a USB dongle).✔
usb1× USB2.0 HS host Type-A (≤500 mA, LS/FS/HS) + 1× mini-USB client (USB0, powers the board) (SRM ch. 4).✔
video_audiomicro-HDMI via a 16-bit HDMI framer (TDA19988-class): max 1280×1024, 1920×1080@24 Hz with EDID; stereo audio over HDMI (needs the framer's 24.576 MHz clock, see Problems) (SRM ch. 4).✔
gpio_expansion2× 46-pin headers (P8, P9) = 92 pins, all 3.3 V I/O (5 V on power pins only). Up to 69 GPIO, 7 analog inputs, 4 UARTs, 2× I2C, 2× SPI, 2× CAN, 8× PWM (eHRPWM/eCAP), eQEP, McASP0, LCD/GPMC/MMC1/MMC2 muxed, XDMA interrupt, power-button line, up to 4 stacked capes with per-cape ID EEPROMs (I2C2 addresses 0x54–0x57 in mainline DTS) (SRM ch. 4/ch. 7; Adafruit — Setting up IO Python Library on BeagleBone Black: "7 Analog Pins, 65 Digital Pins at 3.3V, 2x I2C, 2x SPI, 2x CAN Bus, 4x UART, 8x PWM").✔
adc8-channel 12-bit ADC; analog I/O supply is 1.8 V (VDD_ADC) — absolute max on AIN pins is 1.8 V (SRM ch. 4 "AIN (1.8V MAX)", ch. 6 "IO Supply (V): 1.8V(ADC), 3.3V"). Broken-out channels (P9): AIN0=P9_39, AIN1=P9_40, AIN2=P9_37, AIN3=P9_38, AIN4=P9_33, AIN5=P9_36, AIN6=P9_35, VADC(1.8 V out)=P9_32, AGND=P9_34 (SRM ch. 7 P9 table).✔
power5 V via micro-USB client (≤500 mA) or 5.5/2.1 mm center-positive barrel jack (≥1 A typical); TPS65217C PMIC auto-selects, hot-switching USB→DC; the board can also be powered from the 5 V pins of the headers. Measured draw @5 V (HDMI monitor + hub + 4 GB stick + 100M Ethernet attached): U-Boot idle 210 mA, kernel-boot peak 460 mA, kernel idle 350 mA, page load 430 mA (SRM ch. 6 "Power Consumption"). Battery-charger pads (BAT/SENSE/TS/GND) for Li-ion experiments; power button on the PMIC.✔
cryptoAES and SHA accelerators enabled in mainline (&aes/&sham "okay" in am335x-bone-common.dtsi).✔
mechanical_thermal86.36 × 53.34 mm (3.5" × 2.15"), 6-layer PCB, 39.68 g (SRM ch. 4/ch. 9).✔
  • Fabricante / responsable: diseñada para la BeagleBoard.org Foundation (Fundación 501(c)(3) sin ánimo de lucro, Míchigan, EE. UU.). La placa fue diseñada por Gerald Coley de EmProDesign; el trazado del PCB hasta la revisión B lo realizó Circuitco (único financiador del montaje original), y las revisiones posteriores del PCB, Embest (filial de Avent); fabricada y garantizada por socios de BeagleBoard.org (BBB System Reference Manual, ch. 4 "Overview", consultado el 2026-10-13).
  • Año de lanzamiento: 2013-04-23 (rev A5A de producción inicial; la rev A5.2 del documento lleva la misma fecha) (Wikipedia — BeagleBoard family table, System Reference Manual ch. 2 Change History, ambos consultados el 2026-10-13).
  • Precio de lanzamiento: US$45 — la comparación de PocketBeagle en Wikipedia registra el MSRP del BBB como "US$45 for BeagleBone Black" (dic 2018), el precio con el que la placa salió al mercado y que mantuvo durante años (Wikipedia — BeagleBoard, consultado el 2026-10-13).
  • Estado: Activa / sigue a la venta. Listada en la página oficial de producto beagleboard.org/boards/beaglebone-black (obtenida en vivo el 2026-10-13: "low-cost, high-expansion, community-supported development platform"). Es un diseño de hace 13 años mantenido en producción para clientes industriales/educativos; las placas más recientes de la Foundation (PocketBeagle, BeaglePlay, BeagleBone AI-64) conviven con ella.
  • Revisiones de hardware (todas del oficial Change History, ch. 2, consultado el 2026-10-13): - Rev A5A (ene 2013): producción inicial, 2 GB de eMMC, Ångström Linux preinstalado. - Rev A5B: LEDs más tenues (820 Ω → 4.75 kΩ); Rev A5C: corrección del jitter HDMI (R45–R48). - Rev A6 / A6A: corrección del glitch SYS_RESETn (ORado con PORZn); corrección del condensador C25 para un problema de "won't boot 1 in 20 tries". - Rev B: procesador cambiado a AM3358BZCZ100 (speed grade de 1 GHz). - Rev C (2014-03-21): eMMC 2 GB → 4 GB (las piezas de 2 GB en fase de descatalogación); se envía con Debian. - Rev C1/C2: cambios de proveedor de DDR3/eMMC (Micron ↔ Kingston). - Rev C3 (2021): reset del PHY de Ethernet en GPIO1_8 (corrige un problema de arranque, git.beagleboard.org issue #4), nueva jaula de tarjeta microSD (issue #6); Rev C3a: conector USB Type-A host.
  • Variantes: BeagleBone Black Wireless (Octavo OSD3358 SiP + Wi-Fi b/g/n + BT 4.1 LE, mainline am335x-boneblack-wireless.dts), BeagleBone Black Industrial (variante de temperatura extendida, referenciada por CNX Software), Seeed BeagleBone Green / Green Wireless, y la familia PocketBeagle construida sobre el mismo silicio (Wikipedia, consultado el 2026-10-13).

+ Puntos fuertes

  • PRU-ICSS — el argumento de venta único frente a cualquier Raspberry Pi. Dos núcleos de 32 bits programables por el usuario a 200 MHz conectados directamente al anillo de E/S, que ofrecen bit-banging determinista con bypass del SO, control de motores, fieldbuses industriales y muestreo mientras Linux funciona con normalidad (SRM ch. 6). Google Research construyó PRUDAQ, un cape de adquisición de datos de 40 MSPS sobre los PRUs (github.com/google/prudaq, consultado el 2026-10-13). Ningún modelo de Pi expone núcleos de E/S de tiempo real programables por el usuario como estos.
  • Ecosistema de capes: headers de 2×46, guiado mecánico alrededor del conector Ethernet, apilamiento de 4 profundidades, EEPROMs de ID por cape (0x54–0x57) para que el software pueda autoconfigurar los muxes de pines — el mecanismo que hizo posible el capemanager de device-tree-overlay del BBB (SRM ch. 8 "Cape Board Support").
  • eMMC como dispositivo de arranque: x8 de ancho, determinista frente a una tarjeta microSD (el manual cita explícitamente "performance boost due to deterministic properties vs. microSD") (SRM ch. 4).
  • Periféricos de tiempo real / industriales: 2× CAN, eHRPWM con periodo de alta resolución, 3× eCAP, 3× eQEP (encoders), audio McASP0, ADC de 12 bits, interrupción XDMA hacia los PRUs (SRM ch. 4/ch. 6).
  • Ingeniería de alimentación: el PMIC informa si USB o DC alimenta la placa (leíble por I²C), apagado ordenado con el botón de encendido, pads de prueba del cargador de batería, rail RTC (SRM ch. 6).
  • Hardware abierto: esquemas y archivos PCB completos públicos en openbeagle.org/beagleboard/beaglebone-black (enlazado desde la página oficial de documentación, consultado el 2026-10-13).
  • Audio + vídeo HDMI en una placa de $45 (máximo 1280×1024 / 1080p24) con un header serial de depuración TTL de 6 pines a 3.3 V — sin necesidad de chip USB-serial (SRM ch. 4).

− Puntos débiles

  • Las entradas del ADC admiten máximo 1.8 V — no 3.3 V. Alimentar 3.3 V (o 5 V) en un pin AIN daña el SoC; la alimentación analógica VDD_ADC (P9_32) es de 1.8 V y AGND (P9_34) debe referenciarse correctamente (SRM ch. 4 "AIN (1.8V MAX)"). Esto sorprende a todos los que vienen de la suposición de ADC externo del Pi o de los niveles lógicos de 3.3 V.
  • La lógica de 5 V mata los headers: "Do not connect 5V logic level signals to these pins or the board will be damaged", y nunca aplicar voltaje a los pines de E/S mientras la placa está sin alimentación — la realimentación a través de los diodos ESD daña el procesador y anula la garantía (SRM ch. 7).
  • Trampas de la alimentación por USB: USB entrega ≤500 mA mientras el pico de arranque del kernel llega a 460 mA antes de conectar ninguna carga; cuando la placa se alimenta por USB, el rail VDD_5V está ausente en los headers (solo existe el SYS_5V derivado del PMIC), así que los capes que demandan 5 V se comportan mal de forma silenciosa; la documentación recomienda 5 V externo para capes/cargas USB-host (SRM ch. 6 "USB Power").
  • El modo de apagado solo-RTC puede dañar la placa: se descubrió que el estado "SLEEP" del TPS65217 suponía un riesgo de daño hardware en la mayoría de revisiones del BeagleBone; mainline incluye ti,pmic-shutdown-controller para que poweroff fuerce en su lugar el estado OFF, con un comentario explicativo extenso y enlaces a hilos de linux-omap (comentario TPS de am335x-bone-common.dtsi, spinics msg118585).
  • Los pines SYSBOOT están en el P8: P8_27…P8_46 (el bus LCD) son los pines SYSBOOT/modo de arranque del AM335x y las entradas del framer HDMI; driverlos desde un cape antes de que SYS_RESETn suba puede cambiar el orden de arranque y la placa no arrancará. El framer tampoco puede apagarse (se realimentaría a través de sus pines de entrada) (SRM ch. 8).
  • El eMMC roba 10 pines del header: el eMMC cuelga de los pines GPMC/MMC1 compartidos con el P8; usar esos pines requiere mantener el eMMC en reset, y por ello el bus GPMC es "not accessible in some cases" (SRM ch. 4/ch. 8).
  • P9_22 / GPIO3_21 transporta el reloj de audio HDMI de 24.576 MHz: es un reloj de entrada al SoC; para reutilizar ese pin como GPIO hay que deshabilitar el reloj (lo que mata el audio HDMI) (SRM ch. 4).
  • 1 GHz es una promesa de speed grade, no una garantía para el silicio temprano: mainline habilita el OPP "Nitro" de 1 GHz para esta placa con el comentario "All PG 2.0 silicon may not support 1GHz but some of the early BeagleBone Blacks have PG 2.0 silicon which is guaranteed to support 1GHz" (am335x-boneblack.dts).
  • Pegas del dispositivo de arranque: RESET no re-selecciona el dispositivo de arranque (mantener BOOT mientras se recicla la alimentación); una imagen eMMC rota con cabeceras ROM válidas mantiene la ROM comprometida con MMC1 — el botón de arranque es la salida de emergencia (SRM ch. 5).
  • Bugs de las revisiones de producción corregidos tarde: glitch SYS_RESETn (Rev A6), fallos de arranque 1 de cada 20 (Rev A6A, C25), jitter HDMI (Rev A5C), problema de arranque del PHY de Ethernet que exigió añadir un reset por GPIO en la Rev C3 (SRM ch. 2, issue #4).
  • Herramientas PRU históricamente sin soporte de TI en esta plataforma: el System Reference Manual afirma sin rodeos "This feature is not supported by Texas Instruments" y apunta al paquete comunitario am335x_pru_package (SRM ch. 6); hoy existe un driver remoteproc mainline (drivers/remoteproc/pru_rproc.c), pero la documentación y las herramientas de los PRUs siguen fragmentadas entre el SDK de TI, los paquetes comunitarios y mainline.
  • Límites de uso de escritorio: Ethernet 10/100, 512 MB de RAM, un solo núcleo, 1080p solo a 24 Hz — perfecto como controlador de E/S, malo como mini-PC.
  • Retour d'expérience expert expert — expert-pi-like
    • Je tourne sur la BBB depuis pas mal de temps et je confirme les points forts : les deux coeurs PRU sont vraiment uniques pour le controle temps reel, et l'ecosysteme de capes avec les EEPROMs d'ID simplifie enormement la vie. Par contre, attention aux pieges documentes. Le plus classique est l'ADC … — expert-pi-like
    • Merci pour le rappel sur l'ADC, je l'ai lu dans la doc mais j'ai failli faire l'erreur en connectant un capteur analogique. Petite question sur l'alimentation : je compte alimenter la carte par USB pour un petit projet domotique. Si je branche une cape qui demande un peu plus de courant, est-ce que… — maker_nouveau
    • @maker_nouveau L'USB te donne seulement 500mA max, or le boot seul consomme deja 460mA. Si ta cape tire dessus, tu vas avoir des coupures instables ou le port qui coupe. Le vrai piege c'est que le rail 5V officiel n'est pas sur les pins headers quand tu es en USB (seule la tension derivee du PMIC e… — hacker_labs

Opiniones y proyectos de la comunidad

  • PRUDAQ — 40 MSPS data acquisition on the PRUs

    PRUDAQ — Adquisición de datos a 40 MSPS en las PRU — (Google Research, código abierto): (unverified au 2026-10-13) — interno alojado en sitio interno, estado activo verificado el 2026-10-13. Proyecto documentado en la ficha beaglebone-black (SBC); rol: profun…

  • Las entradas del ADC admiten máximo 1.8 V — no 3.3 V. Alimentar 3.3 V (o 5 V) en un pin AIN daña el SoC; la alimentación analógica VDD_ADC (P9_32) es de 1.8 V y AGND (P9_34) debe referenciarse correctamente (SRM ch. 4 "AIN (1.8V MAX)"). Esto sorprende a todos los que vienen de la suposición de ADC externo del Pi o de los niveles lógicos de 3.3 V.
  • La lógica de 5 V mata los headers: "Do not connect 5V logic level signals to these pins or the board will be damaged", y nunca aplicar voltaje a los pines de E/S mientras la placa está sin alimentación — la realimentación a través de los diodos ESD daña el procesador y anula la garantía (SRM ch. 7).
  • Trampas de la alimentación por USB: USB entrega ≤500 mA mientras el pico de arranque del kernel llega a 460 mA antes de conectar ninguna carga; cuando la placa se alimenta por USB, el rail VDD_5V está ausente en los headers (solo existe el SYS_5V derivado del PMIC), así que los capes que demandan 5 V se comportan mal de forma silenciosa; la documentación recomienda 5 V externo para capes/cargas USB-host (SRM ch. 6 "USB Power").
  • El modo de apagado solo-RTC puede dañar la placa: se descubrió que el estado "SLEEP" del TPS65217 suponía un riesgo de daño hardware en la mayoría de revisiones del BeagleBone; mainline incluye ti,pmic-shutdown-controller para que poweroff fuerce en su lugar el estado OFF, con un comentario explicativo extenso y enlaces a hilos de linux-omap (comentario TPS de am335x-bone-common.dtsi, spinics msg118585).
  • Los pines SYSBOOT están en el P8: P8_27…P8_46 (el bus LCD) son los pines SYSBOOT/modo de arranque del AM335x y las entradas del framer HDMI; driverlos desde un cape antes de que SYS_RESETn suba puede cambiar el orden de arranque y la placa no arrancará. El framer tampoco puede apagarse (se realimentaría a través de sus pines de entrada) (SRM ch. 8).
  • El eMMC roba 10 pines del header: el eMMC cuelga de los pines GPMC/MMC1 compartidos con el P8; usar esos pines requiere mantener el eMMC en reset, y por ello el bus GPMC es "not accessible in some cases" (SRM ch. 4/ch. 8).
  • P9_22 / GPIO3_21 transporta el reloj de audio HDMI de 24.576 MHz: es un reloj de entrada al SoC; para reutilizar ese pin como GPIO hay que deshabilitar el reloj (lo que mata el audio HDMI) (SRM ch. 4).
  • 1 GHz es una promesa de speed grade, no una garantía para el silicio temprano: mainline habilita el OPP "Nitro" de 1 GHz para esta placa con el comentario "All PG 2.0 silicon may not support 1GHz but some of the early BeagleBone Blacks have PG 2.0 silicon which is guaranteed to support 1GHz" (am335x-boneblack.dts).
  • Pegas del dispositivo de arranque: RESET no re-selecciona el dispositivo de arranque (mantener BOOT mientras se recicla la alimentación); una imagen eMMC rota con cabeceras ROM válidas mantiene la ROM comprometida con MMC1 — el botón de arranque es la salida de emergencia (SRM ch. 5).
  • Bugs de las revisiones de producción corregidos tarde: glitch SYS_RESETn (Rev A6), fallos de arranque 1 de cada 20 (Rev A6A, C25), jitter HDMI (Rev A5C), problema de arranque del PHY de Ethernet que exigió añadir un reset por GPIO en la Rev C3 (SRM ch. 2, issue #4).
  • Herramientas PRU históricamente sin soporte de TI en esta plataforma: el System Reference Manual afirma sin rodeos "This feature is not supported by Texas Instruments" y apunta al paquete comunitario am335x_pru_package (SRM ch. 6); hoy existe un driver remoteproc mainline (drivers/remoteproc/pru_rproc.c), pero la documentación y las herramientas de los PRUs siguen fragmentadas entre el SDK de TI, los paquetes comunitarios y mainline.
  • Límites de uso de escritorio: Ethernet 10/100, 512 MB de RAM, un solo núcleo, 1080p solo a 24 Hz — perfecto como controlador de E/S, malo como mini-PC.
  • Premier boot de la BeagleBone Black avec un seul câble mini-USB debutant Schéma : IMG-beaglebone-black-debutant-1-premier-boot-cable-mini-usb.svg — BeagleBone Black reliée à un PC par un câble mini-USB, fenêtre affichant start.htm sur le lecteur USB virtuel, bouton BOOT et jack d'alimentation annotés.
  • Comprendre les triggers en pilotant les 4 LED utilisateur debutant Schéma : IMG-beaglebone-black-debutant-2-leds-user-sysfs-triggers.svg — BeagleBone Black vue de dessus avec les 4 LED utilisateur (heartbeat, mmc0, usr2, usr3) surlignées près du connecteur Ethernet, liste des triggers sysfs en médaillon.
  • Bouton et LED avec Adafruit_BBIO, la bibliothèque historique debutant Schéma : IMG-beaglebone-black-debutant-3-bouton-led-adafruit-bbio.svg — breadboard avec BeagleBone Black : bouton entre P9_11 et GND, LED + 330 Ω sur P8_11, broches P8 et P9 repérées sur la carte.
  • Lire l'ADC 12 bits sans griller le SoC : la règle des 1,8 V intermediaire Schéma : IMG-beaglebone-black-intermediaire-1-adc-1-8v-lecture-iio.svg — pont diviseur de résistance sur la BeagleBone Black : signal 3,3 V entrant, deux résistances, point milieu vers P9_33 (AIN4), P9_32 VDD_ADC 1,8 V et P9_34 AGND repérés, badge « 1,8 V MAX ».
  • Ajouter une horloge temps réel sur le bus I2C des capes intermediaire Schéma : IMG-beaglebone-black-intermediaire-2-horloge-rtc-i2c-bus-cape.svg — module RTC DS3231 avec pile bouton câblé sur P9_19 (SDA) et P9_20 (SCL) + 3,3 V/GND de la BeagleBone Black, bus I2C2 partagé avec les EEPROM de capes (0x54-0x57) en médaillon.
  • Micro-HDMI : exploiter les limites d'affichage de la BBB intermediaire Schéma : IMG-beaglebone-black-intermediaire-3-micro-hdmi-limites-affichage.svg — BeagleBone Black reliée en micro-HDMI à un moniteur, badges « 1280×1024 max » et « 1920×1080 à 24 Hz seulement », broche P9_22 (horloge audio 24,576 MHz) surlignée en avertissement.
  • Capes historiques : capemanager, EEPROM d'identification et pièges des broches avance Schéma : IMG-beaglebone-black-avance-1-capes-legacy-capemanager-eeprom.svg — pile de 4 capes empilées sur les nappes P8/P9 d'une BeagleBone Black, EEPROM I2C 0x54-0x57 en médaillon, zone P8_27 à P8_46 barrée en rouge avec mention « broches SYSBOOT — ne pas piloter ».
  • Programmer les cores PRU : le clignotement temps réel déterministe avance Schéma : IMG-beaglebone-black-avance-2-pru-blink-cores-temps-reel.svg — schéma bloc du PRU-ICSS de l'AM335x (2 cores 200 MHz, 8 Ko de mémoire d'instructions chacun, RAM partagée 12 Ko) relié directement aux broches d'entrée-sortie, Linux tournant à côté sans y toucher.
  • Bus CAN : exploiter les deux contrôleurs DCAN avec can-utils avance Schéma : IMG-beaglebone-black-avance-3-bus-can-dcan-candump.svg — deux BeagleBone Black reliées par un bus CAN différentiel (CAN_H, CAN_L, résistance de terminaison 120 Ω de chaque côté), transceivers SN65HVD230 sur les broches P8_17/P8_18.

Biblioteca de código — ejemplos escritos para esta placa

  • clignotante.py Python

    El script de arranque en un SBC: un LED en el conector GPIO parpadea a 1 Hz. python3-gpiod controla el chip GPIO directamente por el kernel, sin librerías propietarias.

  • bouton-gpio.py Python

    Un botón en el conector GPIO dispara una acción al pulsar y al soltar. Versión genérica por sondeo de la línea gpiod con antirrebote software de 30 ms.

  • capteur-i2c.sh Bash

    El reflejo Linux para cualquier sensor I2C: barrer el bus con i2cdetect, confirmar que el chip está y leer unos registros con i2cget. Salida directa en el terminal sin escribir una línea de código de…

  • surveillance-temperature.sh Bash

    Sin ninguna dependencia, este script lee el sensor térmico expuesto por el kernel Linux, registra temperatura y frecuencia de la CPU en CSV y muestra una alerta al superar un umbral. Perfecto para di…

  • capteur-dht11.py Python

    El driver Adafruit CircuitPython funciona en Linux estándar: hace bit-bang del protocolo de 1 hilo del DHT vía libgpiod. El script imprime temperatura y humedad cada 2 s, encajando las tramas inválid…

  • servo-pwm-sysfs.sh Bash

    La interfaz PWM del kernel Linux (sysfs) es idéntica en todas las placas: periodo 20 ms, impulso 0,5-2,5 ms. Este script bash barre un servo en 3 ciclos y luego corta la alimentación para evitar el z…

  • serveur-web-capteur.py Python

    Sin dependencias externas, la placa se convierte en servidor web: una página HTML muestra temperatura del SoC y uptime, y un endpoint JSON los expone a los cuadros de mando. El reflejo de red para mo…

  • reseau-ethernet.sh Bash

    En una instalación fija, una IP estática evita buscar la placa en el listado DHCP. El script crea (o corrige) un perfil manual de NetworkManager en el puerto Ethernet y luego verifica la pasarela con…

  • journal-cron.sh Bash

    El dúo cron + script corto es el automatizador universal de Linux: cada minuto, carga de CPU y temperatura se añaden a un CSV con rotación integrada. Cero dependencias, cero demonios, sobrevive reini…

  • veilleur-systemd.py Python

    Un LED en latido más un control de servicios cada segundo: el script se vuelve un demonio systemd con Restart=always, arrancado en el arranque. El patrón de robustez para una placa embebida sin panta…

Ejemplos y repositorios encontrados en línea