# BeagleBone Black

## Integrantes

<center>

| Estudante                     | Matricula |
| ----------------------------- | --------- |
| Artur Jackson Leal Fontinele  | 211030943 |
| Flávio Gustavo Araújo de Melo | 211030602 |
| Harryson Campos Martins       | 211039466 |
| Leandro de Almeida Oliveira   | 211030827 |

</center>

# Índice

- [Integrantes](#integrantes)
- [Introdução](#introdução)
- [Características](#características-da-beaglebone-black)
- [Firmware e Atualizações](#firmware-e-atualizações)
- [Unidade de Proteção e Segurança](#unidade-de-proteção-e-segurança)
- [Artigos acadêmicos relacionados](#artigos-acadêmicos-relacionados)
- [Produtos relacionados](#produtos-relacionados)
- [Bibliografia](#bibliografia)

## Introdução

<p align="justify">&emsp;&emsp;A BeagleBone Black é uma placa de desenvolvimento de hardware livre, projetada para aplicações em sistemas embarcados. Desenvolvida pela BeagleBoard.org Foundation, ela é capaz de executar sistemas operacionais como o Linux e oferece suporte a linguagens de programação como Python e C. Por suas características, é ideal para aplicações em Internet das Coisas (IoT), robótica, automação e educação tecnológica.</p>

<p align="justify">&emsp;&emsp;No mercado, a BeagleBone Black é muito utilizada em sistemas embarcados e projetos de IoT, como automação residencial, sensores inteligentes e monitoramento remoto, especialmente em versões com conectividade sem fio. É também comum no ensino e pesquisa em engenharia, além de aplicações em robótica, controle industrial, automação e soluções multimídia de baixo custo, como HMIs (Health Management Information System) e painéis interativos.</p>

<center>
Imagem 1: BeagleBone Black

![image](imagens/image2.png)

</center>

# Características da BeagleBone Black

## Unidade de Processamento:

- Microprocessador (MPU): A MPU é responsável por controlar a execução de softwares, gerenciamento de dados, conexão com periféricos externos e processamento de informações para diversas aplicações.
- Modelo: Texas Instruments Sitara AM3358BZCZ100
- Arquitetura: ARM Cortex-A8, baseada em uma arquitetura RISC eficiente para aplicações embarcadas de alta performance.
- Recursos Adicionais:
  - NEON Floating Point Accelerator: Aceleração de cálculos matemáticos de ponto flutuante e vetoriais.
  - SGX530 3D Graphics Engine: Capaz de renderizar gráficos 3D com desempenho de até 20 milhões de polígonos por segundo.
  - 2× PRUs (Programmable Real-Time Units): Unidades de processamento real-time independentes, 200 MHz, 32-bit, úteis para aplicações industriais.

## Memória:

- RAM (Volátil): 512MB DDR3L, operando a 800MHz, responsável pelo armazenamento temporário de dados em uso e aplicações em execução.
- Flash (Não-Volátil): 4GB eMMC onboard, utilizada para armazenar o sistema operacional, arquivos de configuração e dados do usuário de forma permanente.
- Slot para microSD: Disponível para expansão de armazenamento ou boot alternativo de sistema.
- EEPROM: Armazena informações críticas de boot, como configurações de hardware e identificação do dispositivo.

## Sistema Operacional:

- Tipo: Sistema Operacional de Propósito Geral (GPOS).
- Sistemas Compatíveis: Suporte a diversas distribuições Linux (Debian, Ubuntu) e Android, permitindo grande flexibilidade para projetos embarcados e aplicações específicas.

## Sensores e Atuadores:

### Sensores:

- A BeagleBone Black não possui sensores embarcados, mas oferece interfaces (GPIO, I2C, SPI, ADC) para conectar sensores externos como temperatura, pressão, luminosidade, entre outros.

### Atuadores:

- Permite o controle de dispositivos externos, como motores, relés e LEDs através das interfaces GPIO, PWM e UART.
- Essas interfaces possibilitam a atuação física em sistemas automatizados ou de controle.

### Conexão com a MPU:

- As interações são realizadas via barramentos digitais como GPIOs, I2C, SPI, UART, PWM e conversores ADC, conectando a MPU a sensores, atuadores e módulos de comunicação.

## Interfaces de Comunicação com Fio:

- UART: Disponível via cabeçalhos de 6 pinos (nível TTL, 3.3V), para comunicação serial assíncrona.
- I2C: 2 interfaces para comunicação com dispositivos de baixa velocidade.
- SPI: Presente para comunicação de alta velocidade entre dispositivos.
- CAN: 1 interface disponível para comunicação industrial robusta.
- Ethernet: Porta RJ45 10/100 Mbps para redes cabeadas.
- USB:
  - 1 porta USB 2.0 Host (conectar periféricos como teclado, mouse, etc.).
  - 1 porta USB 2.0 Client (miniUSB) para programação e alimentação.

## Interfaces de Comunicação sem Fio:

- Nativamente: A placa não possui Wi-Fi ou Bluetooth integrados.
- Expansível: Pode ser adicionada comunicação sem fio via dongles USB ou placas de expansão (Capas - "capes").

## Unidades de Entrada/Saída (I/O):

- GPIO: 69 pinos disponíveis pelos cabeçalhos P8 e P9, podendo ser configurados para diversas funções digitais.
- ADC: 7 canais analógicos para leitura de sinais variáveis, com tensão máxima de 1.8V.
- PWM: Suporta múltiplos canais para controle preciso de dispositivos como motores e servos.

## Fonte de Energia e Sistema de Alimentação:

### Tipos:

- Pode ser alimentada via:
  - miniUSB
  - Conector DC Jack (5VDC)
  - Pinos de alimentação nos cabeçalhos de expansão.

### Gerenciamento de Energia (PMIC):

- Utiliza o chip TPS65217C para gerenciamento de energia, incluindo conversão de tensões e controle de alimentação dos subsistemas.

### Backup de Energia:

- Não há um sistema interno de backup explícito, mas podem ser implementados circuitos externos se necessário.

### Circuitos de Reset:

- Possui botão físico de reset e circuitos internos para reinicialização segura do sistema.

### Supervisores de Energia:

- Implementados no PMIC, para monitoramento e gerenciamento de falhas de energia.

## Firmware e Atualizações:

- Firmware: Utiliza o bootloader U-Boot, altamente configurável e padrão em sistemas Linux embarcados.
- Atualizações OTA (Over The Air): Possível através dos sistemas operacionais instalados (como Debian), embora dependa de configuração específica de rede e software.

## Unidade de Proteção e Segurança:

### Criptografia:

- Não possui módulos de criptografia de hardware nativos. A proteção de dados é gerenciada em nível de software, dependendo do sistema operacional utilizado.

### Hardware Security Module (HSM):

- Não integra HSM dedicado.

### Outras Características de Segurança:

- A segurança é responsabilidade do software implementado (por exemplo, criptografia via OpenSSL no Linux).
- Não possui autenticação física, VPN ou TLS no nível do hardware, mas essas camadas podem ser configuradas em sistemas operacionais compatíveis.

## Armazenamento Externo:

- Slot para microSD: Permite a expansão do armazenamento ou boot alternativo.
- eMMC: 4GB integrados na placa.
- Expansão via USB: Pode utilizar pen drives, HDs externos e SSDs via portas USB.

## Interface com o Usuário (UI):

### Displays:

- Suporte a saída HDMI tipo D (micro-HDMI), com resoluções de até 1920x1080@24Hz.
- Interface LCD via cabeçalhos P8 e P9, permitindo conexão de displays touch ou de baixa potência.

### Botões:

- Botão de Reset: Reinicia o sistema manualmente.
- Botão de Boot: Permite selecionar o dispositivo de boot.
- Botão Power: Controla o estado de energia.

### LEDs:

- 1 LED de alimentação para indicação de status de energia.
- 2 LEDs Ethernet para indicar atividade e conexão de rede.
- 4 LEDs de usuário programáveis para sinalizações personalizadas.

<center>
Imagem 2: Connectors, LEDs, and Switches

![alt text](imagens/image1.png)

</center>

<center>

Imagem 3: Key Components
![alt text](imagens/image.png)

</center>

## Artigos acadêmicos relacionados

### 1. **Embedded Linux Based Smart Secure IoT Intruder Alarm System Implemented on BeagleBone Black**

- **Referência:** Springer, 2021
- **DOI:** [10.1007/978-981-16-0708-0_28](https://doi.org/10.1007/978-981-16-0708-0_28)
- **Link do artigo no Periódicos da CAPES:** [Clique aqui](https://www-periodicos-capes-gov-br.ez54.periodicos.capes.gov.br/index.php/acervo/buscador.html?task=detalhes&source=all&id=W3135021624)
- **Autores:** Jignesh Patoliya, Sagarkumar Patel, Miral Desai, Karan K. Patel
- **Tópico:** Embedded Systems and FPGA Design

**Contribuição do Artigo:**  
O artigo apresenta um sistema de alarme inteligente e seguro baseado em IoT, utilizando a BeagleBone Black, sensores de movimento (PIR), AWS e app Android. Enfatiza o uso do Linux embarcado, drivers de dispositivo e Trusted Platform Module (TPM) para segurança durante o boot.

**Relação com a BeagleBone Black:**  
Demonstra a BeagleBone Black como núcleo de uma aplicação real de IoT, abordando aspectos de sistema operacional, segurança embarcada, conectividade em nuvem e controle de dispositivos físicos.

---

### 2. **The Challenge of Testing the ARM Cortex-A8 Microprocessor Core**

- **Referência:** IEEE, 2006
- **DOI:** [10.1109/test.2006.297638](https://doi.org/10.1109/test.2006.297638)
- **Link do artigo no Periódicos da CAPES:** [Clique aqui](https://www-periodicos-capes-gov-br.ez54.periodicos.capes.gov.br/index.php/acervo/buscador.html?task=detalhes&source=all&id=W2144746612)
- **Autora:** Teresa McLaurin
- **Tópico:** VLSI and Analog Circuit Testing

**Contribuição do Artigo:**  
O artigo discute os desafios no teste de fabricação do núcleo do microprocessador ARM Cortex-A8, incluindo o uso de técnicas de Design for Testability (DFT). Aponta soluções para validar circuitos altamente complexos e reutilizáveis.

**Relação com a BeagleBone Black:**  
Foca no processador utilizado pela BeagleBone Black (ARM Cortex-A8), permitindo compreender as complexidades envolvidas no desenvolvimento e teste do hardware que viabiliza sua operação.

### 3. **IoT-Based Health Monitoring System Using BeagleBone Black with Optical Sensor**

- **Referência:** De Gruyter, 2019
- **DOI:** [10.1515/joc-2019-0115](https://doi.org/10.1515/joc-2019-0115)
- **Link do artigo no Periódicos da CAPES:** [Clique aqui](https://www-periodicos-capes-gov-br.ez54.periodicos.capes.gov.br/index.php/acervo/buscador.html?task=detalhes&source=all&id=W2965589198)
- **Autores:** K. Durga Saranya, R. Krishnamurthy, K. Srinivas, T. D. N. S. S. Sarveswara Rao, I. S. Amiri
- **Tópico:** Internet of Things and AI

**Contribuição do Artigo:**  
Propõe um sistema de monitoramento remoto de saúde baseado em sensores de temperatura, batimentos cardíacos e luminosidade, integrando GSM e nuvem para transmissão de dados a médicos, com uso da BeagleBone Black como unidade central.

**Relação com a BeagleBone Black:**  
Explora o uso da BeagleBone Black em um contexto de saúde digital com IoT, mostrando sua capacidade de integração com sensores, conectividade remota e utilidade social em aplicações médicas.

## Produtos relacionados

[Raspberry Pi 3 Model B](https://www.raspberrypi.com/products/raspberry-pi-3-model-b/): Lançada em 2016, essa placa trouxe melhorias importantes em relação às gerações anteriores, como Wi-Fi e Bluetooth integrados. Seu objetivo era oferecer mais poder de processamento mantendo o baixo custo, ampliando o uso para projetos de IoT e automação.

[Arduino Due](https://store.arduino.cc/products/arduino-due): Apresentado em 2012, foi o primeiro Arduino baseado em um processador ARM de 32 bits, trazendo maior capacidade de processamento e mais pinos de entrada/saída, focando em aplicações mais exigentes em termos de desempenho.

[Intel Galileo Gen 2](https://www.intel.com.br/content/www/br/pt/products/sku/83137/intel-galileo-gen-2-board/specifications.html): Lançada em 2014, essa placa da Intel era voltada para makers e desenvolvedores que buscavam compatibilidade com Arduino, mas com o poder de processamento de arquiteturas Intel. Foi uma tentativa de unir o mundo maker ao universo dos PCs tradicionais.

[PandaBoard ES](https://www.digikey.com.br/pt/product-highlight/t/texas-instruments/pandaboard): Anunciada em 2011, essa placa foi pensada para aplicações mais robustas de processamento multimídia, usando processadores ARM Cortex-A9. Focava em desenvolvimento de sistemas embarcados e prototipagem de dispositivos móveis.

[UDOO Neo](https://www.udoo.org/udoo-neo/): Lançada em 2015, a UDOO Neo é uma combinação entre um Arduino e um pequeno computador embarcado, com conectividade Wi-Fi e Bluetooth integradas. Ideal para projetos de robótica, IoT e prototipagem rápida, ela permite rodar Linux e também programar diretamente em Arduino.

### Tabela Comparativa

| Característica   | BeagleBone Black          | Raspberry Pi 3B               | Arduino Due                     | Intel Galileo Gen 2          | PandaBoard ES                 | UDOO Neo          |
| ---------------- | ------------------------- | ----------------------------- | ------------------------------- | ---------------------------- | ----------------------------- | ----------------- |
| Processador      | AM3358 ARM Cortex-A8 1GHz | BCM2837 ARM Cortex-A53 1.2GHz | AT91SAM3X8E ARM Cortex-M3 84MHz | Intel Quark SoC X1000 400MHz | OMAP4460 ARM Cortex-A9 1.2GHz | i.MX 6SoloX 1GHz  |
| RAM              | 512MB DDR3                | 1GB LPDDR2                    | 96KB SRAM                       | 256MB DDR3                   | 1GB DDR2                      | 1GB DDR3          |
| Armazenamento    | 4GB eMMC                  | MicroSD                       | 512KB Flash                     | 8MB Flash                    | SD/MMC                        | 4GB eMMC          |
| GPIO             | 69 pinos                  | 40 pinos                      | 54 pinos                        | 20 pinos                     | 28 pinos                      | 36 pinos          |
| USB              | 1 Host, 1 Client          | 4 Host                        | 2 Micro                         | 2 Host                       | 2 Host                        | 2 Host            |
| Ethernet         | 10/100Mbps                | 10/100Mbps                    | Não                             | 10/100Mbps                   | 10/100Mbps                    | 10/100Mbps        |
| Wi-Fi            | Não                       | Sim                           | Não                             | Não                          | Não                           | Sim               |
| Bluetooth        | Não                       | Sim                           | Não                             | Não                          | Não                           | Sim               |
| Video            | microHDMI                 | HDMI                          | Não                             | Não                          | HDMI                          | HDMI              |
| Preço Lançamento | $45                       | $35                           | $49                             | $70                          | $174                          | $49.90            |
| SO Suportado     | Linux                     | Linux, Windows IoT            | Não (Arduino)                   | Linux                        | Linux, Android                | Linux, Android    |
| ADC              | 7 canais (12-bit)         | Não                           | 12 canais (12-bit)              | 6 canais (12-bit)            | Não                           | 6 canais (12-bit) |

### Principais Diferenças

- **BeagleBone Black**: Destaca-se pelo número de GPIOs e PRUs para aplicações de tempo real.
- **Raspberry Pi 3B**: Superior em conectividade wireless e comunidade de suporte.
- **Arduino Due**: Foco em aplicações de microcontrolador e prototipagem rápida.
- **Intel Galileo Gen 2**: Compatibilidade com shields Arduino e arquitetura x86.
- **PandaBoard ES**: Maior potência de processamento com dual-core mas custo mais elevado.
- **UDOO Neo**: Hybrid board com processador dedicado para Arduino-compatibilidade.

### Referências Bibliográficas

1. BEAGLEBOARD.ORG. *BeagleBone Black System Reference Manual*. EUA: BeagleBoard.org, 2025. Disponível em: [https://docs.beagle.cc/boards/beaglebone/black/ch01.html](https://docs.beagle.cc/boards/beaglebone/black/ch01.html). Acesso em: 23 abr. 2025.
2. BEAGLEBOARD.ORG. *BeagleBone Black Wiki*. EUA: GitHub/BeagleBoard, 2025. Disponível em: [https://github.com/beagleboard/beaglebone-black/wiki#user-content-BeagleBone_Black_Description](https://github.com/beagleboard/beaglebone-black/wiki#user-content-BeagleBone_Black_Description). Acesso em: 23 abr. 2025.
3. BEAGLEBOARD.ORG. *BeagleBone Black*. 2025. Disponível em: [https://www.beagleboard.org/boards/beaglebone-black](https://www.beagleboard.org/boards/beaglebone-black). Acesso em: 23 abr. 2025.