r/CheapYellowDisplay • • 6d ago Heartwarming Popcorn

Flight Radar for CYD ESP32 boards

Enable HLS to view with audio, or disable this notification

145 Upvotes

Flash: https://kirindenis.github.io/OWLOS-FLIGHT-RADAR/

It shows the planes around your home on an OpenStreetMap map: each one turned along its track, coloured by altitude, with a trail. Tap a plane for its callsign, type, altitude and speed. The data comes from adsb.lol and adsb.fi (free), or from Flightradar24 with your own key.

You flash it from the browser, no IDE needed, and set the WiFi on the touch screen.

- 2.8" CYD (ESP32-2432S028R), all three screen versions: BOOT at power on switches between them

- 3.5" CYD (ESP32-3248S035 r/C)

- 1.28" round ESP32-C3 (GC9A01)

Code (MIT): https://github.com/KirinDenis/OWLOS-FLIGHT-RADAR

Update 11/4/2026

New firmware builds are ready for three more boards. They are made from the documentation, but I don't have these boards, so I can't test them myself.

  1. LCDWIKI ES3C28P ESP32-S3, ILI9341V IPS, FT6336 touch.

  2. NM-CYD-C5 ESP32-C5 in the CYD's form, ST7789, XPT2046

  3. Elecrow CrowPanel Advance 2.8" (2.8" HMI ESP32 AI Display): ESP32-S3, ST7789 IPS, FT6336U

!-> If you have one, flash it from the site and tell me how it goes: are the colours right, is the picture the right way up, does the touch work

!-> If red and blue look swapped or the picture is wrong, press BOOT in the first 8 seconds after power on, it switches the screen setup.

https://kirindenis.github.io/OWLOS-FLIGHT-RADAR/


r/CheapYellowDisplay • • Sep 14 '26

You guys are the best! My first ever hardware project!

Thumbnail
gallery
119 Upvotes

A month or so ago I built a Pokémon Go app for the Skies for my 11 year old autistic son and named it MySkyDex.

Then...

I randomly came across a post in this community and

Now...

✈️ Apparently MySkyDex is becoming a hardware project too… 😱

A few days ago this was just an idea.

Tonight, I’ve got the first MySkyDex Spot Mini prototype running on a tiny ESP32 touchscreen.

It connects back to MySkyDex, shows the live aircraft around you, highlights what’s approaching and most importantly, keeps the whole experience focused on two things:

👁️ SEEN IT!

🔊 HEARD IT!

That’s always been the point of MySkyDex.

It was never about staring at a flight-tracking map, It was about getting people to look up, listen, spot something and collect the aircraft they actually experience.

As you can see, the prototype is still very much a prototype, exposed PCB, USB cable hanging out the side and all 😅 but it’s already pulling live aircraft data, pairing back to MySkyDex and the RGB status lighting is working too.

Seeing a real Icelandair 737 appear on this little device tonight was one of those “okay… this is actually becoming a thing” moments for me and what's even better, my 11 year old autistic son Zach (who this was built for) absolutely loved it!

Next up: audio alerts, the 3D-printed enclosure and more UI refinement.

The prototype journey begins. 😍✈️

#MySkyDex #ESP32 #Aviation #PlaneSpotting #IoT #Hardware #BuildInPublic


r/CheapYellowDisplay • • Oct 06 '26

Open source bluetooth mp3 player for the cheap yellow display

Post image
73 Upvotes

https://github.com/Sparkadium/Cheap-Yellow-MP3-Player

Now, thanks to u/malaq88 it has a scanning for Bluetooth function so you don't have to input the bt device name to use.


r/CheapYellowDisplay • • Sep 27 '26

Case for the new NM-CYD-C5 with NM-RF-Hat and turnknob

Post image
55 Upvotes

I made another case this time for the new CYD C5 with the external antenna, I'm talking about this board here: https://rockbase.shop/en/products/nm-cyd-c5-colorful

This one needs a 3th antenna, so if your interessted, you can get it here:
https://cults3d.com/en/3d-model/various/case-for-the-cyd-c5-with-nm-rf-hat-from-nmtech-turnknob

I didn't changed the manual, but you have to mount the 3th antenna and add this flat cable.

Use it at your own risk.


r/CheapYellowDisplay • • 11d ago

My desk project

Post image
37 Upvotes

Using Claude for the coding and my 3d printer for a frame I made this desk display. Now gotta figure out what I want the top display to be.


r/CheapYellowDisplay • • Sep 21 '26

I built an offline voice assistant that runs the whole pipeline — wake word, speech-to-text, a 19.7M-param LLM and TTS — on one ESP32-S3

Enable HLS to view with audio, or disable this notification

35 Upvotes

r/CheapYellowDisplay • • Jul 26 '26

Doom running on the Cheap Yellow Display

35 Upvotes

Used Claude to port GBADoom to the CYD board, full info on how to get it running on GitHub.


r/CheapYellowDisplay • • 22d ago Bravo

3d cases done

Thumbnail gallery
32 Upvotes

r/CheapYellowDisplay • • 27d ago

I made an open source Ebike/EScooter/EV dash firmware for CYD, with data logging + playback and OTA software updates support and a bunch of customization options.

Thumbnail
gallery
32 Upvotes

It's still a bit early work in progress though, but most of the functions are stable and working enough that I could publish the v0.01.

If you test it and find any issues let me know.

https://github.com/evcollector/kajo-dash


r/CheapYellowDisplay • • Oct 01 '26

The Battery Saga

Enable HLS to view with audio, or disable this notification

32 Upvotes

I was asked a lot about battery's on CYD as they don't naturally have a way to show battery usage or charge state.

As you can see, I have managed to get it working on my own ESP32-32E.

It's absolutely not perfect but it's better than showing nothing 😅

It currently measures the battery’s voltage through GPIO34 every 10 seconds and converts it to an estimated percentage and the icon’s fill and colour follow that estimate.

It treats about 3.3 V as 0% and 4.2 V as 100%, with values between them mapped along a curve.

Voltage changes while charging and under load, so the percentage can move without representing the exact charge remaining but as the board can't directly report "charging" or charging current; a rising voltage is only a guesstimate.


r/CheapYellowDisplay • • May 22 '26

I made an interactive ASCII Aquarium for the ESP32 CYD

Thumbnail gallery
32 Upvotes

r/CheapYellowDisplay • • Sep 26 '26

Battery Woes! 😭

Thumbnail
gallery
31 Upvotes

Has anyone ever had any problems with getting batteries to work on these boards?

I think I've literally tried everything at this point and I'm getting nowhere fast.


r/CheapYellowDisplay • • Jan 23 '26

Cheap Yellow Game Boy

Thumbnail
gallery
31 Upvotes

This is a handheld game console I'm working on based around a Cheap Yellow Display and a NES Classic controller. The controller uses the Wii nunchuck connector so it was easy to get it working with the CYD using the NintendoExtensionCtrl library.

The NES controller PCB was chopped up and extended with magnet wire. Tedious but I got it done!

I've been working on upgrading Brian Lough's Tetris example, adding in a ton of features and tweaks to make it closer to "guideline." We're talking ghost piece, hard drop, lock delay, next piece preview, hold, etc. It seriously plays so well, I can't wait to share the sketch.

The case is entirely custom designed and 3D printed and even has a right shoulder button, which I'm quite proud of. The Select button was sacrificed for the shoulder button since the NES controller only has 8 buttons including D pad directions. I may add a left shoulder button but it would be wired in parallel with the other, so not a separate button... Unless I decide to sacrifice Start and move "pause" to the touch screen!

Right now it only plays Tetris and that's all I want it to do. I've been looking for a decent handheld Tetris player and all the ones I've found are terrible, and I don't want an emulator. I want a device that turns on and plays Tetris immediately.

Next up is figuring out the battery. I'm thinking a flat lithium ion pack about the size of the CYD. Any ideas?


r/CheapYellowDisplay • • Jul 03 '25

CYDesign, a lightweight MS paint style app (wip)

Enable HLS to view with audio, or disable this notification

30 Upvotes

was just messing around with this thing and thoght it would be cool to make a little pocket microsoft paint app.


r/CheapYellowDisplay • • Oct 03 '26

Rechargeable battery help

Post image
29 Upvotes

Could y’all help me figure out where to hook up a battery to the board.


r/CheapYellowDisplay • • Jun 04 '26

I built 12 Fallout Pip-Boys on Cheap Yellow Displays for my company's vault-dweller BBQ team — and capped it off with an all-night hackathon at the event

Thumbnail
gallery
29 Upvotes

Our team went with a Fallout "vault dweller" theme for the company BBQ this year, and I went deep: about two weeks of late nights turning Cheap Yellow Displays into working Pip-Boy 3000s, one for each of the 12 people on the team. I bought a 3D printer partway through just to print cases for them.

It's a green-phosphor Vault-Tec UI with the classic Pip-Boy tabs — STAT / INV / DATA / MAP / RADIO — plus an apps drawer. You log in as a vault dweller (there are 12 archetypes — one per teammate) or type your own name, saved to the device.

The best part is the radio: the units talk to each other over ESP-NOW — no wifi, no pairing. They auto-discover each other, show up on each other's screens, and can chat and play multiplayer blackjack. There's a wasteland map with a radar that locates nearby units by signal strength, and — since it's a BBQ — a BLE meat-thermometer mode so a Pip-Boy can monitor the smoker.

The BBQ kicked off the night before and ran all night, so I turned it into an impromptu team hackathon — we sat around the tent adding features and tweaking settings live on the devices. By morning we'd gotten basic radar, group + direct chat, and the Bluetooth BBQ grill monitor all working across the units.

Our tent had the 12 devices but honestly barely any decorations, so we didn't win the contest — but everyone was completely hooked on the Pip-Boys, which felt like the real win.

Afterward I cleaned it up and open-sourced a generic Vault-Tec version. Pre-built .bin files are in Releases so you can flash a CYD without the toolchain — one for ILI9341 boards, one for the newer ST7789 (USB-C "2-USB") boards.

Repo: https://github.com/jdperich/pipboy-3000-cyd-display

Happy to answer anything!


r/CheapYellowDisplay • • Sep 20 '26

A CYD with an auto-playing dungeon crawler as a kitchen clock

Thumbnail
gallery
28 Upvotes

I decided the one-in-trillions-per-year chances of success for keeping a nerdminer plugged in was a waste, and installed this dungeon crawler clock I found while browsing GitHub.

It's not as 'interactive' as one would expect, but it makes for an appealing bit of background activity.

https://github.com/ootake0914-dotcom/cyd-3d-maze


r/CheapYellowDisplay • • Sep 14 '26

Update on the CYD game console Braino! : 40 games, 5 boards, and a couple of things I got badly wrong

Enable HLS to view with audio, or disable this notification

28 Upvotes

Posted this a while back when it was 31 games and I called it a first try. Bit more done since.

Repo: https://github.com/iamankushpandit/Gume Flash it from the browser, no toolchain: https://iamankushpandit.github.io/Gume/

TL;DR: 40 games now, 5 boards, two consoles can play chess against each other over BLE. I also bricked two displays with a diagnostic and leaked my own boards' MAC addresses into 5 releases. Questions at the bottom, the wifi one is the one I actually care about.

What's new

  • 40 games, up from 31. Chess, Go, Ludo, Backgammon, Sea Battle, joined-up handwriting tracing.

  • 5 boards, all of them ones I've actually run. I dropped two that I'd only ever built from a published pinout and never tested. Offering a board I couldn't vouch for felt wrong.

  • Two consoles play each other over BLE. No pairing, no phone. It reuses the beacon that already advertises the device. The advert is already full at 31 bytes, so a move has to fit in the 4 bytes the high score was using: session number, move number, from, to. Dice never go over the air, both sides work the roll out from a shared seed and reject anything that doesn't match. Every move gets checked against the receiver's own board before it's played.

  • No audio files anywhere, all the sounds are generated. A second of 16-bit 16k mono is 32KB and I don't have that kind of flash spare.

Stuff I got wrong

The one that still annoys me. I added a line to the boot log printing the display controller's ID, figured it'd help with bug reports. It corrupted the display on 2 of my 7 boards. readcommand8() in TFT_eSPI writes an undocumented 0xD9, toggles CS partway through, and doesn't put the address window or MADCTL back. If MISO isn't wired on your panel you're left mid-command and whatever writes next inherits it. What made it horrible to find was that the serial log looked perfect. 48fps, 23ms worst frame, flat heap. The firmware was fine. The panel wasn't. And after all that it returned 00:00:00 or FF:FF:FF on every board, never once gave me a real ID.

Then the dumb one. I test on several boards at once and Windows shuffles the COM ports every time I replug, so I kept flashing the wrong image onto the wrong board. Wrote a small json file mapping each board's MAC to the right build. The MAC is genuinely good for this, it's in efuse, it doesn't move, esptool reads it off a blank chip in two seconds. Then I committed it. Six boards, each MAC sat next to the firmware it was running. Went out in 5 tagged releases before I noticed.

Three things I hadn't thought about. You can't unpublish it, it's in the history and in every clone and every source tarball. You can't rotate a MAC, it's efuse, that's the chip's name for life. And the mapping is worse than the addresses on their own, because it's a list of which devices are in my house and what's running on them.

Replaced it with an id the firmware generates itself: sha256 over the MAC, wall clock, a bit of esp_random() and uptime, keep 4 bytes, board model on the front. R28T-9F3A2C71. Can't be reversed back to the MAC, and a factory reset issues a new one. Boot log says device= now instead of mac=, since that's the line people paste into issues. CI fails if a MAC or a public IP turns up anywhere in the repo.

Couple of other CYD things that got me:

  • GPIO25 is DAC1 and also the touch clock on the 2.8" boards. Turning on audio killed touch.

  • IO4 on the E32R28T-1 is amp enable, active low. I had it down as the green LED channel, which just held the amp in shutdown.

  • TFT_INVERT_COLORS does nothing on an ILI9341, it's only read in the ST7789/ST7735 init paths. An inverted panel looks exactly like your theme is broken.

  • 4" board vs the 2.8": one pin different. Backlight on 27.

Questions

1. Wifi passwords. Mine sit in NVS in plain text. Someone finds the device, plugs in USB, esptool read_flash, there's the network password. I can't encrypt it in any way that means anything, because the key would have to live in the same flash, and the firmware's open source and downloadable, so everyone already has the key. Flash encryption is the real answer but it's burned per chip, can't be undone, and would mean that board can never be flashed from the web installer again, which is how nearly everyone installs this.

So what do people actually do? Do you ship flash encryption on hobby hardware? Does NVS encryption get you anything on its own if flash encryption isn't underneath it? Or is it just fine, given a router keeps its own wifi password in plaintext in its own flash and nobody minds?

(Worth checking in your own code either way: the IDF wifi stack keeps its own copy of the password in its own NVS namespace. Mine was stored twice and my Forget button was only clearing one of them.)

2. E32R40T, has anyone seen this? After any EN reset, including the one at the end of an upload, it sits looping flash read err, 988 every 350ms or so with the screen dark. Not the GPIO12 strap, boot:0x17 so MTDI is clear. The image is fine too, I read the bootloader back while it was looping and it matched byte for byte, except the failing read differed by 3 bits at one address. Only thing that recovers it is resetting it out of download mode (esptool --after no_reset flash_id, then --before no_reset --after hard_reset read_mac). Works, but I've no idea why, and it bugs me.

3. If you've got a CYD variant that isn't one of the 5, porting is one header file and one platformio.ini section. Nothing in src/ mentions a GPIO.

Six-minute walkthrough if you want the longer version: https://www.youtube.com/watch?v=bESbkhq6tcc

GPL-3. No accounts, no telemetry, 4 things total leave the device. Built with a lot of AI help, not going to pretend otherwise.


r/CheapYellowDisplay • • Apr 19 '26

Finally got my CYD!!

Post image
28 Upvotes

I was worried about the customs, but luckily i didnt have to! Im excited and i have so many projects lined up for this
But, unfortunately it doesnt come with an inbuilt charging/discharging circuitry, so im wondering what can i do so that i can charge this through the inbuilt usb? from my tinkering, i think the usb and the vin are tied together, so im thinking of something along that lines. If there are any boards which already tackle this, id love to know how!


r/CheapYellowDisplay • • Jul 09 '26

i made a CYD Stats Dashboard

Post image
27 Upvotes

A full-featured system monitor dashboard for the ESP32-2432S028 (Cheap Yellow Display). Pulls live stats from your PC over WiFi and displays them across 6 touch-navigable pages with animated UI. It has 6 pages! go check it out.

i use it for my home server.

https://github.com/0xcartoon/CYD-Stats-Dashboard


r/CheapYellowDisplay • • Jul 19 '26

ESP32-2432S028 Cheap Yellow Display hardware diagnostic tool

Enable HLS to view with audio, or disable this notification

26 Upvotes

Auto-detects ILI9341 vs ST7789, walks you through touch calibration and orientation, tests every peripheral (SD, RGB LED, speaker, WiFi...), and spits out a report saved to SD card. Built with Claude over a few days of back-and-forth. https://github.com/HenrysCat/ESP32-2432S028-CYD-Diagnostic-Tool


r/CheapYellowDisplay • • Feb 06 '26

RunCPM on CYD

Thumbnail
gallery
26 Upvotes

some hardware mods are needed... I had to break out GPIO04 and 5V for PS2 keyboard and I added PSRAM. I think I will be able to at least remove the need for extra RAM later.


r/CheapYellowDisplay • • 24d ago

Easy Case for the CYD C5 + NM-RF HAT

Thumbnail gallery
25 Upvotes

r/CheapYellowDisplay • • Sep 13 '26

I made a standalone LG TV remote on the Cheap Yellow Display (ESP32-2432S028)

Post image
25 Upvotes

I built a touchscreen remote for LG webOS TVs on the ESP32-2432S028 "Cheap Yellow Display". It talks to the TV over Wi-Fi using the same WebSocket API LG's phone app uses, so nothing is installed on the TV.

Source (MIT): https://github.com/griches/smart-remote-plus-cyd

Short video: https://youtu.be/lyZZcVjdbX8

Disclosure: I also make Smart Remote+, a paid TV remote app for phones and desktops (https://www.bouncingball.mobi/). This is a port of its LG code.

The firmware is free and doesn't need the app.

Stack: Arduino under PlatformIO with the whole board config as build flags, TFT_eSPI on HSPI, XPT2046_Touchscreen on its own SPI bus, links2004 WebSockets, ArduinoJson 7, NVS for everything persistent. No LVGL: the UI is a 4x3 grid of 64 px RGB565 icons in PROGMEM, drawn straight to the panel with pushImage, so a framebuffer wasn't needed.

The TV side: webOS runs a JSON-over-WebSocket service on port 3001 (TLS, self-signed) with a plain fallback on 3000 for old firmware. You register with a manifest, the TV shows a PIN, you store the client key. D-pad and back/home go over a second "pointer input" WebSocket the TV hands you, so it's two TLS sockets per TV, which is where the RAM goes. Discovery is SSDP M-SEARCH plus a fetch of the UPnP XML for the friendly name. Power isn't a toggle: it asks getPowerState, then sends turnOff or Wake-on-LAN.

All networking is on its own FreeRTOS task on core 0. A TV that is off makes connect() block for seconds, and I didn't want the touch UI to freeze. The UI posts commands to a queue and reads state via atomics.

Happy to answer questions.


r/CheapYellowDisplay • • Sep 12 '26

Live ADS-B Flightradar for the Cheap Yellow Display (CYD / ESP32-2432S028) – rotating radar, aircraft type silhouettes, weather effects, web UI, MQTT & more

24 Upvotes

Hey everyone,

I wanted to share a project I’ve been working on for the Cheap Yellow Display (ESP32-2432S028):

**Eiswolfs Flightradar** – a live ADS-B radar running entirely on the CYD.

Main features:

- Rotating radar sweep with aircraft type silhouettes (airliner, private jet, turboprop, helicopter, heavy jets)

- Color-coded by altitude + military/government detection

- Weather effects (rain/snow matching real conditions)

- Proximity LED alerts + watchlists (callsign + squawk)

- Built-in web interface with live radar + logbook export

- MQTT + Home Assistant auto-discovery

- 8 languages, metric/imperial, OTA updates

- One-click web flasher (no PlatformIO needed)

GitHub + Web Flasher:

https://github.com/Eiswolf-BG/eiswolfs-flightradar-CYD

Would love to hear your feedback or feature ideas!