
Daftar Isi:
- Langkah 1: Persiapan Perangkat Keras
- Langkah 2: Persiapan Perangkat Lunak
- Langkah 3: Pencetakan 3D
- Langkah 4: Dukungan LCD
- Langkah 5: Siapkan Piring PETG
- Langkah 6: Perbaiki Papan Pengembang ESP32
- Langkah 7: Perbaiki Baterai Lipo
- Langkah 8: Hubungkan Baterai & Papan Pengembang
- Langkah 9: Siapkan Pin Tampilan
- Langkah 10: Hubungkan Pin GND
- Langkah 11: Hubungkan Pin Vcc
- Langkah 12: Hubungkan Dukungan LCD & Papan Dev
- Langkah 13: Hubungkan Pin SPI
- Langkah 14: Program Flash
- Langkah 15: Konektor I2C
- Langkah 16: Perakitan Bagian 1
- Langkah 17: Gamepad Prototipe I2C
- Langkah 18: Bangun Gamepad I2C
- Langkah 19: Perakitan Bagian 2
- Langkah 20: Opsional: Pin Audio Breakout
- Langkah 21: Apa Selanjutnya?
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-23 14:49



Instruksi ini menunjukkan cara menggunakan ESP32 dan ATtiny861 untuk membuat konsol game emulator NES.
Langkah 1: Persiapan Perangkat Keras


Papan Pengembang ESP32
Kali ini saya menggunakan papan dev TTGO T8 ESP32. Papan ini memiliki sirkuit pengisian dan pengatur Lipo bawaan, ini dapat membantu mengurangi komponen tambahan.
Menampilkan
Kali ini saya menggunakan LCD IPS 2,4 . Driver controller ST7789V dan resolusi 320 x 240. Resolusi ini paling cocok untuk NES emulator resolusi 252 x 224.
Baterai
Kali ini saya menggunakan baterai Lipo 454261. 4,5 mm adalah ketebalan papan pengembang ESP32, dan 61 mm adalah lebar papan.
Pin Header
Header pin bulat jantan 4 pin dan header pin bulat betina 4 pin untuk menghubungkan gamepad I2C.
Piring PETG
Pelat PET / PETG kecil untuk mendukung papan dev dan baterai Lipo, Anda dapat dengan mudah menemukannya di kemasan produk.
PCB Tujuan Ganda
Diperlukan 2 PCB, tebal 1 0,4 mm untuk mendukung Tampilan, tebal 1 1,2 mm untuk gamepad I2C.
Tombol
Tombol 5 arah, 2 tombol kecil untuk Pilih dan Mulai dan 2 untuk tombol A dan B.
Pengontrol Gamepad I2C
Kali ini saya menggunakan mikrokontroler ATtiny861 sebagai pengontrol gamepad I2C.
Yang lain
1 SMD 12 Ohm resistor, programmer ISP (misalnya TinyISP)
Langkah 2: Persiapan Perangkat Lunak



Arduino IDE
Unduh dan instal Arduino IDE jika belum:
Dukungan ATTinyCore
Ikuti langkah-langkah instalasi untuk menambahkan dukungan ATTinyCore jika belum:
ESP-IDF
Ikuti panduan memulai ESP-IDF untuk menyiapkan lingkungan pengembangan jika belum:
Langkah 3: Pencetakan 3D

Unduh dan cetak kasing:
Langkah 4: Dukungan LCD


Potong PCB 24 x 27 lubang 0,4 mm untuk dukungan LCD. Ingat cadangan ruang untuk FPC LCD lipat. Kemudian gunakan beberapa pita perekat sisi ganda untuk memperbaiki LCD pada PCB.
Langkah 5: Siapkan Piring PETG


Potong pelat PETG 62 mm x 69 mm untuk papan dev dan dukungan baterai Lipo.
Langkah 6: Perbaiki Papan Pengembang ESP32

Gunakan pita perekat sisi ganda untuk memperbaiki papan dev pada pelat PETG.
Langkah 7: Perbaiki Baterai Lipo

Gunakan pita perekat sisi ganda untuk memperbaiki baterai Lipo di samping papan dev.
Langkah 8: Hubungkan Baterai & Papan Pengembang

Langkah 9: Siapkan Pin Tampilan

Layar LCD memiliki banyak variasi bentuk vendor yang berbeda. Harap dapatkan lembar data yang benar dan bacalah sebelum patch dan koneksi apa pun.
Beberapa pin disediakan untuk panel sentuh. Karena LCD ini tidak memiliki panel sentuh, cukup dengan memotong pin tersebut dapat mengurangi gangguan.
Langkah 10: Hubungkan Pin GND


Dalam kebanyakan kasus, ada beberapa pin yang memerlukan koneksi ke GND. Untuk mengurangi upaya menyolder, saya memotong bentuk pita tembaga untuk mencapai semua pin GND dan kemudian menyolder semuanya.
Langkah 11: Hubungkan Pin Vcc

Ada 2 pin yang diperlukan terhubung ke Vcc, daya LCD dan daya LED. Menurut lembar data, daya LCD dapat langsung terhubung ke papan dev pin 3,3 V tetapi daya LED beroperasi sedikit lebih rendah dari 3,3 V. Jadi lebih baik menambahkan resistor SMD di tengah, mis. resistor 12 ohm.
Langkah 12: Hubungkan Dukungan LCD & Papan Dev

menggunakan pita menghubungkan dukungan LCD dan dukungan papan dev bersama-sama. Kedua penyangga harus menyediakan celah sekitar 5 mm untuk pelipatan.
Langkah 13: Hubungkan Pin SPI

Berikut ringkasan koneksinya:
LCD ESP32
GND -> GND RST -> GPIO 33 SCL -> GPIO 18 DC -> GPIO 27 CS -> GPIO 5 SDI -> GPIO 23 SDO -> tidak terhubung Vcc -> LED 3,3 V+ -> resistor 12 Ohm -> LED 3,3 V - -> GND
Langkah 14: Program Flash




- Unduh kode sumber di GitHub:
- Di bawah folder kode sumber, jalankan "make menuconfig"
- Pilih "Konfigurasi khusus Nofrendo ESP32"
- Pilih "Perangkat Keras untuk dijalankan" -> "Perangkat Keras Kustom"
- Pilih "Tipe LCD" -> "ST7789V LCD"
- Isi pengaturan pin: MISO -> -1, MOSI -> 23, CLK -> 18, CS -> 5, DC -> 27, RST -> 33, Backlight -> -1, IPS -> Y
- Keluar dan Simpan
- Jalankan "make -j5 flash"
- Jalankan "sh flashrom.sh PATH_TO_YOUR_ROM_FILE"
Langkah 15: Konektor I2C



Breakout pin I2C, pin I2C default ESP32 adalah:
Pin 1 (SCL) -> GPIO 22
Pin 2 (SDA) -> GPIO 21 Pin 3 (Vcc) -> 3,3 V (tidak ada daya 5 V saat ditenagai oleh baterai Lipo) Pin 4 (GND) -> GND
Langkah 16: Perakitan Bagian 1


Ikuti langkah-langkah video untuk melipat dan meremas semua bagian ke dalam casing.
Langkah 17: Gamepad Prototipe I2C


Program untuk Gamepad I2C sangat sederhana, hanya 15 baris kode. Tetapi agak sulit untuk memprogram ulang ATtiny861 setelah menyolder, jadi lebih baik mengujinya di papan tempat memotong roti terlebih dahulu.
Unduh, kompilasi, dan flash program dari GitHub:
Langkah 18: Bangun Gamepad I2C



Berikut adalah ringkasan koneksi:
Tombol ATtiny861
GND -> Semua tombol satu pin Pin 20 (PA0) -> Tombol Atas Pin 19 (PA1) -> Tombol Bawah Pin 18 (PA2) -> Tombol Kiri Pin 17 (PA3) -> Tombol Kanan Pin 14 (PA4) -> Pilih tombol Pin 13 (PA5) -> Tombol Start Pin 12 (PA6) -> Tombol A Pin 11 (PA7) -> Tombol B Pin 6 (GND) -> I2C male pin header pin 4 Pin 5 (Vcc) -> I2C male pin header pin 3 Pin 3 (SCL) -> I2C male pin header pin 1 Pin 1 (SDA) -> I2C male pin header pin 2
Langkah 19: Perakitan Bagian 2



Ikuti langkah-langkah video untuk memasang penutup dan gamepad I2C ke bodi utama.
Langkah 20: Opsional: Pin Audio Breakout



Papan dev ESP32 Pin 25 dan 26 mengeluarkan sinyal audio analog, sangat mudah untuk mematahkan 2 pin ini dan juga pin daya (3,3 V dan GND) di atas. Kemudian Anda dapat menambal earphone untuk dicolokkan. Atau bahkan Anda dapat menambahkan modul penguat audio dengan speaker untuk memutarnya dengan keras.
Langkah 21: Apa Selanjutnya?

Emulator NES bukan satu-satunya hal menarik yang dapat Anda buat dengan ESP32. Misalnya. anda dapat membangun konsol python mikro dengannya. Satu-satunya komponen yang perlu Anda ubah adalah dari gamepad I2C ke keyboard I2C. Saya rasa tidak begitu sulit untuk membuatnya dengan pengontrol ATtiny88. Anda dapat mengikuti twitter saya untuk melihat statusnya.
Direkomendasikan:
Konsol Game Genggam DIY Menggunakan RetroPie: 7 Langkah

Konsol Game Genggam DIY Menggunakan RetroPie: Tonton video di atas untuk memahami proyek ini dengan lebih baik. Bagus. Saatnya Anda memulai! Pertama-tama, kita akan menggunakan RetroPie. Ini meninggalkan kita dengan dua pilihan. Jika kita sudah menginstal Raspbian di kartu SD kita, maka kita bisa menginstal RetroP
Konsol Game Genggam Raspberry Pi Zero DIY: 6 Langkah (dengan Gambar)

Konsol Game Genggam Raspberry Pi Zero DIY: Dalam proyek ini saya akan menunjukkan kepada Anda bagaimana saya menggunakan Raspberry Pi Zero, baterai NiMH, sirkuit perlindungan over-discharge buatan sendiri, lcd spion dan audio amp untuk membuat konsol game genggam yang dapat dimainkan permainan retro. Mari kita mulai
Konsol Game Genggam - Klon Arduboy: 6 Langkah (dengan Gambar)

Konsol Game Genggam | Arduboy Clone: Beberapa bulan yang lalu saya menemukan Arduboy yang menurut situs resminya adalah platform game mini 8 bit yang memudahkan untuk belajar, berbagi, dan bermain game secara online. Ini adalah platform sumber terbuka. Game untuk Arduboy dibuat oleh pengguna
Konsol Game Recalbox Genggam Menggunakan 2.2 TFT: 6 Langkah

Konsol Game Recalbox Genggam Menggunakan 2.2 TFT: Petunjuk untuk DIY konsol game recalbox genggam menggunakan LCD TFT 2.2" dan tombol Raspberry Pi 0 W dan GPIO. Anda dapat melihat video youtube ini untuk demonstrasi lengkap langkah-langkah yang terlibat: A. Dapatkan semua bagiannya.B. Solder bagian-bagian itu bersama-sama
Konsol Genggam Dengan Kontroler dan Sensor Nirkabel (Arduino MEGA & UNO): 10 Langkah (dengan Gambar)

Konsol Genggam Dengan Kontroler dan Sensor Nirkabel (Arduino MEGA & UNO): Yang saya gunakan:- Arduino MEGA- 2x Arduino UNO- Adafruit 3.5" TFT 320x480 Layar Sentuh HXD8357D- Buzzer- Speaker 4Ohm 3W- Lampu LED 5mm- Ultimaker 2+ Printer dengan Filamen PLA Hitam- Pemotong laser dengan kayu MDF- Cat semprot hitam (untuk kayu)- 3x nRF24