Nerd-Bait: ESP8266 + ILI9341 Screen

In honor of my-own-damn-self, we’re going to call it Elliot’s Law: “When any two interesting parts get cheap enough on eBay, someone will make an interface PCB for them.”


And so it is with [Johan Kanflo]’s latest bit of work: a PCB that mounts an ESP8266 module onto the back of an ILI9341 color display, with user button, power supply, and an auxiliary MOSFET. Four bucks for the screen, four bucks for the ESP8266 module, and a few bucks here and there on parts and PCB, and you’ve got an Internet-enabled, full-color, 320×240 graphical display. That’s pretty awesome, and it’s entirely consistent with Elliot’s Law.

However, we almost can’t forgive [Johan] for the extreme geek-baiting. Posting the cuuuute little screen next to a Stormtrooper Lego figure is already hitting below the belt, but displaying a Commodore-64 startup screen, in what’s got to be exactly the right font and color combo, borders on being pathologically emotionally manipulative. You’re playing with our hearts, [Kanflo]!

We love projects like his ESP8266-and-RFM69 mashup and his gutted-Macintosh-planespotter-gizmo, so we’re inclined to forgive. And besides, we’re still on a high from naming our first law and we’re wondering which two eBay parts are up next.

43 thoughts on “Nerd-Bait: ESP8266 + ILI9341 Screen

      1. It might be very difficult to connect this to display. :-( It uses the Graphics card of the PC with the browser to emulate the VIC-II chip. Only the 6510 CPU “runs” on the ESP.

        1. MESS emulates the C64, you could probably pretty much paste the code in. It only needs a bitmap to write to, really. There’s been C64 emulators since before there were 3D graphics cards, and it doesn’t need any real processing power.

          Doing it in a web browser is pretty wasteful, though I suppose it’s quick if you have the software available.

          1. Indeed.. especially considering the esp runs up to 160Mhz it should easily have enough spare cycles… now what about an emulated Ethernet adapter in the emulated C64 for internet access! and use it to render with contiki…

  1. I have made a couple of these, very useful to display information like traffic, weather, website status and stuff. Mine have another micro there and use the ESP01, but this is a better approach.
    The only thing that bugs me is the need for a cable.
    Good work!

    1. i think the biggest issue is a lot of these 3d printer controllers are all atmega based (pretty sure mine is). having ran one of these screens on an 8 bit arduino i can say you really need a facter cpu if you want to run anything more advanced than a basic sprite and text engine. in this case the cheap character display is probibly going to serve you better.

      move up to an arm and were in buisness (ive gotten decent performance out of my due). you could visualize the tool path with a crude 3d renderer, display stl files. im not sure if you would want to do slicing on the arm, since doing that on the computer i faster, more convenient, and probibly yields better results.

      1. Precisely that: the normal character screens need simple commands like “write Temp 234 at line 3 position 0”. A graphical lcd needs to fetch each pixel required to make those characters from a font library which can be 100s of kb. That in the situation where the controller spends most of the resources taking care of the motors.

        I am sure such screens will land in newer arm based controllers. Fetch an ESP in there and you might be able to skip octoprint.

        1. Hundreds of KB for a font? For an 8-bit computer they were just bitmaps. 256 characters (though usually they didn’t have 256 printable ones) x 8 lines, 1bpp so 1 byte per row = 2K. You can probably get away with less, depending on how many printable chars. Often the font is accessible in the 8-bit’s own ROM, so you effectively need 0 extra space for it.

          1. aiaiaia….. extra zero there. No, it is tens of kb for some bitmap font, to get to a decent size to see on that LCD. Then each bit in the font actually turns into 16 transferred bits because of the 16 bit color. The point i was trying to make was in relation to using this on a 3d printer screen: it takes more memory to store the fonts (you either put them on SD card, external or flash), more data transfer to write the same thing on the LCD and more CPU power to do this. It is an unnecessary complication – there is not much that a graphical LCD brings to the basic use of the printer.

    2. That’s what’s on the control board in the Monoprice Select Mini / Malyan M200 printer. Using an ESP8266 for the color display and WiFi and something else for the rest of it.

  2. Ehhmmmm… despite the screen showing a startupscreen of a C64, what does this have to do with a C64.
    Is it a drive, is it an emulator, is it a browser running an emulator, is there any related functionality with Commodore?
    I find this, misleading or otherwise very unclear in what it actually does.

    This project appears only to be using the name Commodore 64 for his own benefit and nothing else.
    These kind of projects should get no attention in this manor, it simply is wrong!

    1. I hate to dogpile on here but this is true, I don’t want “nerd-bait” or any other buzzfeed-esque clickbait articles on here. If that is a full on c64 emu then great, otherwise after reading the article (which doesn’t say either way) I’m left disappointed.

    1. Are micro-USB connectors really that much smaller than mini-USB connectors? If they where smaller, anyone would unplug them by pulling the cord instead of trying to grab a tiny plug.

      1. Mini USB is infinitely superior to Micro USB. Why? Because it’s possible to solder the connector to the PCB in a way that doesn’t break on the first cable insertion. I have seen endless products with Micro USB sockets missing but only one EVER with a broken (not missing) mini USB.
        The size difference is not really an issue in this case either. I will happily whip anybody I catch using microUSB on their own project with the microUSB cable I have still attached to the plug from my quadcopter that ripped off because of the weight of the cable.

          1. So they say… Mini is now obsolete, I don’t think anyone makes anything with it any more. They settled on micro. I still have a few mini cables for the hardware that takes it, mostly just to charge batteries. Old phone charger does well for that.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.