XPboard placa para o XPsys

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.

Projeto foi certificado pela OSHW com a id BR000002.

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

XPboard V1.2
XPboard V1.0

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:

Esquemático do XPboard v1.2b

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):

Representação 3D do XPBoard – Parte Inferior
Representação 3D do XPBoard – Parte Inferior
Representação 3D do XPBoard – Parte Superior
Representação 3D do XPBoard – Parte Superior
Representação 3D do XPBoard – Parte Superior sem display
Representação 3D do XPBoard – Parte Superior da placa

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:

PinoBotão
GPIO 26Acima
GPIO 14Abaixo
GPIO 25Esquerdo
GPIO 27Direito
GPIO 12Selecionar
GPIO 13Voltar
Jumpers no esquemático
Jumpers na placa física

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ãoResistor
(10k Rbutton)
Leitura ADC
(Max 4095)
Tensão
Esquerdo1 kΩ1600,13 V
Acima4,7 kΩ10400,84 V
Abaixo8,2 kΩ ou 10KΩ15981,29 V
Direito15 kΩ21101,70 V
Selecionar33 kΩ27432,21 V
Voltar47 kΩ30112,43 V
Configuração dos botões

Para quem quer testar esse projeto em um Protoboard aqui está abaixo a montagem que deve ser seguida:

Montagem equivalente do XPboard no Protoboard utilizando o botão analógico para o XPsys.

As conexões do display ST7920 deve ser conforme a tabela abaixo:

Pino ST7920DescriçãoPino ESP32
1. VSS / GNDComumGND
2. VDD / 5VAlimentaçãoVin / 5V
3. VoRef. ContrastePotenciômetro
4. RSSelec. RegistradorGPIO35
5. RWEscrita Registrador GPIO32
6. ENABLEHabilitar I/O GPIO33
15. PSBComun. Serial / ParalelaGND
17. RESETReiniciar LCDGPIO27
19. BLAAnodo LED5V
20. BLKCatodo LEDGND

Log de Mudanças:

  • Maio – 2019 – v1.1
    Lançado a Primeira versão publica 1.1 da XPboard
  • Janeiro – 2020 – v1.2b
    Lançado uma segunda versão com umas correções da XPboard,
    + Adicionado um Ressistor de Pull-up no GPIO35.
    + Adicionado um slot de regulador AMS-1117- 5v a mais para ajudar na dissipação da potencia aliviando a temperatura para entradas de tensões de 12V

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:

Pull-up adicionado no GPIO35

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.

ícone

XPboard – Gerber – V1.2b 521.16 KB 1 downloads

Aqui estão os arquivos gerados em Gerber pronto para enviar para a fabricação…
ícone

XPboard – Gerber – V1.1 433,1 KB 3 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:

ícone

XPboard – Esquematico e Layout – Eagle – V1.2b 1.09 MB 2 downloads

Arquivo de Layout e Esquemático do projeto do XPboard, pode ser aberto no Eagle…
ícone

XPboard – Esquematico e Layout – Eagle – V1.1 430 KB 5 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:

ícone

XPboard – Esquematico e Layout – Kicad – V1.2b 332Kb 2 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.

Licença CC 4.0

Creative Commons

O trabalho “XPboard placa para o XPsys” e “XPboard” de JailsonBR está licenciado com uma Licença Creative Commons Atribuição 4.0 Internacional.

Jailson Oliveira

Sou Engenheiro Eletricista com Enfase em Eletrônica e Técnico em Eletrônica, gosto de estar praticando montagens de circuitos e também programar sistemas embarcados. Acredito que compartilhar informações gratuita gera mais informações novas por parte de outras pessoas.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

19 − um =