Um módulo Bluetooth brasileiro – BLE1010

Hoje a palavra da vez é conectividade via rádio-frequência. Bluetooth, WiFi, LoRa, ZigBee, GSM. Uma sopa de letrinhas cada qual adaptada em seu cenário de distância, banda e aplicação. Porém, cada país tem suas regulamentações que determinam como cada banda de frequência será usada, e os aparelhos eletrônicos que fazem uso de recursos de rádio-frequência precisam estar adequados às normas nacionais vigentes. Pensando nisso a empresa SoftEletrônica lançou o BLE 1010, baseado no chipset CSR1010 da Qualcomm e que conta com homologação da Anatel.

Deixo aqui meu agradecimento ao Sandro Ricci, Thiago Camargo e Rafael Borgert da SoftEletrônica, os quais tiveram a consideração para me enviar amostras do BLE-1010 para estudo e análise, como também me auxiliaram com suporte técnico e documentação. Obrigado!

Sobre o BLE1010

No coração da BLE1010 está o CSR1010 da Qualcomm, que basicamente é um microcontrolador com transceiver Bluetooth 4.1 integrado, e que conta com as seguintes características:

  • Microcontrolador
    • Arquitetura: 16 bits
    • Frequência de Operação: 16 MHz
  • Bluetooth
    • Versão de Bluetooth 4.1
    • Tecnologias Bluetooth: Bluetooth Low Energy, CSRmesh™
    • Máxima Potência de Saída: Até +9dBm
    • Rádio Bluetooth: 50 Ω, -93 dBm de sensibilidade do receptor
  • Gestão de Energia
    • Máxima tensão de entrada: 4,4V
  • Memória
    • ROM: 64 KB
    • RAM: 64 KB
  • Interfaces de Comunicação
    • I²C, SPI, UART
  • Sinais de Entrada e Saída:
    • Entradas analógicas: 3
    • GPIOs: 12
    • PWM: 4
    • Decodificador de Quadratura: 2 decodificadores de quadratura em hardware

Esse microcontrolador por si só já é bem versátil. E sobre ele foi construído o conjunto de recursos que compreende o Módulo BLE1010.

Módulo BLE1010

De forma a expor os recursos do CSR1010 de maneira prática para desenvolvedores de hardware e software, a SoftEletrônica tomou por base o CSR1010 numa placa com os meios necessários para o chip e sinal Bluetooth funcionarem (a saber antena, cristais, etc), além de mais memória. Por fim, somado à cereja do bolo que é o firmware que faz uso de Comandos AT para o manuseio dos recursos de Bluetooth, GPIO, sinais analógicos e até PWM do chip. Esse conjunto todo é o BLE1010.

Diagrama de blocos do BLE1010
Diagrama de blocos do BLE1010. Fonte: http://www.softeletronica.com.br/

O BLE1010 é fornecido na forma de uma PCB com a antena de 2,4 GHz, somado ao CSR 1010 e demais circuitos necessários, como pode ser observado no módulo à esquerda na figura abaixo. Adicionalmente ao já presente no CSR1010, também foi adicionada uma memória EEPROM de 512 Kbits para armazenar o programa e atualizações realizadas via OTA (Over-The-Air).

Também na tabela que aparece à direita na figura abaixo é possível ver em detalhes os pinos e correspondentes sinais expostos pelo BLE1010. 

Diagrama e Tabela de pinos e sinais do BLE1010. Fonte: http://www.softeletronica.com.br/

Basicamente, todos os sinais do CSR1010 estão expostos no módulo BLE1010, salvo o PIO2 que é usado como VCC da EEPROM presente no módulo. Os demais sinais de interface de entrada e saída podem ser acessados e manipulados por meio dos recursos expostos pela pilha de Comandos AT.

O Módulo BLE1010 é mais voltado para aplicações onde ele será soldado em uma placa de hardware, podendo ou servir como “ponte” Bluetooth-Serial com algum outro microcontrolador ou processador já presente, ou simplesmente ser o executor da ação toda, dado que seus sinais de interface são controláveis, seja via Serial, seja via Bluetooth.

Como todo e qualquer cuidado ao fazer interface com outros circuitos, é importante prestar atenção aos valores permitidos para tensão elétrica, seja para alimentação do circuito, seja para os sinais de entrada/saída e comunicação. Para o BLE1010 o módulo opera com no máximo 3,6 V.

Tabela de valores máximos de operação para BLE1010. Fonte: http://www.softeletronica.com.br/

BLE1010 – Placa de 5 Pinos

Para os entusiastas mais “makers” de plantão, há também a opção da BLE1010 em uma placa de 5 pinos, onde o módulo é basicamente usado na forma de ponte Bluetooth-Serial.

Nessa placa, que é mostrada na figura abaixo à esquerda, estão expostos os sinais de alimentação elétrica, comunicação Serial UART e sinal de status da conexão BLE. Os mesmos sinais estão também referenciados na tabela da mesma imagem, à direita, assim como também um descritivo do LED de operação da placa.

Módulo BLE1010 de 5 Pinos com tabelas de sinais. Fonte: http://www.softeletronica.com.br/

Um ponto interessante dessa placa de 5 pinos é que ela possui um jumper (A-B) que permite selecionar a tensão de operação entre 5 V ou 3,3 V, também cuidando do nível de sinal para UART RX. Dessa forma, é possível usar o módulo com Arduino, PIC, 8051 e demais microcontroladores e sistemas que estejam operando em 5 V, ou usar com sistemas que operam em 3,3 V, bastando tomar o cuidado com o jumper de seleção de tensão.

O único botão presente na placa é o de reset, que reinicia o CSR1010 para operação.

Comandos AT

Além do tamanho bem pequeno do módulo BLE1010, um destaque respeitável fica para o firmware para controle do sistema via Comandos AT, cuja tabela de comandos está presente em uma documentação exposta na língua portuguesa.

Salvo os muitos exemplos chineses que temos visto por aí, com todo o respeito, é bom ter uma documentação já na língua nativa, contando com exemplos e detalhes dos comandos e parâmetros de cada um deles.

Parte do Sumário do Manual de Comandos AT do BLE1010. Fonte: http://www.softeletronica.com.br/

A pilha de Comandos AT do BLE1010 permite controlar toda sorte de recursos do módulo, tais como GPIO, PWM e ADC, como mencionei anteriormente, além de controlar os modos de operação do sinal Bluetooth, modos de Sleep (para economia de energia), modo de operação da Serial, dentre outros.

Cada módulo BLE1010 pode operar tanto como mestre ou como escravo, de forma que um módulo pode conversar com outro e vice-versa, como também possui modos de operação que descrevem como o módulo irá tratar o fluxo de mensagens, comandos e notificações via Bluetooth.

Homologação da Anatel

Todo aparelho que trabalha com sinais de rádio-frequência deve passar por homologação da Anatel para garantir a conformidade conforme as leis vigentes para operação desse tipo de recurso na banda autorizada.

Em se tratando da banda de 2,4 GHz, o BLE1010 está homologado pela Anatel para operação no Brasil, o que facilita sua adoção em equipamentos comerciais.

Registro da Anatel do Módulo BLE1010. Fonte: http://www.softeletronica.com.br/

Um breve comparativo

Há já algum tempo o mercado tem visto diversas opções de módulos Bluetooth com interface serial UART e pilha de Comandos AT, como os famosos HC-05 e HC-06, que se consagraram no meio maker como pontes Bluetooth-Serial para Bluetooth 2.0.

Já para Bluetooth 4.0 temos hoje opções como a HM-10, mostrada abaixo, que faz uso do microcontrolador CC2541 da Texas Instruments.

Módulo Bluetooth 4.0 HM-10. Fonte: http://www.martyncurrey.com

O Módulo BLE1010 de 5 pinos se assemelha bastante ao similar chinês, com a exceção de possuir 5 pinos ao contrário do HM-10, que possui 6 pinos. O pino BRK do HM-10 serve para encerrar uma conexão bluetooth, sendo, assim, abreviação de “break”. No BLE1010 esse recurso é feito pelo comando AT+DROP via Serial.

Foto frente e verso do BLE1010

Após uma pesquisa rápida no acervo da Anatel, não foi achado registro da homologação do HM-10.

Uma outra grande diferença também está aqui: documentação. Com relação ao HM-10 seu suporte se dará por conta de sites diversos para saber a documentação (nem sempre a mais precisa), versão de firmware, suporte, etc. 

Testes e Demonstração

Para fazer o teste rápido de ponte Bluetooth-Serial do módulo BLE1010 eu fiz uso de um Arduino DUE e um celular com Android. Por se tratar de Bluetooth 4.0, a tradicional abordagem de SPP não se aplica, sendo necessário usar aplicativos que façam uso de recursos GATT. Eu testei com o Serial Bluetooth Terminal, aplicativo de Android capaz de conectar a módulos Bluetooth V2 e V4 em diante.

Serial Bluetooth Terminal. Fonte: https://play.google.com

Uma vez instalado o aplicativo no celular Android, é preciso fazer a montagem para alimentação e comunicação do módulo BLE1010 com Arduino DUE. Conectei o módulo com alimentação 3,3 V do Arduino DUE, e liguei TXD -> RXD e RXD -> TXD entre módulo e Arduino DUE.

Para teste, simplesmente carreguei no Arduino DUE o programa padrão de “MultiSerial”, que permite a interação com várias portas seriais, de forma a acessar, controlar e monitorar o BLE1010.

Segue a imagem abaixo mostrando a minha montagem final com resultados.

Foto dos meus testes com o BLE1010 usando Arduino DUE.

E então, o que achou do BLE1010? Deixe aqui seus comentários!

Graduado em Engenharia de Computação com ênfase em Sistemas Embarcados pela USP, campus São Carlos, possui MBA em gestão de TI pela UNIFRAN e Mestrado em Ciências pela EESC-USP. Atua como Team Leader na PST Electronics - Pósitron, sendo também professor de pós-graduação e instrutor de cursos na área de sistemas embarcados. Como hobby, gosta de programar tudo que pode ser programado, escovando bits sempre ao lado de um bom café. Gosta de compartilhar seu conhecimento por meio de palestras, e publicando artigos como colaborador dos sites Embarcados e FilipeFlop. Em 2018 foi premiado como Microsoft Most Valuable Professional em Azure IoT pela Microsoft.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Home » Comunicações » Um módulo Bluetooth brasileiro – BLE1010
Comentários:
Notificações
Notificar
guest
8 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Igor
Igor
18/04/2020 22:35

Muito interessante,eu consigo conectar este módulo em um amplificador de áudio?

Igor
Igor
18/04/2020 15:33

Eu consigo conectar este módulo em uma placa amplificadora ?

Marcelo
Marcelo
08/12/2019 16:57

Pretendo fazer um circuito que grave arquivos txt com dados de medidas em um cartão de memória lá no arduino. Consigo copiar esses arquivos para o meu PC via esse bluetooth? Ele viraria uma unidade semelhante a quando colocamos um celular na USB?

yuri lima
yuri lima
04/02/2019 11:44

Boa, onde poderia encontrar a venda?

Ivan Assaritti
Ivan Assaritti (@iaeng)
Reply to  yuri lima
01/09/2019 15:17
AIMORE HOMSI
AIMORE APARECIDO HOMSI
04/02/2019 07:30

Parabéns pelo artigo. Deu gosto de ler. Grande abraço e sucesso.

Reginaldo José da Silva
Reginaldo José da Silva
31/01/2019 05:58

Bom dia
Muito boa a matéria, parabéns!
Terias o contato da empresa fabricante?

Ivan Assaritti
Ivan Assaritti (@iaeng)
Reply to  Reginaldo José da Silva
01/09/2019 15:20

Olá Reginaldo. Entra neste link: http://www.softeletronica.com.br/ble.html. Em qualquer um dos documentos você encontrará o contato do fabricante.

Talvez você goste:

Séries

Menu