HTMAA 2024 - Week 9

Output Devices

Home

Continuing on from my Simon Says game last week, I decided to add a monitor to it to display the status of the game on an LCD screen instead of the computer monitor.


x

I took code from and followed this tutorial to get the screen initialized.


x

At first it didn't work.



To debug, I tried scanning for if the device was actually being detected.


x

At that point, I realized that the display itself was broken and swapped it for another, working screen.


x

Huzzah, it worked!



So I played around with the template code, and at first I thought this was the proper way to send text to the display.


x

But it turns out, you have to restart the cursor position every time you send new text to the display, after clearing the screen.


x

So THAT was actually the issue! When I put the old screen back it booted up just fine!



Anyway with that out of the way, I modified the code to work with my Simon Says code and from there it was history!



I took this working breadboard and made it into a schematic on KiCad.


x

Here is the PCB diagram. Note that I tried to make it have rounded corners.


x

I exported out the gbr files. Because there were through holes (vias) I also exported drill files.


x

Putting it into gerber2img, I got out 3 files for contouring, edge cuts, and the drilling.


x x

I then put it into bitrunner and initialized the cut.


x

It looked great as it was milling, although some tiny little hairs came out..


x x

The drill file was not the same size as the original file so I had to manually align it.


x x

The vias came out well for everything EXCEPT for the pins of the microcontroller.


x x

I realized I'd have an issue soldering the joystick because it was already soldered to its header pins and the milled PCB lacked through holes, so I just soldered the base of the headers to the PCB.


x

This approach, however, would not work on the screen, so I eventually decided to just put female headers on that the pins of the screen and the ESP32 could plug into.


x

Here's the final board! I forgot to take a video of it working but it worked out pretty well! There is a slot for a second joystick in case I wanted to add one but I figured with the soldering pain already happening to leave it alone.


x

That's it for output week! I'm glad I was able to integrate both inputs and outputs into this board, and get some practice with using them. In the future, I think my outputs for the toolbox will simply just be indicator LEDs since I don't need any complicated analog detection mechanisms, only digital detection. But if I can do analog, then digital inputs and outputs will be no problem at all!



Home

Previous Week | Next Week