Game Boy com Pi Zero - Parte 1


Para comemorar os 30 anos do Game Boy resolvi iniciar um projeto que já tinha em mente fazia algum tempo. A ideia básica é usar um case parecido com o do Game Boy impresso em impressora 3D e colocar um Pi Zero rodando emuladores através do Retropie.

Conversando sobre eletrônica

Quando comecei a mexer com eletrônica lá pelos fins dos anos 80, fazer um projeto significava desenhar a placa de CI, corroer a placa, soldar todos os componentes, medir, ajustar, medir de novo, queimar componente, trocar componente e assim chegar a um projeto final. Isso se já achasse o projeto do circuito pronto, caso contrario ainda teria que desenvolver o circuito também. Hoje a eletrônica está completamente modular, em cima de uma ideia você pode comprar pequenas placas montadas com o que você precisa e basta uni-las para seu projeto. E é exatamente isso que irei fazer aqui.

O projeto 

Eu já tinha praticamente tudo para o projeto, são peças que fui comprando na China apenas para testes e estudos e depois ficaram paradas. Foi exatamente o fato de já ter quase tudo que me animou a iniciar este projeto. Estava faltando o Pi Zero que comprei a pouco tempo e o case impresso em 3D, que neste caso é fácil de fazer já que possuo uma antiga impressora 3D. O principal guia para meu projeto é este da Adafruit:
https://learn.adafruit.com/pigrrl-2

Material que será utilizado

- Pi Zero
- Display 3.5"
- Booster MT3608 para fornecer os 5V
- TP4056 para carregar as baterias
- Duas celulas de baterias de lítio de 1000mA
- Cartão 4GB
- Resistores e capacitores para a saída de audio
- E algumas coisas de sucata que irão me servir e irei comentando.

Por enquanto não tem nada pronto, tenho apenas uma caixa com peças e alguns testes que estou fazendo para ver quais as peças irei utilizar.



FAQ do projeto 

Desde o inicio quando tinha apenas ideias em minha cabeça, varias duvidas foram surgindo. Perguntas que fazia para mim mesmo e com o tempo fui achando a melhor solução. Segue as principais:

A primeira pergunta foi qual o case imprimir?
Fiquei na duvida entre os dois abaixo, o famoso PiGRRL da Adafruit e esse outro que é uma copia quase exata do original. Optei pelo original por ele ter os botões ABXY maiores e mais distantes, o da Adafruit eu achei esses botões muito pequeno e próximos.
Adafruit: https://www.thingiverse.com/thing:1277483
Original: https://www.thingiverse.com/thing:2676949

Qual display usar?
Tenho dois, um de 2,8" que usa o famoso controlador ILI9341 e nunca consegui colocar para funcionar e um de video composto 3,5". Optei pelo de video composto por ser mais simples de ligar, mesmo sabendo que a qualidade do ILI9341 é melhor pelo que já li.

O display vai encaixar no case?
Sim, pelas medidas encaixará com precisão no case modelo original, precisando de pouco ou nenhum ajuste.

É possível diminuir o brilho da tela?
O display sozinho tem um consumo de 185mA e tudo que não queremos em um portátil é consumo alto. Então pensei em diminuir um pouco o brilho e ganhar mais umas horinhas de jogatina, mas infelizmente, pelas características do chip de controle de video AMT630 não é possível trabalhar no brilho da back light.

O Pi Zero possui saída de video composto?
Sim, ele apenas não tem o conector, mas tem os pads como é mostrado no link: https://www.raspberrypi.org/magpi/rca-pi-zero

O Pi Zero possui saída de audio?
Não. Estou fazendo uma saída de audio através da GPIO com a dica da Adafruit, em outra postagem vou colocar os detalhes, mas segui a dica da Adafruit:
https://learn.adafruit.com/adding-basic-audio-ouput-to-raspberry-pi-zero/pi-zero-pwm-audio

Qual controle usar?
Vou usar chaves micro switch que acionam a GPIO e simulam teclas de um teclado. A parte física será algo mais ou menos como o da Adafruit:
https://learn.adafruit.com/pigrrl-2/gamepad

Um Cartão de 4GB é suficiente?
Minha ideia é usar apenas emuladores 8 e 16 bits já que é o que o Pi Zero consegue rodar bem. Tenho um cartão de 2GB (pequeno), um de 4GB(bom) e um de 16GB(exagerado). Mas fiquei na duvida se caberia tudo no de 4GB e sim, 2.1GB são usados para sistema e vou usar em torno de 200MB a 300MB apenas com minhas ROM selecionadas a dedo, não quero nada de 7000 roms no sistema.

Como conseguir 12V para alimentar o display, já que o RPi trabalha com 5V?
Foi encontrado um ponto dentro do circuito do display para entrar com 5V. Ele tem um regulador de 12v para 5v e depois outro (1117) de 5v para 3.3v, então entro direto com 5v na entrada desse segundo regulador.



Qual bateria será usada para alimentar o sistema?
A ideia é usar baterias de lítio 4.2V com um booster MT3608 que mantém em 5V. A capacidade deve ficar em torno de 2A.

Qual o consumo total do sistema? Quanto tempo a bateria irá durar?
Como meu multímetro não muito preciso, o consumo ficou em torno de 550mA com bluetooth e wifi ligados e 500mA com eles desligados. BT e wifi não terão utilidade depois do projeto pronto. Usando bateria de 2A daria uma autonomia de umas 4hs.

Como a bateria será carregada?
Através de uma plaquinha de carga TP4056 que possui um conector micro USB e pode ser carregado com qualquer cabo de celular.

*Estou postando todo o processo de montagem no forum Retro Games Brasil também, qualquer duvida que surgir não deixe de postar lá:
https://retrogamesbrasil.net/showthread.php?tid=310

Comentários