XPboard placa para o XPsys
Para desenvolver projeto XPsys que é um sistema embarcado para o ESP32 utilizando a interface gráfica do ST7920, encomendei a fabricação de uma placa que eu mesmo projetei no Software Eagle para utilizar com o Doit ESP32 DevKit v1.
Este é um projeto Open Source Hardware (OSHW) a paǵina do registro se encontra neste link, você é livre para utilizá-lo, gostaria que você mencione meu nome no projeto pois dediquei parte do meu tempo livre para desenvolvê-lo. SOMENTE O HARDWARE É OPEN SOURCE, o XPsys é um software livre sobre licença GNU v3.
O Software XPsys pode ser conferido no poster abaixo:
XPsys – Sistema para ESP32 com ST7920
O XPsys é um sistema embarcado desenvolvido para o ESP32 com o monitor ST7920, usando a biblioteca u8g2 para execução do sistema
O circuito foi desenvolvido no Eagle Software, coloquei elementos que facilitam na utilização especificamente com a biblioteca u8g2, evitei usar jumpers de pinos e utilizei jumpers de soldagem para utilização do circuito, abaixo segue o esquemático do circuito:
Para a parte de layout da placa, utilizei uma placa de 100mm x 100mm o que foi suficiente para todos os componentes que eu estava desejando utilizar, tentei aproveitar quase todo o espaço útil da placa.
No Kicad consegui gerar alguns 3D que ficaram idênticos ao projeto montado fisicamente (basta deslisar para o lado):
Fisicamente o projeto ficou bom, dentro das minhas expectativas, creio que ainda tenho muito a melhorar, abaixo segue a XP board montada fisicamente com todos os componentes:
Detalhamento dos Componentes:
Nesta placa você pode usar os próprios botões da biblioteca u8g2 que utiliza 6 portas do ESP32 sendo elas:
Pino | Botão |
GPIO 26 | Acima |
GPIO 14 | Abaixo |
GPIO 25 | Esquerdo |
GPIO 27 | Direito |
GPIO 12 | Selecionar |
GPIO 13 | Voltar |
Para o XPsys utilizei uma porta analógica para os botões, economizando 5 pinos do ESP32, para dividir os botões utilizei resistores como configuração de divisor de tensão, sendo possível adicionar muitos resistores, o ruim desta técnica é que quanto mais botões a leitura fica mais sensível a variações de tensão, montei um tabela utilizando a tela de leitura de “Leitura de pino dos botões”, com a tensão máxima estável de 3,30 V:
Botão | Resistor (10k Rbutton) | Leitura ADC (Max 4095) | Tensão |
Esquerdo | 1 kΩ | 160 | 0,13 V |
Acima | 4,7 kΩ | 1040 | 0,84 V |
Abaixo | 8,2 kΩ ou 10KΩ | 1598 | 1,29 V |
Direito | 15 kΩ | 2110 | 1,70 V |
Selecionar | 33 kΩ | 2743 | 2,21 V |
Voltar | 47 kΩ | 3011 | 2,43 V |
Para quem quer testar esse projeto em um Protoboard aqui está abaixo a montagem que deve ser seguida:
As conexões do display ST7920 deve ser conforme a tabela abaixo:
Pino ST7920 | Descrição | Pino ESP32 |
1. VSS / GND | Comum | GND |
2. VDD / 5V | Alimentação | Vin / 5V |
3. Vo | Ref. Contraste | Potenciômetro |
4. RS | Selec. Registrador | GPIO35 |
5. RW | Escrita Registrador | GPIO32 |
6. ENABLE | Habilitar I/O | GPIO33 |
15. PSB | Comun. Serial / Paralela | GND |
17. RESET | Reiniciar LCD | GPIO27 |
19. BLA | Anodo LED | 5V |
20. BLK | Catodo LED | GND |
Log de Mudanças:
Para a versão 1.2b do XPboard adicionei um resistor de pull-up no GPIO35 da placa pois este pino fui descobrir que não possui um resistor de pull-up internamente o que não deixava exibir nenhuma imagem no display gráfico, caso você tenha baixado a versão 1.1 basta dicionar um pequeno resistor de 10K próximo dos dois resistores de I²C (SDA e SCL) como está na imagem abaixo:
Na versão 1.2b já corrigi este problema, você pode baixar tranquilamente
Downloads dos Arquivos
Abaixo estou disponibilizando os arquivos Gerb do projeto para quem quiser encomendar no site da jlcpcb ou outro site qualquer. Eu encomendei no jclpcb e veio tudo OK.
XPboard – Gerber – V1.2b 521.16 KB 23 downloads
Aqui estão os arquivos gerados em Gerber pronto para enviar para a fabricação…XPboard – Gerber – V1.1 433,1 KB 60 downloads
Aqui estão os arquivos gerados em Gerber pronto para enviar para a fabricação…Os arquivos de Layout e também de Board estarei também disponibilizando, lembrando que a versão utilizada é o Software Eagle 9.4.0:
XPboard – Esquematico e Layout – Eagle – V1.2b 1.09 MB 24 downloads
Arquivo de Layout e Esquemático do projeto do XPboard, pode ser aberto no Eagle…XPboard – Esquematico e Layout – Eagle – V1.1 430 KB 15 downloads
Arquivo de Layout e Esquemático do projeto do XPboard, pode ser aberto no Eagle…Também consegui importa o projeto para o Kicad, que pode ser aberto na versão 5.1.5 ou superior:
XPboard – Esquematico e Layout – Kicad – V1.2b 332Kb 24 downloads
Arquivo de Layout e Esquemático do projeto do XPboard, pode ser aberto no Kidac…Ainda irei fazer um pequeno manual sobre esta placa, por enquanto estou disponibilizando estes arquivos.