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”
Has anyone ported Vice to the esp?
Somebody has done a C64 emulator for the ESP8266 that displays in a web browser. It might be possible to hook it up to this display. See https://github.com/NardJ/esp8266-C64 for code.
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.
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.
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 retro.hackaday.com with contiki…
commadorable 64? (flies off to google!)
A bit full of yourself today aren’t ya…
I actually wrote it yesterday on an extraordinary caffiene jag which was combatting too little sleep. The caffeine’s worn off, I got a little shut-eye, and I’m feeling back to normal. Expect humility as usual from here on out.
I just blew coffee out my nose. Humility. *snort*
Haha…excess caffeine just makes me a bit jittery/bonkers so to each their own!
I personally loved it. Three cheers for more Elliot’s Laws!!!
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.
That’s the kind of screen 3D printers should be using, not those old LCD matrix displays from the 80’s.
yeah, i actually run pitft with octoprint, so mines all fancy like that
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.
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.
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.
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.
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.
Mine (Malyan) has a color LCD screen of similar size. And a very crappy rotary encoder.
Should be Williams’ Law, but oookaayyyyyy….
Dammit, hacker ADD strikes again *lets go of yak with small patch of skin bare.* .. So what else can I emulate on this?
And where’s my lawn gnomes*cough* I mean the fried Game Gear I put away for a rainy day.
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!
Yeah… Good luck getting 64kB of ram for an emulator on the venerable ’66. Though I would imagine the ’32 will be a different story.
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.
The article has a link to the source code – pretty sure that’ll tell you for sure.
And if you don’t want “nerd-bait”, why did you bother to click? and comment?
Yeah that was a sneaky trick aimed at those with barely passable reading comprehension skills.
Yuuuup https://raw.githubusercontent.com/kanflo/commadorable-64/master/c64.bmp , a bmp viewer, not an c64 emu. And I commented because I like the site and don’t want it to digress into garbage. You disagree?
they didnt hook up the sd reader.
Just an observation but the WIFI antenna is right behind the TFT. Has the reception been affected?
But will it run Windows 10?
Only if you had installed Win7 or 8 first and refused to update to 10.
LMAO … well played!
this is 2016 and you are still using mini usb
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.
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.
both micro and mini usb connectors come in SMD and through hole versions when it comes strictly to the metal casing. I also prefer the ones with “hooks” that go through the PCB.
Micro is better.
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.
Have I mentioned Mulvey’s Law?
“Anyone who names a law after themselves is a jerk.”
Any touchscreen kit with 2-3″ screen that can be both powered and controlled over usb only from a Raspberry Pi?
Please be kind and respectful to help make the comments section excellent. (Comment Policy)