Self-contained (HW + SW) graphics module? - Page 1
Forum section: electronics / projects

author: Just_Understand_It
author_rank: Contributor
timestamp: August 31, 2019, 10:21:18 am
content: Seeing Dave's latest videos about his quest to create a power-on counter display [and his statement along the lines of "I don't want to faff around (in a micro-controller) with fonts and things], got me thinking about a self-contained plug-in graphics module...Would that be "a thing"? ie. something anyone would be interested in? Does it already exist?The idea is this:A display module, with a dedicated (ARM) micro-controller. You interface with it via SPI, or whatever, and send it graphics commands - a bit like an X11 window server (but much nicer, obviously :-)My anti-idea is:What's the point? Any product with a graphics display (like the rather nice 2.7" 400x240 Sharp Memory Display, LS027B7DH01A) will cost enough that it will have a fairly powerful processor already. One that can interface with the display directly, and use graphics libraries. In fact, why not just run Linux and an actual X server...On the other hand:Maybe someone doesn't want to implement a graphics driver or use Linux (or, God forbid!, X). They just want the display to draw some text somewhere, draw some boxes, geometric primitives or images, maybe just send it a few thousand data points and the command "make a graph out of this please"...... but that still just boils down to having written a nice graphics library. If it's fast, takes just a couple of K of (code) space and (optionally, the Sharp beingmemorydisplay) a bit more (15 Kbyte) for a 400x240 graphics/text buffer -- well, then it'll fit fairly easily in any decent micro-controller...The problem is that any sort of graphics display is relatively expensive, to the extent that it's not that much extra hassle to write one's own driver for it.So, just fishing for comments like "yeah, it's pointless" or "No! That's brilliant! I'd totally want to spend LOADS of money on that. Simple yet powerful, self-contained, no-hassles? That's just what I've been looking for!"

author: Psi
author_rank: Super Contributor
timestamp: August 31, 2019, 10:32:09 am
content: Already exists.Lots of text dot matrix displays have a controller with the font inside. You talk to them over SPI/I2C and tell them to draw ascii etc..You can also get large color graphical touch displays, like 320x240, maybe bigger that have a chip on board that does full GUI control.So you can for example tell it over SPI to draw you a slider control at X,Y and it will handle all the stuff needed so the user can touch the slider and drag it around etc.. And of course they support text, pictures. buttons etc.. Allowing you to build a full graphical HMI system using a tiny mcu and very little code. Sparkfun had them for a while.Herehttps://www.sparkfun.com/products/15152

author: The Soulman
author_rank: Super Contributor
timestamp: August 31, 2019, 10:38:17 am
content: Nextionhttps://nextion.tech/

author: Kilrah
author_rank: Unknown
timestamp: August 31, 2019, 10:53:28 am
content: https://4dsystems.com.au/Lots of existing "hmi-type" solutions out there. Obviously they're rather expensive.But they're not really useful anymore, you can literally get an arduino and an LCD for <$5 and get it running drawing text and graphics within minutes."faffing with fonts" is really not an issue anymore, there are so many libs doing all the grunt work for you.The other day I needed to test a load cell I bought for a project, I took an arduino and a $1.70 graphical LCD I had just received from aliexpress, and got it displaying my weight in my favorite font from the hundreds of them available in the u8g2 lib in 12 lines of user-written code and about 30 minutes, 20 of them being for assembling the hardware...If you want a DIY full HMI, look at the LVGL lib:https://littlevgl.com/

author: Just_Understand_It
author_rank: Contributor
timestamp: August 31, 2019, 12:28:40 pm
content: Ah. Thanks everyone! I hadn't heard of HMIOf course, I'll carry on playing with my display (and lib) -- it's basically like those HMIs listed above (except that it's smaller, faster and uses microamps instead of milliamps, obviously) -- for a battery powered project.