Guia de como atualizar o firmware no módulo Clone HM-10 BLE usando o Arduino Uno

Tempo de leitura: 5 minutes

Ao usar o módulo BLE HM-10, você deve encontrar alguns problemas realmente frustrantes, como você não pode enviar ou receber comandos AT, ou você não pode emparelhar o HM-10 com o telefone inteligente. Se você encontrar esses problemas, então seu módulo BLE HM-10 é certamente um Módulo HM-10 clonado. Sim, você ouviu direito, o módulo Cloned HM-10. No entanto, após atualizá-lo com firmware genuíno, ele atua como um módulo BLE HM10 genuíno e pode ser usado como módulo Bluetooth original.

O que é um módulo HM-10 clonado?

Os módulos HM-10 clonados são semelhantes ao módulo HM-10 Genuine. Mas para economizar o custo extra durante a fabricação, os fabricantes removeram o oscilador externo e deixaram espaço para o Oscilador externo. A manufatura utilizou o oscilador interno do módulo HM-10 para economia de custo. Além disso, o firmware é diferente do módulo HM-10 original.

O módulo BLE HM-10 é um módulo Bluetooth Low Energy (BLE) construído no Texas Instrument CC2540 ou CC2541. O fabricante chinês Jinan Huamao Technology é o desenvolvedor da placa e do firmware. O fabricante declarou na documentação oficial que existem vários clones disponíveis no mercado.

Como distinguir entre os módulos BLE HM10 genuíno e clone

Existem dois tipos de módulos BLE HM-10 disponíveis, o genuíno e o chinês clonado. Para identificar a diferença entre o módulo HM-10 clonado genuíno e chinês, existem alguns pontos para fazer isso.

1. O primeiro ponto é olhar para o módulo HM-10. Se o oscilador de cristal de 32KHz estiver disponível na placa HM-10, então ele é genuíno, senão o HM10 clonado chinês.

2. A segunda forma de encontrar é conectando o HM10 a qualquer Módulo Serial e enviando comandos AT. Se o HM-10 não responder aos comandos AT, ele é um módulo HM-10 clonado.

Como alterar ou atualizar o firmware do módulo Clone HM-10 BLE

Para mudar o firmware, realmente precisamos de uma boa mão na soldagem. Depois de alterar o firmware do módulo HM10. Você poderá acessar todas as suas funções. Existem dois métodos para atualizar o módulo HM10 clonado:

1. O primeiro método inclui o SmartRF Flash Programmer da Texas Instruments.

2. E o segundo método inclui o Arduino como programador para HM-10.

Neste tutorial, usaremos o segundo método de atualização do módulo HM-10, ou seja, Arduino como programador para HM-10. Então, vamos começar as etapas de Flash do módulo HM-10 usando Arduino UNO como programador. Como dito anteriormente, a solda será necessária para conectar o HM-10 ao Arduino. Precisamos soldar os fios aos pinos DEBUG_CLOCK, DEBUG_DATA, RESET_N do HM-10. Em seguida, o procedimento completo é explicado nas próximas seções.

 

Componentes necessários

Hardware

  • Arduino (UNO, Pro Mini)
  • Conversor de USB para TTL para conectar o Arduino ao PC (no caso do arduino pro mini ou similar)
  • Placa CC2541: HM-10, CC41
  • Alguns fios de ligação
  • Ferro de solda (para soldar o fio na placa HM-10)

Programas:

 

HM-10 Pinout

 

Diagrama de circuito

Primeiramente, solde os pequenos fios do jumper com os pinos da placa HM-10 e então prossiga com as conexões do circuito com o Arduino para atualizar o firmware dentro do módulo HM10 BLE.

Etapas para atualizar o firmware no módulo HM10 Bluetooth usando Arduino Uno

1. Primeiramente, baixe e carregue o CCloader Sketch no Arduino Uno usando o IDE do Arduino. Este arquivo zip contém todos os arquivos (arquivo .bin, CCloaderArduino.ino, CCLoader.exe) relacionados ao flash do firmware.

  • Abra o sketch com Arduino IDE
  • Configure a taxa de transmissão, placa, porta COM, programador etc.
  • Compile e envie o esboço para a placa UNO.

2. Agora conecte a placa HM-10/CC2541 ao Arduino de acordo com a tabela abaixo depois de soldar os fios na placa HM-10:

Nome do PinoCC2541 PinoArduino UNO Pino
DEBUG_CLOCKPin 7Pin 5
DEBUG_DATAPin 8Pin 6
RESET_NPin 11Pin 4
GNDPin 13GND
3.3 VPin 12
  1. V


3. Agora que a conexão do circuito está pronta, o próximo passo é gravar o Firmware HM-10 usando o Windows CCloader.exe. Mantenha todos os arquivos na mesma pasta, por exemplo, CCloader.exe, CC2541hm10v540.bin (no meu caso, salvei em Usuários> Área de Trabalho> HM10). O arquivo CC2541hm10v540.bin precisa ser extraído, pois o download será feito no formato Zip.

4. Agora, abra o prompt de comando e navegue até a pasta onde “CCloader.exe” está localizado. No meu caso, é C:\Users\caneto\Downloads\HM10

5. Escreva e execute o comando em formato como:

CCLoader.exe <COM Port> <Firmware.bin> 0

Nota: Substitua a porta COM pelo número da porta COM (por exemplo, 2,3,4,5). Não escreva COM5 ou COM4, apenas escreva o número da porta. Substitua também o arquivo Firmware.bin excluindo os sinais <> pelo nome do seu arquivo. Observe que se você estiver usando o Arduino Uno, use ‘0’ e se estiver usando outro Arduino, por exemplo, Micro então mude 0 para 1

No meu caso, o comando se parece com:

C:\Users\caneto\Downloads\HM10\CCLoader.exe 4 CC2541hm10v540.bin 0

Você também pode alterar o nome do firmware e o nome do CCloader. se você alterar o nome de CCloader.exe -> CCloader123.exe e CC2541hm10v540.bin -> CC2541.bin com Porta COM 5, o comando terá a seguinte aparência:

C:\Users\caneto\Downloads\HM10\CCloader123.exe 5 CC2541.bin 0

Você deve colocar o arquivo Firmware.bin na mesma pasta onde o CCloader está localizado.

6. Depois de executar o comando acima, o upload do firmware começará, apenas espere que ele termine. Quando terminar, o prompt de comando terá a seguinte aparência.

Agora está tudo pronto e o novo firmware foi instalado com sucesso e o CC2541 agora tem o firmware HM-10 genuíno.

7. Agora, se você deseja atualizar ou dowgrade o firmware, não precisa seguir os mesmos passos novamente. Basta conectar o Módulo HM-10 com um conversor USB para TTL com Rx, Tx, Vcc, GND e fazer os passos normais para atualizar o firmware.

Isso conclui o tutorial completo sobre a troca e atualização do módulo HM-10 com firmware original. Observe que, depois de piscar o firmware, o LED integrado do HM-10 para de brilhar, não significa que o HM-10 não está funcionando. O firmware não tem código LED ou pode ser o número PIN seria diferente. Se você tiver alguma dúvida ou sugestão, comente abaixo ou escreva para nossos fóruns.