Сборка портативной игровой консоли-клона Arduboy на Arduino Micro с проектированием PCB
Компоненты и материалы
- Arduino Pro Micro (5V, ATmega32U4) — 1 шт. (в оригинале использован Arduino Micro, но Pro Micro проще для PCB)
- OLED-дисплей 128×64 SPI (SSD1306) — 1 шт.
- Тактильные кнопки 6 мм — 6 шт. (UP, DOWN, LEFT, RIGHT, A, B)
- Пьезо-динамик — 1 шт.
- RGB-светодиод общий анод — 1 шт.
- LiPo аккумулятор 3.7V (например, 380 мАч) — 1 шт.
- Модуль зарядки/буста MT3608 — 1 шт. (или готовый модуль)
- Печатная плата (PCB) — заказ по Gerber-файлам (JLCPCB и т.п.)
- Корпус — 3D-печать (опционально, не входит в базовый комплект)
О проекте
Arduboy — открытая 8-битная игровая платформа (ATmega32U4, тот же чип, что в Arduino Pro Micro). Игры пишутся пользователями, загружаются через Arduino IDE. Автор решил не просто собрать на макетке, а спроектировать собственную PCB в EasyEDA — отличный учебный проект для освоения проектирования плат.
Шаг 1: Необходимые детали (для макетной платы)
Список выше. На макетке проверяется работоспособность схемы перед заказом PCB.
Шаг 2: Тестирование на макетной плате
Распиновка (Arduino Micro / Pro Micro):
| Функция | Пин |
|---|---|
| UP | A0 |
| DOWN | A3 |
| RIGHT | A1 |
| LEFT | A2 |
| A (кнопка) | D7 |
| B (кнопка) | D8 |
| OLED SCL | D15 (SCK) |
| OLED SDA | D16 (MOSI) |
| OLED DC | D4 |
| OLED RES | D2 |
| Speaker + | D5 |
| Speaker – | D6 |
| RGB Red | D10 |
| RGB Green | D3 |
| RGB Blue | D9 |
Шаг 3: Установка пакета Homemade Arduboy и загрузка игр
- Arduino IDE → File → Preferences → Additional Boards Manager URLs: добавьте
https://github.com/MrBlinky/Arduboy-homemade-package/raw/master/package_mrblinky_homemade_arduboy_index.json - Tools → Board → Boards Manager → поиск «homemade» или «Arduboy homemade» → Install Arduboy Homemade.
- Tools → Board: Homemade Arduboy
- Tools → Bootloader: Cathy3K
- Tools → Based on: SparkFun Pro Micro 5V - Alternate Wiring
- Tools → Core: Arduboy optimized core
- Tools → Display: SSD1306
- Скачайте игру (файл .ino) с ArduboyGames или форумов, откройте и загрузите.
Шаг 4: Проектирование PCB в EasyEDA
- Создайте схему (Schematic). Подписывайте выводы аккуратно — упростит отладку. Проверяйте footprint'ы компонентов.
- Convert to PCB → новый холст с фуутпринтами.
- Определите Board Outline (слой BoardOutline, инструмент Track).
- Разместите компоненты логически, ориентируясь на Ratlines (воздушные проводники).
- Проложите трассы: сигнальные — 0.254 мм, силовые — 0.6 мм. При необходимости переходите на Bottom Layer через Via (клавиша V во время трассировки).
- После всех соединений, кроме GND: инструмент Copper Area → обведите контур платы, Net = GND → создаст полигон земли.
- Тщательно проверьте DRC (Design Rule Check).
- Generate Fabrication File → Gerber-архив для производства.
Примечание автора: Буст-конвертер на MT3608 на плате работал без нагрузки, но при подключении нагрузки напряжение просело. В репозитории предусмотрен фуутпринт для готового модуля MT3608 (который и был использован в итоге). Причина — неоптимальная разводка высокочастотных контуров (индуктивность, ширина дорожек). Даташит MT3608 дает строгие рекомендации по лейауту.
Шаг 5: Монтаж PCB
- PCB заказаны у JLCPCB, компоненты — у LCSC (совместная доставка экономит).
- Пайка SMD: много флюса — ключ к качеству. Первая попытка автора удалась хорошо.
- Промывка изопропиловым спиртом после пайки.
- LiPo 380 мАч дает 3–4 часа игры (ток 50–100 мА).
Шаг 6: Наслаждайтесь!
Вставьте батарею, загрузите любимую игру — и играйте. Проект научил проектированию PCB, работе с EasyEDA, заказу плат и SMD-пайке.
Ресурсы
- GitHub (Homemade Arduboy Package): MrBlinky/Arduboy-homemade-package
- Gerber-файлы для заказа PCB: в разделе «Schematics» (
arduboy_clone_gerber_yvffyEUbDE.zip)
Производственный процесс
- DIY-консоль управления Photoshop на Arduino Nano RP2040 Connect
- TeleBall: ретро портативная игровая консоль на Arduino — собирайте сами Breakout и Tennis for Two
- Сборка Bluetooth-робота-шпиона на Arduino с управлением с телефона
- FlickMote: жестовое IR-пульт для умного дома на Arduino 101 и ультразвуковом датчике
- DIY Arduino TV-B-Gone: универсальный пульт для выключения любого телевизора
- Создание пользовательских LED-часов с будильником — видно с 12 метров
- Создание анимации и игр на LCD 16×2 с Arduino UNO
- Find Me: Умный поисковик вещей на Arduino и Bluetooth
- Собираем свой Tamagotchi на Arduino: цифровой питомец своими руками
- Оптимизированные решения питания для проектов на Arduino