Fetches the latest post from a subreddit and displays it on an ESP32 with LCD screen.
- π Shows latest Reddit post (title, author, score)
- π Press boot button β Read full post text
- π Press boot button β Scroll through long posts
- π Auto-refreshes every 30 seconds
- ESP32 development board
- 1.9" ST7789 LCD display (170x320)
- USB cable
LCD β ESP32
VCC β 3.3V
GND β GND
SCL β GPIO 18
SDA β GPIO 23
RES β GPIO 4
DC β GPIO 2
CS β GPIO 15
BL β GPIO 32
- Clone this repo
- Open in PlatformIO (VS Code extension)
- Connect ESP32 and LCD according to wiring diagram
- Upload code to ESP32
- Run your server that implements the communication protocol
- Power on ESP32 β Shows welcome screen
- Start your server β ESP32 requests and displays latest post
- Press boot button once β Switch to full text mode
- Press boot button again β Scroll down through post
- Keep pressing β Continue scrolling until end
- At end of post β Returns to latest post mode
- Auto-refresh β Gets new posts every 30 seconds (in latest mode)
Any server can work as long as it:
- Listens for
REQUEST_LATESTandREQUEST_PLAINTEXTcommands - Responds with
LATEST:subreddit|title|author|scoreformat - Responds with
PLAINTEXT:full post contentformat - Replaces newlines
\nwith[NL]before sending
- Scrolling is basic (will be improved)
- Works with any programming language server
- Just needs to respect the serial communication protocol
- TFT_eSPI - Display library for ESP32
- PlatformIO - Development platform
Built with π« Berrad (Moroccan magic tool for making atay)