At this point there are several tracks. The original OP that diappeared unforunately, the Adfruit graphics board, Nextion and 4DSystems Arduino / Linux. If there was enough effort we explore them to see what is best but it seems the Linux Armadillo is the newest to explore and likely the most bang for the buck.
My thoughts on architecture choices. This is by no means exhaustive or comprehensive; these are introductory high-level concepts:
Microcontroller-based (Arduino & similar controllers)
Pro
- No operating system overhead
- Straightforward implementation
- Better performance
Con
- Less language support for helper libraries
- Monolithic solution (i.e. 1 big file) impedes collaboration
- Limited memory for software; could be an issue for complex solution
Operating System-based (Raspberry Pi)
Pro
- Full Support for Python and similar languages = easier to develop & collaborate (github)
- Virtually unlimited storage compared to microcontrollers (think logging, etc)
- Easy hardware support (filesystems, wifi, BT)
Con
- Operating system know-how (updates & patches, installing packages, file permissions)
- Yanking power without graceful shutdown can cause problems
All that said, I agree the Armadillo is the next best step. The issue of smart displays (Nextion with the ability to do easily crank out UIs at the expense of RFI due to more processing on the board) vs dumb displays (simple bit-mapped which requires more code but requires less processing and therefore less RFI) is also a factor.
The only thing that is a potential gotcha for the Armadillo is touch-screen support at a programming level. IF you go with Python and IF you choose to use PyGame as your UI library...there's a longstanding issue where PyGame cannot accurately report the (x,y) of the touch. See this post by me:
Uniden Remote Head Project
I'll have to check which version if PyGame I'm running, and if it's fixed in PyGame 2.0. That would be great.
PyGame is a solid library for graphics and games (collision detection, cameras, scrolling, etc), but honestly it's overkill for a remote head application. It would be nice if there was a simpler graphics library for Python that supported touchscreen, fonts, and simple graphics.