UScreen: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
[[File:Uscreen-doors.jpg|thumb|a uScreen esp8266 module displaying the status of some Door Monitor events ]] | |||
I got some 5110 LCDs for another project. These LCDs are 84x84 resolution, and come from old cell phones (as every screen I have is a bit scuffed up). Even after putting the recycled lcds on their own PCB with some supporting components, these are still among the cheapest screens available to the hobbyist, even cheaper than 16x2 character LCDs or the tiny OLED modules. | I got some 5110 LCDs for another project. These LCDs are 84x84 resolution, and come from old cell phones (as every screen I have is a bit scuffed up). Even after putting the recycled lcds on their own PCB with some supporting components, these are still among the cheapest screens available to the hobbyist, even cheaper than 16x2 character LCDs or the tiny OLED modules. | ||
Latest revision as of 09:10, 17 June 2019
I got some 5110 LCDs for another project. These LCDs are 84x84 resolution, and come from old cell phones (as every screen I have is a bit scuffed up). Even after putting the recycled lcds on their own PCB with some supporting components, these are still among the cheapest screens available to the hobbyist, even cheaper than 16x2 character LCDs or the tiny OLED modules.
Anyways, I first needed to test the screens I received from a questionable Chinese website, and find out how to use them. To this end, I glued an esp8266 module, voltage regulator, and some filter capacitors onto the back of the screen, and ran all the important connections (power, programming enable, and serial) to a female pin header glued along one edge of the screen.
On the software side, I was able to use u8g2lib to get the screen working. To make it actually useful, I decided to set it up like a dumb terminal, in which lines appear at the bottom and scroll upwards. The connection to the screen will be a raw TCP connection. No higher protocols are needed. We can send these raw packets using PuTTY's RAW mode, or with a Linux command like:
printf 'some text' | nc [ipaddress] [port] -w 1
. I used a command like this on my Door monitor PHP script to push updates of the doors to the screen.
Finally, I decided to encase the project in a 3d printed case, making it another ESP8266 Wilson product. I already have another esp8266 module called uButton, so I named this one uScreen (Universal SCREEN).
Here are the STL files for the case, and an INO script for the arduino-compatible code. File:UScreenv1.zip