![ESP32 Handheld Game Console: 21 etapas (com imagens) ESP32 Handheld Game Console: 21 etapas (com imagens)](https://i.howwhatproduce.com/images/002/image-5588-j.webp)
Índice:
- Etapa 1: Preparação de Hardware
- Etapa 2: Preparação do software
- Etapa 3: Impressão 3D
- Etapa 4: Suporte para LCD
- Etapa 5: preparar a placa PETG
- Etapa 6: consertar placa de desenvolvimento ESP32
- Etapa 7: consertar a bateria Lipo
- Etapa 8: conectar a bateria e a placa de desenvolvimento
- Etapa 9: Prepare os pinos de exibição
- Etapa 10: conectar os pinos GND
- Etapa 11: conectar os pinos Vcc
- Etapa 12: Conecte o LCD e o suporte da placa de desenvolvimento
- Etapa 13: Conecte os pinos SPI
- Etapa 14: Programa Flash
- Etapa 15: Conector I2C
- Etapa 16: Montagem Parte 1
- Etapa 17: Gamepad protótipo I2C
- Etapa 18: Construir Gamepad I2C
- Etapa 19: Montagem Parte 2
- Etapa 20: Opcional: Pinos de quebra de áudio
- Etapa 21: o que vem a seguir?
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-23 15:03
![Image Image](https://i.howwhatproduce.com/images/002/image-5588-2-j.webp)
![](https://i.ytimg.com/vi/VabwqIvGB6I/hqdefault.jpg)
![Preparação de Hardware Preparação de Hardware](https://i.howwhatproduce.com/images/002/image-5588-3-j.webp)
Estes instructables mostram como usar um ESP32 e ATtiny861 para construir um console de jogo emulador NES.
Etapa 1: Preparação de Hardware
![Preparação de Hardware Preparação de Hardware](https://i.howwhatproduce.com/images/002/image-5588-4-j.webp)
![Preparação de Hardware Preparação de Hardware](https://i.howwhatproduce.com/images/002/image-5588-5-j.webp)
ESP32 Dev Board
Desta vez, estou usando uma placa de desenvolvimento TTGO T8 ESP32. Esta placa tem carregamento Lipo embutido e circuito regulador, pode ajudar a reduzir os componentes extras.
Exibição
Desta vez, estou usando um LCD IPS de 2,4 . O controlador do driver é ST7789V e a resolução é 320 x 240. Esta resolução é mais adequada para a resolução 252 x 224 do emulador NES.
Bateria
Desta vez, estou usando uma bateria Lipo 454261. 4,5 mm é a espessura da placa de desenvolvimento ESP32 e 61 mm é a largura da placa.
Pin Header
Um cabeçalho de pino redondo macho de 4 pinos e um cabeçalho de pino redondo fêmea de 4 pinos para conectar o gamepad I2C.
Placa PETG
Uma pequena placa PET / PETG para suportar a placa de desenvolvimento e a bateria Lipo, você pode encontrá-la facilmente na embalagem do produto.
PCB de uso múltiplo
Requer 2 PCB, 1 de 0,4 mm de espessura para suportar a tela, 1 de 1,2 mm de espessura para um gamepad I2C.
Botões
Um botão de 5 direções, 2 botões pequenos para Selecionar e Iniciar e 2 para o botão A e B.
I2C Gamepad Controller
Desta vez, eu uso um microcontrolador ATtiny861 como controlador de gamepad I2C.
Outros
1 resistor SMD de 12 Ohms, um programador ISP (por exemplo, TinyISP)
Etapa 2: Preparação do software
![Preparação de Software Preparação de Software](https://i.howwhatproduce.com/images/002/image-5588-6-j.webp)
![Preparação de Software Preparação de Software](https://i.howwhatproduce.com/images/002/image-5588-7-j.webp)
![Preparação de Software Preparação de Software](https://i.howwhatproduce.com/images/002/image-5588-8-j.webp)
IDE Arduino
Baixe e instale o Arduino IDE, se ainda não:
Suporte ATTinyCore
Siga as etapas de instalação para adicionar suporte ATTinyCore, se ainda não:
ESP-IDF
Siga o guia de introdução do ESP-IDF para configurar o ambiente de desenvolvimento, se ainda não:
Etapa 3: Impressão 3D
![impressao 3D impressao 3D](https://i.howwhatproduce.com/images/002/image-5588-9-j.webp)
Baixe e imprima o caso:
Etapa 4: Suporte para LCD
![Suporte LCD Suporte LCD](https://i.howwhatproduce.com/images/002/image-5588-10-j.webp)
![Suporte LCD Suporte LCD](https://i.howwhatproduce.com/images/002/image-5588-11-j.webp)
Corte um PCB de 24 x 27 orifícios de 0,4 mm para suporte de LCD. Lembre-se de reservar algum espaço para dobrar o LCD FPC. Em seguida, use um pouco de fita adesiva dupla-face para fixar o LCD no PCB.
Etapa 5: preparar a placa PETG
![Prepare Placa PETG Prepare Placa PETG](https://i.howwhatproduce.com/images/002/image-5588-12-j.webp)
![Prepare Placa PETG Prepare Placa PETG](https://i.howwhatproduce.com/images/002/image-5588-13-j.webp)
Corte uma placa PETG de 62 mm x 69 mm para placa de desenvolvimento e suporte de bateria Lipo.
Etapa 6: consertar placa de desenvolvimento ESP32
![Consertar ESP32 Dev Board Consertar ESP32 Dev Board](https://i.howwhatproduce.com/images/002/image-5588-14-j.webp)
Use fita adesiva dupla-face para fixar a placa de desenvolvimento na placa PETG.
Etapa 7: consertar a bateria Lipo
![Consertar bateria lipo Consertar bateria lipo](https://i.howwhatproduce.com/images/002/image-5588-15-j.webp)
Use fita adesiva dupla-face para fixar a bateria Lipo ao lado da placa de desenvolvimento.
Etapa 8: conectar a bateria e a placa de desenvolvimento
![Conecte a bateria e a placa de desenvolvimento Conecte a bateria e a placa de desenvolvimento](https://i.howwhatproduce.com/images/002/image-5588-16-j.webp)
Etapa 9: Prepare os pinos de exibição
![Prepare os pinos de exibição Prepare os pinos de exibição](https://i.howwhatproduce.com/images/002/image-5588-17-j.webp)
O display LCD tem muitas variações de diferentes fornecedores. Obtenha a folha de dados correta e leia-a antes de qualquer patch e conexão.
Alguns pinos são reservados para painel de toque. Uma vez que este LCD não tem painel de toque, simplesmente corte esses pinos para reduzir a perturbação.
Etapa 10: conectar os pinos GND
![Conecte os pinos GND Conecte os pinos GND](https://i.howwhatproduce.com/images/002/image-5588-18-j.webp)
![Conecte os pinos GND Conecte os pinos GND](https://i.howwhatproduce.com/images/002/image-5588-19-j.webp)
Na maioria dos casos, há poucos pinos que precisam ser conectados ao GND. Para reduzir o esforço de soldagem, cortei um formato de fita de cobre para alcançar todos os pinos GND e, em seguida, soldei completamente.
Etapa 11: conectar os pinos Vcc
![Conecte os pinos Vcc Conecte os pinos Vcc](https://i.howwhatproduce.com/images/002/image-5588-20-j.webp)
Existem 2 pinos necessários para conectar ao Vcc, alimentação do LCD e alimentação do LED. De acordo com a folha de dados, a energia do LCD pode se conectar diretamente ao pino de 3,3 V da placa de desenvolvimento, mas a energia do LED opera um pouco abaixo de 3,3 V. Portanto, é melhor adicionar um resistor SMD no meio, por exemplo, Resistor de 12 ohms.
Etapa 12: Conecte o LCD e o suporte da placa de desenvolvimento
![Conecte o suporte do LCD e da placa de desenvolvimento Conecte o suporte do LCD e da placa de desenvolvimento](https://i.howwhatproduce.com/images/002/image-5588-21-j.webp)
use fita conecte o suporte do LCD e o suporte da placa de desenvolvimento juntos. Ambos os suportes devem reservar cerca de 5 mm de folga para dobrar.
Etapa 13: Conecte os pinos SPI
![Conecte os pinos SPI Conecte os pinos SPI](https://i.howwhatproduce.com/images/002/image-5588-22-j.webp)
Aqui está o resumo da conexão:
LCD ESP32
GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> não conectado Vcc -> 3,3 V LED + -> 12 Ohm resistor -> 3,3 V LED - -> GND
Etapa 14: Programa Flash
![Programa Flash Programa Flash](https://i.howwhatproduce.com/images/002/image-5588-23-j.webp)
![Programa Flash Programa Flash](https://i.howwhatproduce.com/images/002/image-5588-24-j.webp)
![Programa Flash Programa Flash](https://i.howwhatproduce.com/images/002/image-5588-25-j.webp)
![Programa Flash Programa Flash](https://i.howwhatproduce.com/images/002/image-5588-26-j.webp)
- Baixe o código-fonte no GitHub:
- Na pasta do código-fonte, execute "make menuconfig"
- Selecione "Nofrendo ESP32-specific configuration"
- Selecione "Hardware para executar" -> "Hardware personalizado"
- Selecione "Tipo de LCD" -> "ST7789V LCD"
- Configurações de pino de preenchimento: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, Luz de fundo -> -1, IPS -> Y
- Sair e salvar
- Execute "make -j5 flash"
- Execute "sh flashrom.sh PATH_TO_YOUR_ROM_FILE"
Etapa 15: Conector I2C
![Conector I2C Conector I2C](https://i.howwhatproduce.com/images/002/image-5588-27-j.webp)
![Conector I2C Conector I2C](https://i.howwhatproduce.com/images/002/image-5588-28-j.webp)
![Conector I2C Conector I2C](https://i.howwhatproduce.com/images/002/image-5588-29-j.webp)
Separe os pinos I2C, os pinos I2C padrão do ESP32 são:
Pino 1 (SCL) -> GPIO 22
Pino 2 (SDA) -> GPIO 21 Pino 3 (Vcc) -> 3,3 V (sem alimentação de 5 V enquanto alimentado por bateria Lipo) Pino 4 (GND) -> GND
Etapa 16: Montagem Parte 1
![Image Image](https://i.howwhatproduce.com/images/002/image-5588-31-j.webp)
![](https://i.ytimg.com/vi/8VfJcM7wYEQ/hqdefault.jpg)
Siga as etapas do vídeo para dobrar e apertar todas as peças no estojo.
Etapa 17: Gamepad protótipo I2C
![Prototype I2C Gamepad Prototype I2C Gamepad](https://i.howwhatproduce.com/images/002/image-5588-32-j.webp)
![Protótipo I2C Gamepad Protótipo I2C Gamepad](https://i.howwhatproduce.com/images/002/image-5588-33-j.webp)
O programa para o Gamepad I2C é muito simples, apenas 15 linhas de código. Mas é um pouco difícil reprogramar o ATtiny861 após a soldagem, então é melhor testá-lo primeiro na placa de ensaio.
Baixe, compile e atualize o programa no GitHub:
Etapa 18: Construir Gamepad I2C
![Build I2C Gamepad Build I2C Gamepad](https://i.howwhatproduce.com/images/002/image-5588-34-j.webp)
![Build I2C Gamepad Build I2C Gamepad](https://i.howwhatproduce.com/images/002/image-5588-35-j.webp)
![Build I2C Gamepad Build I2C Gamepad](https://i.howwhatproduce.com/images/002/image-5588-36-j.webp)
Aqui está o resumo da conexão:
Botão ATtiny861
GND -> Todos os botões um pino Pino 20 (PA0) -> botão Acima Pino 19 (PA1) -> Botão Abaixo Pino 18 (PA2) -> Botão Esquerdo Pino 17 (PA3) -> Botão Direito Pino 14 (PA4) -> Botão de seleção Pino 13 (PA5) -> botão Iniciar Pino 12 (PA6) -> botão A Pino 11 (PA7) -> botão B Pino 6 (GND) -> I2C pino macho cabeçalho pino 4 Pino 5 (Vcc) -> I2C pino macho do conector pino 3 Pino 3 (SCL) -> I2C pino macho cabeçalho pino 1 Pino 1 (SDA) -> I2C pino macho conector pino 2
Etapa 19: Montagem Parte 2
![Image Image](https://i.howwhatproduce.com/images/002/image-5588-38-j.webp)
![](https://i.ytimg.com/vi/mznu135IDrs/hqdefault.jpg)
![Opcional: pinos de quebra de áudio Opcional: pinos de quebra de áudio](https://i.howwhatproduce.com/images/002/image-5588-41-j.webp)
Siga as etapas do vídeo para instalar a tampa e o gamepad I2C no corpo principal.
Etapa 20: Opcional: Pinos de quebra de áudio
![Image Image](https://i.howwhatproduce.com/images/002/image-5588-40-j.webp)
![](https://i.ytimg.com/vi/7ONQE77eoBk/hqdefault.jpg)
![Opcional: pinos de quebra de áudio Opcional: pinos de quebra de áudio](https://i.howwhatproduce.com/images/002/image-5588-42-j.webp)
Os pinos 25 e 26 da placa de dev ESP32 estão emitindo o sinal de áudio analógico, é muito fácil separar esses 2 pinos e também os pinos de alimentação (3,3 V e GND) na parte superior. Em seguida, você pode patchear um fone de ouvido para conectá-lo. Ou até mesmo você pode adicionar um módulo de amplificador de áudio com alto-falante para reproduzi-lo alto.
Etapa 21: o que vem a seguir?
![Qual é o próximo? Qual é o próximo?](https://i.howwhatproduce.com/images/002/image-5588-43-j.webp)
O emulador NES não é a única coisa interessante que você pode fazer com o ESP32. Por exemplo. você pode construir um console micro Python com ele. O único componente que você precisa alterar é do gamepad I2C para o teclado I2C. Acho que não é tão difícil fazer isso com um controlador ATtiny88. Você pode seguir meu twitter para ver o status.
Recomendado:
MutantC V3 - PC HandHeld modular e poderoso: 9 etapas (com imagens)
![MutantC V3 - PC HandHeld modular e poderoso: 9 etapas (com imagens) MutantC V3 - PC HandHeld modular e poderoso: 9 etapas (com imagens)](https://i.howwhatproduce.com/images/001/image-1977-j.webp)
MutantC V3 - PC HandHeld modular e poderoso: uma plataforma portátil Raspberry-pi com um teclado físico, display e cabeçalho de expansão para placas personalizadas (como o Arduino Shield) .mutantC_V3 é o sucessor de mutantC_V1 e V2. Verifique mutantC_V1 e mutantC_V2.https: //mutantc.gitlab.io/https: // gitla
MutantC_v2 - um Raspberry Pi Handheld / UMPC fácil de construir: 8 etapas (com imagens)
![MutantC_v2 - um Raspberry Pi Handheld / UMPC fácil de construir: 8 etapas (com imagens) MutantC_v2 - um Raspberry Pi Handheld / UMPC fácil de construir: 8 etapas (com imagens)](https://i.howwhatproduce.com/images/001/image-1058-14-j.webp)
MutantC_v2 - um Raspberry Pi Handheld / UMPC fácil de construir: uma plataforma portátil Raspberry-pi com um teclado físico, display e cabeçalho de expansão para placas personalizadas (como o Arduino Shield) .mutantC_V2 é o sucessor de mutantC_V1. Verifique mutantC_V1 aqui.https: //mutantc.gitlab.io/https: //gitlab.com/mutant
1963 Pi Tourer Game Console: 9 etapas (com imagens)
![1963 Pi Tourer Game Console: 9 etapas (com imagens) 1963 Pi Tourer Game Console: 9 etapas (com imagens)](https://i.howwhatproduce.com/images/002/image-4596-27-j.webp)
Console de jogo 1963 Pi Tourer: Este é um rádio de carro Sky Tourer 1963 que eu converti em um prático console de jogo retro. Ele tem um Raspberry Pi 3 integrado, com 6 botões de arcade e um joystick que controla os sprites RetroPie antigos por meio de uma placa controladora Picade. O
Arduino Pocket Game Console + A-Maze - Maze Game: 6 etapas (com imagens)
![Arduino Pocket Game Console + A-Maze - Maze Game: 6 etapas (com imagens) Arduino Pocket Game Console + A-Maze - Maze Game: 6 etapas (com imagens)](https://i.howwhatproduce.com/images/001/image-1962-48-j.webp)
Arduino Pocket Game Console + A-Maze - Maze Game: Bem-vindo ao meu primeiro instructable! O projeto que quero compartilhar com vocês hoje é o Arduino maze game, que se tornou um console de bolso tão capaz quanto Arduboy e consoles semelhantes baseados em Arduino. Ele pode ser exibido com meus (ou seus) jogos futuros graças à expo
Handheld 6 Note Music Box / Instrument (fácil de fazer e melhorar!): 5 etapas (com imagens)
![Handheld 6 Note Music Box / Instrument (fácil de fazer e melhorar!): 5 etapas (com imagens) Handheld 6 Note Music Box / Instrument (fácil de fazer e melhorar!): 5 etapas (com imagens)](https://i.howwhatproduce.com/images/003/image-7569-33-j.webp)
Handheld 6 Note Music Box / Instrument (Fácil de fazer e melhorar!): Hi there! Inspirado por Martin Molin, membro de uma banda sueca chamada Wintergatan, recentemente me apaixonei por caixas de música e tudo sobre elas. Pessoas que fazem músicas para caixas de música ainda estão usando a maneira antiga de perfurar a música, não