ePenguin Forums
Project Oracle - Printable Version

+- ePenguin Forums (https://epenguin.net/forums)
+-- Forum: ePenguin (https://epenguin.net/forums/forumdisplay.php?fid=1)
+--- Forum: Projects (https://epenguin.net/forums/forumdisplay.php?fid=3)
+--- Thread: Project Oracle (/showthread.php?tid=4)



Project Oracle - penguin - 12-21-2020

Project Oracle is a graphics development board + software stack using lvgl for microcontrollers. This thread is where I will document the development and give updates on how it's going.

Background:

I wanted to make graphics development using Microchip (Atmel) SAM microcontrollers more accessible. Right now, the "scene" is really fucked up because if you want to use Microchip mcus for graphics development, your choices are either PIC or... PIC. The SAM software support is horrible. You pretty much have to use MPLAB x Harmony if you want an out of the box solution. Problems with that include the fact that MPLAB is a joke and the out of the box solution barely works for SAM microcontrollers. Long story short is that solution isn't really viable.

Goals:

I want to make 3 boards eventually available to everyone to either buy or just make themselves. I'll be using 3 tiers:

1. Oracle-1
2. Oracle-2
3. Oracle-3

These three boards are ranked according to their performance.

Oracle-1:

This board will use a SAMD21x mcu, and it will use a 16 bit parallel bus (8080) for data transmission between it and its LCD controller, an SSD1963. I've gotten reasonably good performance out of this setup in the past, and I'd like to make this a go-to option for small-scale graphics using a 3.5" screen (320x240).

Oracle-2:

This board will use a SAME54x mcu, and it will use a 24-bit parallel bus (8080) for data transmission between it and its LCD controller, an SSD1963. This is my favorite setup of the three. The SAME54P20A has a TON of memory in both flash and ram. It's easily the best mcu from the microchip sam lineup for this kind of development.

Oracle-3:

This board is a ways away, but I'm planning on using a linux SoM of some kind, maybe a SAMA5D3, with a 24-bit parallel bus (8080) for data transmission between it and its LCD controller, which is undetermined at the moment. This hardware upgrade allows us to use a frame buffer for extremely smooth graphics. This will likely be used with a 7 or 8" screen. Again, development on this guy is a ways away and will likely be vastly different than the previous two boards.


Progress:

I've created a development board for Oracle-2. Here are some renders:

Top:
[Image: e54-GFX-Development-Board-top-v0.png]
Bottom:
[Image: e54-GFX-Development-Board-bottom-v0.png]

Here are some images of the board: (Please excuse my awful soldering)

[Image: progress-1.jpeg]


[Image: progress-2.jpeg]

 [Image: progress-3.jpeg] 

The little board is the ePenguin Debug Expander. More on that soon.

The board works so far. The yellow wires are connected to the cRST and nRST pins of the TFT Board I am using for development. I accidentally connected those to the reset line of the MCU even though those are supposed to be software driven. The bodge on the 3.3v Regulator isn't actually a bodge. I just ripped up a pad by accident =(

The downsides of using these chips for graphics are that they don't have "2D GPU"s like the STM32 mcus have, and they also don't have GPIO DMA. This is unfortunate and will affect performance, but we can still make it work.


RE: Project Oracle - penguin - 12-21-2020

Software Repository: https://git.epenguin.net/ePenguin/Oracle

Hardware Repository: https://git.epenguin.net/ePenguin/GFX-Development-Board