Hi Community,
I've been developing a new device embedding an Onion Omega 2S+ with the need of a small (3,5") touch screen. First, I had a look at the Omega Dash (which seems to be the first choice as many functions are already integrated). However, I ran into 2 main issues:
- First: As I'm much more comfortable using Python than C, I had some issues really getting the hang of LVGL.
- Second: The resistive touch screen, didn't really quite fit my requirements regarding "quality". A capacitive touch would be much nicer.
I had a look at several posts from this forum, and noticed many people where looking for touch solutions. However, I didn't find anything regarding capacitive touch....
I therefore went on the hunt of a capacitive touch solution which I could handle with the Omega. Requirements are as follow:
- 3,5" capacitive touch (not resistive)
- Cover Lens Bezel
- Reasonable price
- Drivable with some Python code
After a lot (I really mean a lot) of research, I finally tested a solution from 4D Systems: https://4dsystems.com.au/products/. This Australian company offers quite a lot of different screens and controllers. I finally chose a 3,5" touch screen which can be driven by their diablo 16 controller: https://www.mouser.fr/ProductDetail/4D-Systems/DIABLO16?qs=0lQeLiL1qybL%2FKx9ffo26w%3D%3D
This solution needs quite a bit of custom PCB design, but as my device anyway needs a custom PCB, it wasn't a real hastle integrating the diablo 16 onto the board. The nice thing here is, all the heavy lifting is done by the controller, which directly interfaces with the Omega with a simple serial connection. So once the hardware is done, just get out the Diablo 16 documentation and start writting serial commands....nice.....
Here are my conclusions to this project:
Advantages:
- Super easy to use, once the hardware is integrated. Just write a simple code in the language of your choice (Python in my case) and start talking with the Diablo16 via UART!!!
- 4D Systems offers a free IDE called 4D Workshop enabling a drag and drop style interface in order to design your screen. Again this is super easy and terribly reduces dev time!
- The result is great! The look of the screen and the touch interface are really excellent. The touch response is really fast and gives the user a good experience.
Disadvantages:
- You do need to make a custom hardware. However, I think 4D also offers some intelligent displays directly integrating the controller. This will also require some hardware dev but probably less complexe as directly integrating the controller onto your board.
- All the static data (images, fixed texts, screen layout etc....) is not stored on the controller. The controller accesses this data on an external MicroSD card. This implies two things: You need to integrate this onto your board and you need a high quality industrial grade MicroSD card if you want your product to last.
- As the screen layout is directly written onto the controller and the MicroSD, you cannot perform any remote updates.
- For a final system, you need: Screen + Controller + MicroSD Card + a bunch of other passive components... All this adds up to a certain sum $£€.
Not sure this will meet the requirements for other projects, however for my purposes, this was a great solution enabling a really nice looking device, development simplicity at a reasonable cost. I tried to attach a small video of the screen interaction, this however failed in this post...sorry.
My device as such bundles some other features:
- Ethernet connectivity
- POE (This is really cool as sometimes I need to deploy this device where there is no AC access, and deploying a simple Ethernet cable is wayyyyyy easier than a 220V power line :-))
- 13,56MHz RFID reader (Serial connection with CR95HF controller from ST)
- RTCC chip (MCP7951X from Microchip) with minimum 3 days backup power storage. This is in case power and internet connection would fail simultaneously. The chip is connected to the Omega via SPI.
I'm a little short on time, but I'll try to post some more infos regarding these other features.
Best,