• AVR Freaks

Hot!which part to use for low power, small screen graphics? (PIC32MM or what?)

Author
JPortici
Super Member
  • Total Posts : 1202
  • Reward points : 0
  • Joined: 2012/11/17 06:27:45
  • Location: Grappaland
  • Status: offline
2020/10/27 03:59:30 (permalink)
0

which part to use for low power, small screen graphics? (PIC32MM or what?)

Hi there.
I may have a project coming that's basically going to be a wireless remote with some simple graphics (background, some text.. gauges? animated background?) and full screen touch, and i'm unsure of which part to pick for a first iteration of the board.
The screen we're looking at is a round, 1.2" screen with 240x240 resolution and integrated capacitive touch.
The screen controller is connected to be in SPI mode (there is no option for parallel port), the touch controller communicates via I2C and has the couple of interrupt signals.
 
Other requirements: UART (so no problem)
Nice thing to have: USB, Crystal-less (so the whole thing can run on FRC, USB will definetly be used for charging, maybe also for programming/configuration)
 
Given the requirements i'm looking at either
-PIC32MM, but i don't know if the MLA library will be simple enough to get me started. does MCC come with graphics now?
-PIC32MX (though i would need a crystal for USB communication, but i would have harmony's graphic composer to get me started)
-PIC24 (but i'm not sure it will be able to handle the graphics even though this is just a wild guess. Also same as above Re:MCC)
 
Regarding libraries, i would prefer to use one with a graphics composer, at least to get me started.. and that points me toward PIC32MX, i guess. Given the memory requirements the graphic library would certainly have to work in "ramless" mode (writing directly to the controller, no internal buffer)
 
Thoughts? Other parts i'm not considering? I don't mind trying something new but if possible i would like to stay in the PIC environment
#1

16 Replies Related Threads

    boatbodger
    Super Member
    • Total Posts : 134
    • Reward points : 0
    • Joined: 2011/03/27 15:39:07
    • Location: 0
    • Status: offline
    Re: which part to use for low power, small screen graphics? (PIC32MM or what?) 2020/10/27 04:17:20 (permalink)
    0
    I recently did something slightly similar using the PIC32MZDAR series - but in my case, I had to use parallel interfacing to the LCD (which was roughly 800x450px), so I had to use a chip with a high pin count.  I was very surprised how quickly the fairly simple graphics we were using gobbled up storage.  Some of these devices have a 32Mbyte DRAM stacked on the chip, and I added 8Mbyte of external SQI flash to store the compressed images, pre-processing them into the DRAM for speed of display. 
    I had to re-write the pre-processing to get it to work at anything like acceptable speed - out of the box, it processes each pixel separately, posting results back and forth between two scheduled processes.
    The Harmony 3 graphics composer works, but you need a REALLY powerful PC to use it at anything like acceptable speeds (I had to upgrade my otherwise perfectly acceptable 8-core x 8Gb machine to 12-core x 32Mb in order to stay sane).  Even with this, it can take the GC several seconds to respond to mouse clicks - and if you are impatient (I am), it is easly to accidentally delete things.  Proceed with caution!
    #2
    JPortici
    Super Member
    • Total Posts : 1202
    • Reward points : 0
    • Joined: 2012/11/17 06:27:45
    • Location: Grappaland
    • Status: offline
    Re: which part to use for low power, small screen graphics? (PIC32MM or what?) 2020/10/27 04:32:00 (permalink)
    0
    Yeah, don't want to use the 32MZ because small size, low power, low profile.. and the PIC32MZDA is neither :D
    the whole thing is going to be about as large as the screen, about 6 to 8mm heigh depending on which battery we'll end up with
    #3
    boatbodger
    Super Member
    • Total Posts : 134
    • Reward points : 0
    • Joined: 2011/03/27 15:39:07
    • Location: 0
    • Status: offline
    Re: which part to use for low power, small screen graphics? (PIC32MM or what?) 2020/10/27 04:40:13 (permalink)
    0
    Oh clang - yes - sorry - agree that the DA is not suitable for small battery powered applications.
    #4
    Mysil
    Super Member
    • Total Posts : 3946
    • Reward points : 0
    • Joined: 2012/07/01 04:19:50
    • Location: Norway
    • Status: online
    Re: which part to use for low power, small screen graphics? (PIC32MM or what?) 2020/10/27 06:31:17 (permalink)
    0
    Hi,
    Could you tell what make and type of display device you are thinking about?
    Most such small displays with SPI communication, have a builtin display controller, can you tell what type display controller is there?
     
    For a display controlle with SPI, there will be a frame buffer in the display controller,
    so only changes to the display image need to be communicated to the display.
    This work great if you display buttons and still images,
    not so much for video.
     
    My impression is that there is not much Graphics in MCC.
    In Mikro-E Clicks, there are some eInk, and some color OLED stuff.
     
    There is Graphics Library in MLA, and in Legacy MLA,
    that might be used together with MCC.
    They were able to make portable graphics between PIC18, PIC24, dsPIC and PIC32MX.
    It was crippled when Harmony came along.
     
    There are PIC24__   devices that far outperform PIC32MM.
     
        Mysil
     
    post edited by Mysil - 2020/10/27 06:40:40
    #5
    JPortici
    Super Member
    • Total Posts : 1202
    • Reward points : 0
    • Joined: 2012/11/17 06:27:45
    • Location: Grappaland
    • Status: offline
    Re: which part to use for low power, small screen graphics? (PIC32MM or what?) 2020/10/27 07:13:35 (permalink)
    4 (1)
    Mysil
    Hi,
    Could you tell what make and type of display device you are thinking about?
    Most such small displays with SPI communication, have a builtin display controller, can you tell what type display controller is there?
     
    For a display controlle with SPI, there will be a frame buffer in the display controller,
    so only changes to the display image need to be communicated to the display.
    This work great if you display buttons and still images,
    not so much for video.

    we are going to evaluate this display
    https://www.buydisplay.com/240x240-round-ips-tft-lcd-display-1-28-inch-capactive-touch-circle-screen
    i'm not going to use it for video, but probably transitions (if i can manage, otherwise we'll look into other displays/controllers)
     
    My impression is that there is not much Graphics in MCC.
    In Mikro-E Clicks, there are some eInk, and some color OLED stuff.
     
    There is Graphics Library in MLA, and in Legacy MLA,
    that might be used together with MCC.
    They were able to make portable graphics between PIC18, PIC24, dsPIC and PIC32MX.
    It was crippled when Harmony came along.

     
    Frankly, i do not want to touch MCC. I couldn't use it anyway because the USB stack is still stupidly crippled, for starters. But i hoped that they now at least got.. you know.. graphics?
    Don't want to use Mikroe either. As i would be forced to rewrite everything. or is mikroe providing sources these days?
     
    There are PIC24__   devices that far outperform PIC32MM.

    A dsPIC? for sure. A PIC24? Didn't think so! Will look into it, i have almost always skipped over PIC24 as i never found them satisfactory
    #6
    Keaton
    Junior Member
    • Total Posts : 82
    • Reward points : 0
    • Joined: 2013/04/01 14:34:05
    • Location: Chandler AZ
    • Status: offline
    Re: which part to use for low power, small screen graphics? (PIC32MM or what?) 2020/10/28 13:47:36 (permalink)
    0
    have you looked at MHC and the Graphics composer tool? this would make your GFX dev work much easier. there are some example demos that use the SAM E54 and SPI as well as a few other demos that also use SPI. IIRC the same can use USB without external clock because it will use the SoF in the USB to resync.
    #7
    Mysil
    Super Member
    • Total Posts : 3946
    • Reward points : 0
    • Joined: 2012/07/01 04:19:50
    • Location: Norway
    • Status: online
    Re: which part to use for low power, small screen graphics? (PIC32MM or what?) 2020/10/28 16:50:55 (permalink)
    0
    Hi,
    Datasheet for GC9A01  display controller, do not look too much different from other display controllers for small TFT display.
     
    I think PIC32MM and MLA graphics may be made to work for this display.
    As with any new display controller, the first challenge may be to establish communication and initialize the controller.
     
        Mysil
    #8
    LdB_ECM
    Super Member
    • Total Posts : 456
    • Reward points : 0
    • Joined: 2019/04/16 22:01:25
    • Location: 0
    • Status: offline
    Re: which part to use for low power, small screen graphics? (PIC32MM or what?) 2020/10/28 23:03:29 (permalink)
    4 (1)
    Combining some of the posts above
     
    Your screen in bytes is 240x240x2 (16 bit colour) = 115,200
    For video at even a bad frame rate say 25
    That is 2,880,000 bytes relentlessly every second.
     
    In that case you can forget about single serial SPI as your 16bits for two bytes means 
    2,880,000 * 16 = 72,000,000 SPI bus
     
    What is obvious is you will need to be in parallel mode and you need to consider the read/write rate for playback and the load it represents.
    #9
    JPortici
    Super Member
    • Total Posts : 1202
    • Reward points : 0
    • Joined: 2012/11/17 06:27:45
    • Location: Grappaland
    • Status: offline
    Re: which part to use for low power, small screen graphics? (PIC32MM or what?) 2020/10/29 00:56:21 (permalink)
    5 (1)
    I'm aware of the (basic) math :) and that no video will be possible in SPI mode. Maybe animate part of the screen like button touched and maybe SPI will do. Funny story below.
    I am hearing all of you saying i should move to a bigger MCU right away and you are probably right, but i hope i'm overestimating the requirements.
     
    I'm fixed on SPI because the manufacturer only provides the screen with the controller configured in SPI modeand while nobody said i must use that particular screen+controller, it's just that i've had nothing but good experiences with buydisplay. decent screens and decent support so for a first prototype/proof of concept this is going to be my way to go:
    I have one screen on the way, which i will attach to any one of the several MCU devboards i have (several flavours of dsPIC,PIC32,cortex M3,M4) and start with a basic driver and see where it leads.
     
    My first target MCU would probably have been a 32MM because small, and cheaper than an equivalent dsPIC/PIC24. Probably faster,too. then 32MX if too slow, as it can still be small.
    Ideally, due to board space, i'm aiming at a 5x5mm 28pin QFN which is something i can manage soldering in house but i'll move to bigger if i really have to (more grunt and/or parallel bus).
    #10
    David
    Pic User
    • Total Posts : 1314
    • Reward points : 0
    • Joined: 2007/12/17 23:19:53
    • Location: uk sussex
    • Status: offline
    Re: which part to use for low power, small screen graphics? (PIC32MM or what?) 2020/10/29 05:30:00 (permalink)
    0
    https://www.buydisplay.com/
    Do you mean theses guys if so which screen are you talking about can you post a link to the one you have chosen please..

    David
    I support http://picforum.ric323.com because this forum is often too broken to use!
    #11
    Mysil
    Super Member
    • Total Posts : 3946
    • Reward points : 0
    • Joined: 2012/07/01 04:19:50
    • Location: Norway
    • Status: online
    Re: which part to use for low power, small screen graphics? (PIC32MM or what?) 2020/10/29 06:47:12 (permalink)
    5 (1)
    Hi,
    Link is in message #7 !
     
        Mysil
    #12
    cirilo.b
    Starting Member
    • Total Posts : 16
    • Reward points : 0
    • Joined: 2020/09/08 18:40:42
    • Location: 0
    • Status: offline
    Re: which part to use for low power, small screen graphics? (PIC32MM or what?) 2020/10/30 13:37:31 (permalink)
    2 (1)
    Which part to use depends on your project requirements, which we don't know. If you've worked out what busses you need, how much RAM/ROM you may need, etc. then you can narrow down what devices to use.  For example, if you need a framebuffer to produce a RGB565 bitmap to send to the display then you can forget about the PIC32MM and PIC24 because you'd need (240*24*2)=115200B RAM.  Then again the PIC32MX only has up to 128KiB RAM which doesn't leave you much for the rest of the program to operate.  So it really comes down to what your display can do for you, what other devices you need to connect (extra flash memory, wifi module on SPI bus), and the memory you will need.
    #13
    Antipodean
    Super Member
    • Total Posts : 1941
    • Reward points : 0
    • Joined: 2008/12/09 10:19:08
    • Location: Didcot, United Kingdom
    • Status: offline
    Re: which part to use for low power, small screen graphics? (PIC32MM or what?) 2020/10/31 04:45:26 (permalink)
    4 (1)
    cirilo.b
    Which part to use depends on your project requirements, which we don't know. If you've worked out what busses you need, how much RAM/ROM you may need, etc. then you can narrow down what devices to use.  For example, if you need a framebuffer to produce a RGB565 bitmap to send to the display then you can forget about the PIC32MM and PIC24 because you'd need (240*24*2)=115200B RAM. 



    Not quite right IIRC. From memory the PIC24..DA which is targeted at display use can use external RAM on the PMP port as the display ram.

    Do not use my alias in your message body when replying, your message will disappear ...

    Alan
    #14
    Jump to:
    © 2020 APG vNext Commercial Version 4.5