Skip to content

Kolodieiev/perfect_console

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

697 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проєкт “Ідеальна консоль” це спроба створити універсальну електронну плату, для комфортного програмування на її основі різноманітних електронних пристроїв, таких як ігрові консолі, програвачі музики, пульти керування тощо. Завдяки продуктивному мікроконтролеру ESP32S3 N16R8 плата може виконувати купу завдань та обчислень, а наявність 8 мб оперативної та 16 мб постійної пам'яті, забезпечує достатньо місця для реалізації досить об’ємних проєктів прошивок, в тому числі з використанням графіки.


Прошивка

В репозиторії, крім файлів проєкту електронної плати, містяться повністю відкриті базові прошивки, написані мовою C++, для обох мікроконтролерів. Прошивка для ESP32S3 базується на основі фреймворку Pixeler, та містить багато прикладів побудови графічного інтерфейсу різної складності. До їх списку входять різні види меню, графічний інтерфейс для сканування та підключення до WiFi точки доступу, файловий менеджер, mp3-плеєр, вікна з різними видами налаштувань, приклади 2D-ігор на кастомному ігровому рушії та інші.

Скриншоти з прошивки:
main_context menu_context
file_manager settings_context
Демонстрація можливостей ігрового рушія(зібрано в портованій версії для ПК):
alt text alt text
Більше скриншотів можна знайти в Screenshots

Для кого

Проєкт розрахований на користувачів, які хочуть навчитися виготовляти або замовляти виготовлення електронних плат, збирати їх по схемі та програмувати мікроконтролери. Також він підійде досвідченим розробникам, яким просто цікаво програмувати залізо у вільний час та вивчати щось нове для себе. Для збірки проєкту необхідно мати досвід пайки середнього або вище рівня та відповідні інструменти.


Модульність

Головна особливість плати полягає в тому, що користувач може самостійно обрати, який модуль йому використовувати для своїх задач. На платі передбачено місця тільки для основних компонентів, або таких, які складно закріпити в корпусі окремо, все інше необхідно самостійно обирати з огляду на власні потреби та можливості.

Фото зібраних плат


Корпус

Розробка корпусу для виготовлення на 3D-принтері не планується в межах даного проєкту. Користувач повинен самостійно спроектувати корпус для свого пристрою в залежності від використаних модулів.


Мікроконтролер

Для забезпечення функціонування плати використовується два мікроконтролера - далі МК, ESP32S3 та CH32V006E8R6. Ці МК обрано через дуже хороше співвідношення ціна/можливості та значну кількість GPIO. Очікується, що перший МК буде мозком пристрою, який виконуватиме основну прошивку, а другий - допоміжний, що виконуватиме роль мікросхеми розширення, завдяки якій вивільняються 11 пінів основного МК. Мікроконтролери можуть спілкуватися один з одним по шині I2C. Для підтримки рівноправного двостороннього зв'язку додано окрему лінію між МК, яка може бути використана для генерації переривань.


GPIO

До однієї з двох шин SPI на ESP32 приєднано роз’єм карти пам’яті MicroSD. Усі інші незадіяні виводи цього МК виведено на штирьові роз’єми та контактні площадки. Усього доступно вільних пінів 19 + шина I2C + UART. Усі вільні виводи ESP32 згруповано на штирьових роз’ємах таким чином, щоб до них можна було підключити з допомогою шлейфів будь-який популярний SPI-дисплей, модуль звуку, який керується по I2S протоколу, цифровий мікрофон та UART-версію модулів LoRa. До кожної групи роз’ємів додано піни живлення, які вмикаються польовими транзисторами. В кастомній прошивці до цих роз’ємів можуть бути підключені будь-які інші модулі на розсуд користувача.

Частина виводів(п’ять) CH32 підключені до ключів керування живленням. Усі інші піни також виведені на штирьові роз’єми. У стандартній конфігурації до цих пінів очікується підключення кнопки живлення, кнопки PTT, ліній UART, програматора, та 8 кнопок керування, 6 з яких, можуть бути налаштовані як сенсорні.

В будь-якій користувацькій конфігурації обов’язковою є тільки кнопка живлення. Усі інші вільні виводи мікроконтролерів можуть бути налаштовані, відповідно до їх документації, на інші задачі. Окрім того, за особливої необхідності, можуть бути звільнені додаткові 4 піна CH32, які підключені до затворів ключів живлення в кожній групі штирьових роз’ємів.


Живлення

Очікується, що плата “Ідеальної консолі” буде використовуватися саме в автономному варіанті з використанням високоємнісного акумулятора або збірки акумуляторів. Проте з деякими незначними модифікаціями можливе її використання виключно в стаціонарному варіанті, наприклад, для навчання або відлагодження. На платі передбачено місця для штирьових роз’ємів, до яких можна підключити будь-який USB роз’єм, та будь-який понижуючий DC-DC перетворювач. Також окремо виведено роз’єм з підсиленими доріжками для живлення зовнішніх пристроїв, як від DC-DC перетворювача, так і напряму від акумулятора. Для заряджання акумулятора використовується модуль TP4056 без захисту. Для нього передбачено окреме місце на платі для відводу тепла. Плату або плати захисту від перерозряду пропонується встановлювати окремо на акумулятор в залежності від того, які значення струму планується знімати з нього. Якщо очікується загальне споживання струму понад 1А, дуже рекомендується припаювання проводів до плати, замість використання штирьових роз’ємів в схемі живлення.

About

Універсальна плата, прошивка, та фреймворк для "ідеальної" електронної іграшки на ESP32-xx.

Topics

Resources

License

Stars

Watchers

Forks

Contributors