Em um outro artigo aqui no Embarcados citei a CY8CKIT-049, uma mini-placa de avaliação para PSoC ARM Cortex-M0 da Cypress. Prático, simples e direto, é um ótimo e barato ponto de entrada para o mundo de Embarcados usando o ecossistema da Cypress. Mas você sabia que a Cypress possui muito mais? Inclusive, tem investido pesado na Internet das Coisas, tendo como fruto o ponto-chave desse artigo – A CY8CKIT-042-BLE, um kit voltado para projetos de baixo consumo com comunicação via Bluetooth Low Energy. A documentação completa para os ansiosos de plantão está neste link.

Quero de início agradecer ao André Trabulsi da Tradecomp por ter fornecido o Kit CY8CKIT-042-BLE, o item de fronteira para a linha PSoC 4 BLE da Cypress. E esse item realmente merece o nome de Kit – É fornecido com todo um aparato para realmente conhecer, experimentar e prototipar soluções com Bluetooth Low Energy – BLE – da Cypress.
Unboxing do Kit CY8CKIT-042-BLE
Verdadeiramente, isso é o que podemos chamar de Kit – É um prato cheio e bem servido de itens que auxiliam na avaliação, prototipação e desenvolvimento de soluções usando Bluetooth Low Energy com o ecossistema e estrutura da Cypress.

O kit acompanha os seguintes itens:

- Placa-base BLE Pioneer, pré-carregada com o móduleo CY8CKIT-142 PSoC 4 BLE;
- Módulo PRoC BLE CY5671;
- Dongle USB para BLE Cysmart CY5670;
- Guia de início rápido;
- Cabo USB A para USB Mini-B;
- 4 jumpers de 4 polegadas e 2 jumpers de sensor de proximidade de 5 polegadas;
- Bateria “moeda” 3V CR2032.
Vamos ver agora um pouco sobre cara um.
PSoC 4 BLE – Estrela do CY8CKIT-142
Em suma, a família PSoC 4 BLE da Cypress é estruturada com base em um ARM Cortex-M0, configurado para operar em 48 MHz, com versões que podem ter até 256 KB de memória Flash e até 32 KB de RAM.
O interessante em se tratando de PSoC – Sistemas em Chip Programáveis – é a habilidade de configurar componentes mais baixo-nível, tais como amplificadores operacionais, filtros, módulos PWM, Timers/Contadores e até mesmo módulos de I2C/SPI e UART. Para quem nunca mexeu com a parte de módulos configuráveis da Cypress, é literalmente “brincar de LEGO”, você arquiteta, monta e configura os componentes como blocos que fazem parte da sua aplicação.
Na Figura 4 é possível ver o esquemático de componentes do PSoC 4 BLE.

E somado a esse aparato todo, o SoC possui comunicação com Bluetooth LE 4.2 com Balun integrado, o que facilita os projetos com antena, vide Figura 5 com comparativo de estrutura empregada pela Cypress e concorrentes.

O PSoC 4 BLE é o núcleo do CY8CKIT-142, que acompanha o Kit. Basicamente, é um módulo que já expõe os sinais disponíveis no microcontrolador (PSoC), juntamente com a antena em PCB e demais itens necessários (cristal, etc). Veja na Figura 6 como é o módulo e observe pela legenda os componentes presentes.
Devidamente programado, você poderia, por exemplo, embutir esse módulo em algum projeto e/ou aplicação. Ou caso necessário, tomar por base as guidelines para embarcar diretamente em uma placa de sua autoria.
Em resumo, temos as seguintes características para o PSoC 4 BLE (basicamente escrevendo a Figura 4):
- CPU ARM® Cortex™-M0 operando até 48-MHz
- Até 256 KB de memória Flash e 32 KB SRAM
- Controlador de DMA de 8 canais
- Subsistema de Bluetooth Low Energy
- Rádio 2.4 GHz BLE com balun integrado
- Sensitividade em Rx de -92-dBm
- Potência de Tx até +3-dBm
- Novas características BLE 4.2
- Segurança aprimorada com LE Secure Connections
- Privacidade com uso eficiente de energia com LL Privacy 1.2
- Transmissão até 2.6x maior com LE Data Length Extension
- Modos flexíveis de Low-Power / Baixo Consumo
- Corrente de 1.3-µA em Deep-Sleep.
- Corrente de 150-nA em Hibernação.
- Corrente de 60-nA em parada.
- Parte Analógica Programável
- 4 Amplificadores Operacionais;
- 2 Comparadores Low-Power;
- 1 Conversor Analógico-Digital de 12 bits com amostragrem de 1-Msps;
- Parte Digital Programável
- 4 Blocos Digitais Universais (UDB)
- 4 Blocos de TCPWM de 16 bits;
- 2 Blocos SCBs, configuráveis como I2C, SPI ou UART;
- Interface I2C para áudio;
- Controlador LCD para até 4 sinais comum e 32 segmentos;
- Mapeamento flexível de GPIOs para todos os periféricos.
- Interface Touch Capacitivo
- Controlador touch Cypress CapSense com auto-ajuste SmartSense
- Biblioteca para suprote de gestos de 1 ou 2 dedos
- Temperatura de Operação
- Industrial: -40ºC a 85ºC
- Industrial Estendido: -40ºC a 105ºC
- Tensão de Alimentação para Operação: 1.7 – 5.5 V (Para rádio: 1.9 V em diante)
Um PSoC e um PRoC?!
Além do PSoC 4 BLE, o kit também acompanha um PRoC BLE. Em resumo, o PRoC não possui as partes modificáveis em mais baixo-nível que um PSoC BLE possui, tais como os Universal Digital Blocks (lembra do “LEGO” que comentei lá no início? Pois é! São esses caras). Isso deixa o chip mais barato, ao mesmo tempo que possui alguns recursos ainda assim interessantes.
Para a maioria dos mortais, pode acabar por ser algo bem interessante, dependendo do cenário que você for usar. Assim como o PSoC, o PRoC também possui módulos de comunicação e temporização programáveis, a saber, SCB e TCPWM. Ah, e não poderia esquecer do CapSense, tecnologia da Cypress para leitura de sinais capacitivos. Compare a Figura 7 com a Figura 4, e verá esses pontos em diferença.

O carinha que possui esse PRoC no kit é o módulo PRoC BLE CY5671, que assim como seu colega PSoC, também é uma placa que expõe os sinais, antena em PCB e demais itens necessários. Vide Figura 8 com detalhes do módulo em legendas.

Uma Baseboard para os módulos – BLE Pioneer
Essa baseboard não tem um partnumber ou página específica. Ela faz parte do Kit mesmo, e é chamada na documentação de BLE Pioneer.
Essa placa-base possui um gravador/depurador integrado, o que permite a mesma programar os dois módulos PSoC/PRoC que acompanham o kit. Além disso, possui regulador de energia, pinagem Arduino UNO R3, CapSense Slider, LED RGB, conector para jumper de proximidade, botão de usuário/reset, como também memória FRAM e até mesmo conector para pilha tipo “moeda”. Achou que é muito? Mais detalhes na foto com legendas na Figura 9.
Observe que o formato dos conectores para os módulos PSoC/PRoC é bem específico, sendo somente possível encaixá-los no formado adequado. Veja na Figura 10 como fica a placa-base com o módulo PSoC 4 BLE encaixado na placa.

Tal como mostrado na Figura 10, é possível alimentar a placa via USB e também programar o módulo plugado caso a placa esteja conectada em um computador.
E se você quer experimentar o modos de baixo consumo do Bluetooth Low Energy, na parte de trás da placa-base há um conector para a pilha “moeda”. Inserida a pilha, a placa pode funcionar de forma independente.
Um dongle BLE com Cysmart CY5670
Esse dongle é programado de fábrica para emular uma central BLE GAP, de forma a permitir o debug de aplicações BLE implementadas com o CY8CKIT-042-BLE Pioneer Kit.
Por meio desse dongle, você pode interagir com outros dispositivos BLE, inclusive, como citado, com uma aplicação construída com o Kit e/ou PSoC e PRoC.

Uma boa notícia é que o firmware dele não é “estático”, ou seja… Você pode reprogramar o dongle também! Ele possui um programador/depurador integrado, e quem faz o Bluetooth Low Energy no dongle também é um PRoC, como mostrado na legenda do componente na Figura 13.

PSoC Creator
Além de um bom hardware, a “coisa” precisa ter um bom ambiente de desenvolvimento. No caso da Cypress a IDE é o PSoC Creator com Componente BLE. Um ponto muito positivo é que a ferramenta é gratuita. E, na minha humilde opinião, o único ponto negativo da IDE é ser somente para Windows.
Em adição ao Bluetooth Low Energy, o PSoC Creator conta agora com as seguintes características:
- Suporte para Perfis e Serviços Bluetooth SIG
- Caso necessário, suporte para Serviços e Perfis Personalizados
Aplicação para Android e iOS
Um grande foco de aplicações BLE é na interface com dispositivos móveis tais como celulares smartphones, em produtos tais como pulseiras inteligentes, coleiras de cachorros, sensores em tênis, roupas e acessórios, etc.
Assim sendo, é primordial uma “base” para criar Apps em smartphones capazes de fazer interface com as aplicações embarcadas. Não pra menos, a Cypress fornece exemplos para Android e iPhone com código-fonte disponível das Apps, ou seja, você pode pegar como base, ver como funciona, aprender e fazer o seu!
Em se tratando da versão Android, o CySmart está disponível na Play Store neste link.

Veja mais sobre o Cysmart, download dos fontes e documentação neste link.

A App CySmart para Smartphones possui exemplos de telas para as seguintes aplicações de Bluetooth com serviços e perfis SIG BLE:
- Serviço de bateria.
- Serviço e Perfil de pressão sanguínea.
- Serviço e Perfil de velocidade de ciclismo e cadência.
- Serviço de Informação de Dispositivo.
- Perfil “Ache-me” e Serviço de “Alerta Imediato”.
- Serviço e Perfil para nível de glicose.
- Serviço e Perfil para ritmo cardíaco.
- Serviço e Perfil para temperatura corpórea.
- Perfil de proximidade, Serviço de perda de link, e Serviço de potência Tx.
- Serviço e Perfil de velocidade de corrida e cadência.
E além dessas telas, o App também apresenta telas personalizadas para perfis e serviços definidos pela Cypress:
- Serviço e Perfil CapSense® – Habilita comunicação BLE para dispositivos CapSense, como sensores de proximidades, botões e sliders.
- Serviço e Perfil Bootloader – Habilita atualizações de firmware over-the-air (OTA) para dispositivos Cypress.
- Serviço e Perfil RGB LED – Habilita o controle de cor e intensidade de brilho de LED via BLE.
Review no YouTube e Vídeos do Cysmart
Eu também fiz o review da placa no Youtube, e caso queira, você pode assistir a esse vídeo review logo abaixo.
Na sequência, demonstro algumas das funcionalidades do Kit em uso conjunto com o Cysmart, aplicativo fornecido para uso em dispositivos móveis. No meu caso, usei Android! Peço humildemente desculpas caso os vídeos não estejam tão bons quanto se queira.
Primeiro exemplo – Conexão via BLE no App Android.
Segundo exemplo – Sensor de proximidade com CapSense.
Terceiro Exemplo – Sensor Slider com CapSense
Quarto Exemplo – Controle de LED RGB
E então, o que achou? Poste aqui seus comentários!







