Giter Site home page Giter Site logo

m1cr0lab-espboy / espboy Goto Github PK

View Code? Open in Web Editor NEW
5.0 1.0 0.0 47.6 MB

ESPboy Handheld Driver

Home Page: https://m1cr0lab-espboy.github.io/ESPboy

License: GNU General Public License v3.0

C++ 93.69% C 6.31%
arduino esp8266 platformio espboy handheld retrogaming iot stem-education

espboy's Introduction

ESPboy Library

ESPboy2

This library provides a driver for the ESPboy multi-gadget handheld created by Roman Sokolov. It gives you easy control over all its peripherals (128x128 TFT screen, 8 push buttons, and NeoPixel RGB LED).

ESPboy library relies on the following dependencies:

I noticed that most of the developments around the ESPboy use the TFT_eSPI library, but I prefer LovyanGFX, which has better optimizations and more easy configuration.

Getting started

The bare minimum to start coding with ESPboy library:

#include <ESPboy.h>

void setup() {

    espboy.begin();

}

void loop() {

    espboy.update();

}

Please read the user guide for more details.

Acknowledgments

I want to thank the authors of Adafruit MCP23017, Adafruit MCP4725, and LovyanGFX libraries, without whom the ESPboy library would not be what it is.

In particular, I warmly thank lovyan03, who kindly agreed to add support for ESP8266 in LovyanGFX and, more specifically, for the ESPboy, to make our lives easier with his outstanding graphics display driver. You can thank him by starring โญ the LovyanGFX library.

I also thank tobozo, who helped me to configure the display device when I decided to use the LovyanGFX library for the ESPboy.

espboy's People

Contributors

m1cr0lab avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

espboy's Issues

Homemade espboy doesn't display anything

Hi Steph,

I made an espboy on a breadboard with a (clone ?) nodemcu module and this screen:
https://boutique.semageek.com/fr/970-ecran-tft-144-avec-microsd-st7735r-3009794872432.html

I got the appstore v2 to work and every software that uses TFT_eSPI lib seems works fine too.
But every time I try one of your creations, I get a white screen.
I get the same thing if I try to compile a project using your ESPboy library in Arduino IDE.

A voltmeter shows the tft's CS pin is in high state (from the MCP23017's GPIO B0). As I think it has to be in a low state or the communication to work, I disconnected the CS pin from the MCP and manually connected it to GND instead.
The voltmeter shows signs of activity on the MOSI pin.

From the discussion you had on LovyanGFX's github, I saw there was some problems with IRAM/PROGMEM, so I used "Byte/Word access to IRAM/PROGMEM", thinking the startup bitmap didn't show because Lovyan's lib couldn't access the bitmap's data.
It didn't work.

I also tested a very simple project with those defines and includes:

#define LGFX_ESPBOY
#define LGFX_USE_V1
#include <LovyanGFX.hpp>
#include <LGFX_AUTODETECT.hpp>

and manually started a LGFX object, trying to fill a little rectangle on the screen, but it remained white.
So it's not a problem with IRAM/PROGMEM.

The nodemcu uses a CH340 USB to serial chip (that's why I think it's not a genuine one). I got a bunch of them and I'd like to use it instead of buying a Wemos Lolin Mini D1.

The screen has an SD card slot, but the SD's CS pin is not connected (I tried once with some games from the appstore, but I also got a white screen. By disconnecting it, everything was back to normal).

Do you have any idea to help me get this to work ?

I plan on designing a PCB to fit the ESPboy in an old GBA casing.
I would also like to add an SD card slot.
I can't make the PCB if I'm not sure everything works fine on breadboard.

From your name and location, I think you speak french and so do I.
I think it's better to use english so that other people might benefit from the discussion, but if we have to switch to french to make it easier, you know it's an option.

Thanks in advance.

Gilles

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.