ESPboy DIY heroes welcome! )

On my V3.2 board, I changed control of the LCD DC signal from D8(15) to D0(16), to match the current hardware revision V3.7:

  • Cut trace on bottom layer from expansion header pin 12 to LCD DC. The trace is mostly under the header but I was able to scratch it open just above the solder pad using a sewing needle.

  • Cut trace on top layer from MCP23017 pin 2 (GPB1) to expansion header pin 7.

  • Cut trace on top layer from D0(16) to MCP23017 pin 20 (INTA), leaving enough of the trace from the D0(16) side to solder a wire to.

  • Add wire on top layer from D0(16) trace to header pin 7 to LCD DC.


1 Like

I drilled a hole in the back panel over the potentiometer, so I can adjust the speaker volume without removing the panel. Maybe do this for production?


1 Like

Here is my perf board version following the original circuit.
But I simplified the speaker a bit to just connect the output (GPIO 0) through a 10uF Capacitor to a 10K variable resistor then to the buzzer.


But it’s better to use GPIO0 for LCD DC pin and D3 for sound to provide compatibility with all the original ESPboy software and AppStore )


Effects of Varying I2C Pull-Up Resistors

1 Like

Here the video of my DIY perf board version of ESPBoy.
With volume control and headphone jack (added after the video).
using MCP23017 GPIO0 for LCD DC pin and D3 for sound.


5 posts were split to a new topic: Wiring a display with a different pinout

Hello everyone! Here is my assembly of ESPboy, the speaker did not find a small one to stick on. Quite a nimble toy turned out. Special thanks for helping Roman.

Not a working speaker is soldered in the photo))) I attach the video:


ding to this scheme:

1 Like

I made one more change to my ESPboy: I wired the data pins on the battery charger board’s micro-USB connector to the D1 mini board. Now I can use the charger USB port for both charging and data connections. I no longer have to remove the top cover to connect to the D1 mini’s USB.

On the charger board, I drilled two small holes close to the USB connector D+ and D- pins. The holes are drilled at an angle, so they’re wider apart on the other side of the board. I cut away some of the copper around the pins and holes to make soldering to the pins easier, with less risk of shorts. I also drilled two larger holes close to the centre of the board for a string to be used as a strain relief for the wires.


On the other side of the charger board I cut the copper and scraped off the solder mask to make two pads to solder the wires to.

For each stranded wire, I kept two of the strands long and passed them through the hole. The remaining short strands are soldered to the pads. I used black sewing thread in the centre holes to hold the wires and put some glue on the knot to prevent it from coming loose. I soldered two pins from a round pin socket header strip on the other ends of the wires as a connector.


The longer wire strands that went though the holes are soldered to the USB connector pins.


I soldered wires to the D+ and D- pins of the USB serial chip on the D1 mini and put two pins from a round pin header strip on the other ends.


The pins are plugged into the sockets and then everything is reassembled.




It’s amazing mod! I thing i’ll try to make it standard solution for all future ESPboys as well )


Hello everyone! Recently I completed the creation of an espboy clone) For me, the consoles are only convenient in horizontal projection, so i decided to do just that. I used the minimum number of components:


Amazing DIY clone!
Later you can add the RGB led and mcp4725 DAC module to control LCD backlit.
These details are standard ESPboy features )


Thank you! In the near future, I hope there will be time for this)


Hello everyone!, Here is my espboy clone. I am interested to make it look like gameboy console, so I made the shell from universal project box since I have no access to any 3d printer.

(the hole for the button is not perfect but it does its job)

The disturbing black tape on the left of the screen is to reduce the RGB LED light. Actually it is transparent vinyl sticker so the light can pass through. I should stick it from the inside. Now it looks so ugly. On the right side I made a hole for buzzer sound.

Here is the inside. I made two hole for charging port and power switch in the body. The Red switch is connected to buzzer and wemos D3 pin. I don’t know why, when the buzzer is connected to D3 when uploading the code, it always failed and it said “esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header”. So, I decided using switch to disconnect the buzzer when programming.

(a view from bottom side)
Currently I have to remove front panel from the box for programming. In the future I’m interested to change the connection like @MLXXXp did.

(a view from right side)

(a view from top side)
I decided to place the screen landscape since I know the TFT LCD orientation can be rotated simply with only change the tft.setRotation(0); to tft.setRotation(3);. But then I realize that it doesn’t work with OTA programmer since all the programs in the “appstore” are using default orientation : tft.setRotation(0);. I wonder if I can edit my own “appstore” and edit all the screen rotation to match my espboy clone.

Here is the example after uploading from “appstore” :


Nice. Well done. Just an idea, but maybe you could make a rotation of your screen to have it in face with a rotation 0 to avoid to change all codes ?
It’s maybe too late but i think it’s could be easier to change it now than to make all needed to have your own app store. Else Roman have put source online for the client here: but i don’t think that server configuration is explained somewhere (maybe i just missed it).
Welcome and have fun :slight_smile:


Thanks for your advice, but sadly it is actually too late. It is not just simply rotate the screen. My screen just fit perfectly right now. If I rotate the screen I must desolder all the connection from mcp23017 to wemos D1 mini since they are in the different protoboard and the wire is pretty short. Maybe I will just enjoy my espboy clone without OTA downloader. :smiley:


First of all, I have to say that ESPboy is a super project. I always think that ESP8266 is a module with great potential. But beside me, many people just use AT command to control ESP8266 as a network transmission tool. I think this is a waste of this powerful module. Of course, I can also think of why ESP8266 is not used much because it has too few pins. . and it’s really a great idea to use MCP23017 to extend the pin position.
I don’t have a D1mini board, but the Schematic of this board’s circuit is very detailed on the network. So I set out to build the entire circuit on a single PCB. I happen to have the ESP8266 module and the CH340 chip and a few other components here. So I think it’s doable.

The picture above shows a typical ESP8266 extension circuit that I have used in other projects and works well.
Similarly, the li-battery charging module based on TP4056 is also rich in data and easy to make.We can draw them directly and share a USB port with the ESP8266 circuit.
When I found the MCP23017 chip using the SSOP package , there was still a lot of space on this PCB, so I chose to add an IIC device to the IIC bus—DS3231 real-time clock.This also reflects the advantages of the IIC bus.
When I put these ideas together, I found that the real difficulty lies in wiring… After I arranged the components, the flying leads looked really complicated.

I am not very familiar with the protocol requirements of open source hardware. so I have put the original logo and text in.
After a lot of effort, I finally connected all the wires, and the final result of the simulation image looks not bad.

I like to make some cartoon graphics on the PCB, I don’t know if this is allowed for open source hardware😅…

I have just finished drawing the PCB,
If there is no problem, then you should prepare to make PCB and buy missing components and,
try do make one .


Your PCB ended up to be very similar to the ESPboy2 PCB except the ESPboy2 uses just a bare display soldered directly to the board, instead of a display module.


wow, that sounds should be cool, I think with the way the entire row female connector makes espboy very thick, I now have some new ideas, I think I can improve the look of my PCB😋。
thank u very much MLXXXp


Hello everyone, I’m here again.
Today I brought my first completed espboy.
:point_down: :point_down:

First I need to correct a schematic error that I posted before.The two wires of the serial port need to be cross-connected


Then my PCB design integrates three circuit layers and makes them all at once.

Then break it apart and polish the edges to get three boards, namely the front board , the main board and the battery board.
The main board is used for the main part, all components except the battery are on the main board; and the battery is connected to the battery board and is connected to the main board through copper nut to provide power.

I used ordinary headers for the expansion port, and its direction is backward. No shortcomings have been found so far, because I don’t have any expansion modules to use.

There is a usb port at the bottom, which can be used for battery charging and program download。

The most expensive one is the screen, but I am very happy to make it in the end.

actually, the battery connection method is bad, because the nuts are exposed, I accidentally put it on the metal plane, causing irreversible damage to the battery.