Buscando causar uma impressão única durante uma recente procura de emprego, a desenvolvedora embarcada Marian Buschsieweke criou um cartão de visita de PCB inspirado no Arduboy. Cartão de visita PCB de Marian apresenta uma matriz de 90 LEDs, seis botões de entrada e um STM32 executando o RIOT OS. Com seu design econômico, o cartão de visita é visualmente impressionante e reutilizável, e demonstra as habilidades incorporadas de Buschsieweke para potenciais empregadores.
Todos os componentes eletrônicos se encaixam em um lado da placa de circuito impresso. A seção atraente contém 90 LEDs de montagem em superfície configurados como uma matriz. Seis botões de pressão replicam os controles do gamepad. O Marian’s PCB Enterprise Card tem um conector USB-A integrado para alimentação.
Buschsieweke escolheu uma STMicroelectronics Microcontrolador STM32G para executar o cartão. Ele contém um núcleo Arm Cortex-M0+ com 8 kilobytes de RAM e 64 kilobytes de Flash. O pacote TSSOP fornece 20 pinos, dos quais 13 estão disponíveis para GPIO. O design do cartão de visita divide os pinos de E/S entre a matriz de LED e os botões de entrada.
O microcontrolador aciona a matriz de LED com a técnica Charlieplexing. Este método permite controlar um grande número de dispositivos com um número relativamente pequeno de pinos. A desvantagem é que é preciso um pouco mais de software program para fazer a matriz funcionar e, para LEDs, ele depende de truques de persistência de visão (POV). Apesar dessas desvantagens, é uma técnica eficaz.
Exemplo de LEDMon mostrando seta para baixo (📷: mari-bu.de)
Até mesmo os botões de entrada utilizam Charlieplexing para conservar pinos. No entanto, essa abordagem introduz um problema potencial: ghosting. O ghosting ocorre quando um usuário pressiona duas teclas simultaneamente, fazendo com que uma tecla ‘fantasma’ não pressionada pareça ter sido pressionada. A resposta de Buschsieweke a esse problema potencial é simples: simplesmente ignore!
Dois objetivos que eram importantes para Buschsieweke eram custo e reutilização. O PCB Enterprise Card de Marian precisava ser barato o suficiente para ser doado. Um exemplo de considerações de custo period como alimentar o circuito. Inicialmente, Buschsieweke considerou uma porta USB-C e um regulador. No entanto, a solução foi criar uma porta USB-A usando o PCB. Os PCBs padrão têm 1,6 milímetros e são um pouco finos demais, então um pouco de solda é necessária nos pinos +5V e GND do conector USB.
A decisão de Buschsieweke de basear o conceito na Garoto Arduino design aborda outro objetivo: reutilização. Os usuários podem continuar jogando os jogos que vêm com o Marian’s PCB Enterprise Card, desenvolver novos ou usar a placa inteira para aprender sobre um sistema operacional em tempo actual (RTOS).
O cartão de visita PCB da Marian é executado RIOT SO. RIOT é um RTOS de código aberto com foco em dispositivos IoT. Buschsieweke o escolheu porque seu sistema de construção modular baseado em módulos externos utiliza eficientemente a memória limitada em microcontroladores IoT. (E porque Buschsieweke é um mantenedor do projeto!)
Há dois jogos disponíveis atualmente. LEDMon é um clone do “Simon Says”. A matriz LED exibe uma sequência de teclas que você repete. O outro é Flappy LED, um clone do jogo para celular Flappy Birds. No futuro, Buschsieweke espera melhorar o código da matriz LED e adicionar jogos de bitmap clássicos como Tetris ou Snake. Infelizmente, estamos desapontados em informar que não há planos para portar Doom… neste momento.
KiCad Render (📷: mari-bu.de)
Você pode baixar os arquivos de design e código do KiCad em Cartão de visita PCB da Marian no GitHub Repositório. Para detalhes sobre o design de {hardware} e software program, confira o Buschsieweke’s postagem de weblog em profundidade.