+ Post New Thread
Results 1 to 7 of 7
  1. #1
    Junior Member level 2
    Points: 387, Level: 4

    Join Date
    May 2017
    Posts
    20
    Helped
    0 / 0
    Points
    387
    Level
    4

    Image processing with 16bit PIC Microcontrollers (PIC24)

    Hello, I am trying to build a giant LED display screen that could render colored images in .JPEG, GIF format, videos and slides. My problem is that am not quite sure if the PIC24H(16bit) microcontrollers can handle the task. I need recommendation please. PIC24H, PIC32 or the dsPIC?

    •   AltAdvertisment

        
       

  2. #2
    Super Moderator
    Points: 28,088, Level: 40
    andre_teprom's Avatar
    Join Date
    Nov 2006
    Location
    Brazil
    Posts
    8,390
    Helped
    1058 / 1058
    Points
    28,088
    Level
    40
    Blog Entries
    6

    Re: Image processing with 16bit PIC Microcontrollers (PIC24)

    Quote Originally Posted by ComputerAngel View Post
    Hello, I am trying to build a giant LED display screen that could render colored images in .JPEG, GIF format, videos and slides.
    In the case of several videos and image formats (I believe not only these ones) which will certainly be sent via some high level communication service (FTP, SSH, etc...) I would honestly consider using some microcontroller that supports Linux (typically implemented on 32-bit architectures) or any other operational system with native device drivers to handle such files as well as being able to transparently store them in a standard filesystem. What you are trying to do is something not so trivial that is worth the effort of make in a bare metal approach.
    --------------------------------------------------------------------------------------------------
    Part of the world that you live in, You are the part that you're giving ( Renaissance )


    1 members found this post helpful.

  3. #3
    Super Moderator
    Points: 67,632, Level: 63
    Achievements:
    7 years registered
    Awards:
    Most Frequent Poster 3rd Helpful Member

    Join Date
    Apr 2014
    Posts
    13,836
    Helped
    3155 / 3155
    Points
    67,632
    Level
    63

    Re: Image processing with 16bit PIC Microcontrollers (PIC24)

    Hi,

    JPEG and GIF are picture files, no video files.
    This means there is no need for real time processing.

    A microcontroller theoretically can do this.
    But without specification it´s just guessing.

    Do this first:
    * decide the specifications for your display (resolution X and Y, channels of color, resolution for each color)
    * decide how to control the display (external display controller .... multiplexing by the microcontroller)
    * decide the interface between microcontroler and display
    * decide how often you want to update the display (for moving GIFs)
    * how do you "send" the JPG/GIF to the microcontroller?

    Klaus
    Please don´t contact me via PM, because there is no time to respond to them. No friend requests. Thank you.


    1 members found this post helpful.

    •   AltAdvertisment

        
       

  4. #4
    Super Moderator
    Points: 74,991, Level: 66
    Achievements:
    7 years registered
    Awards:
    2nd Helpful Member
    betwixt's Avatar
    Join Date
    Jul 2009
    Location
    Aberdyfi, West Wales, UK
    Posts
    12,289
    Helped
    4077 / 4077
    Points
    74,991
    Level
    66

    Re: Image processing with 16bit PIC Microcontrollers (PIC24)

    I think they want to include video as well as still images Klaus.

    ComputerAngel, carefully consider the amount of data you are proposing to handle, it is not a trivial amount. Assuming you wish to use color, the need is for at least three LEDs per pixel (red, green and blue) to produce anything like natural colors. The number of pixels is the horizontal resolution multiplied by the vertical resolution and for video you have to multiply that by the number of frames per second. For each LED you also have to store and reproduce multiple brightness levels, you can get a reasonable picture from 8-bits (255 levels + black).

    Example: 720x576 resolution means 424,720 pixels or 1,244,160 LEDs. For reasonable motion in video you need at least 25 frames per second so your MCU would have to retrieve the image, decode about 31 megabytes of data, and send it to the display every second.

    A PIC16 is a powerful processor but unless you want very small, low resolution images it isn't really suitable on it own and Andre's advice about using a small Linux PC is very good. With the aid of storage controllers, mass storage and hardware accelerators it is feasible.

    Brian.
    PLEASE - no friends requests or private emails, I simply don't have time to reply to them all.
    It's better to share your questions and answers on Edaboard so we can all benefit from each others experiences.


    1 members found this post helpful.

  5. #5
    Junior Member level 2
    Points: 387, Level: 4

    Join Date
    May 2017
    Posts
    20
    Helped
    0 / 0
    Points
    387
    Level
    4

    Re: Image processing with 16bit PIC Microcontrollers (PIC24)

    PIC16 series is an 8-bit. Can PIC24H series which is 16bit handle the task if am to use SD card to hold the images or video file? Or it has to be PIC32.

    Could you also suggest PC linux to start with?

    - - - Updated - - -

    Thanks for your replies. Very helpful



    •   AltAdvertisment

        
       

  6. #6
    Advanced Member level 3
    Points: 7,037, Level: 19

    Join Date
    Jan 2015
    Posts
    985
    Helped
    312 / 312
    Points
    7,037
    Level
    19

    Re: Image processing with 16bit PIC Microcontrollers (PIC24)

    I think @betwixt's reference to a PIC16 was a typo - there is no way that any member of that family could handle the your task.
    The key points to consider when selecting a device are listed above (and I think that the memory required for a single image will be against you using most, if not all, PIC24/dsPIC32 devices - the largest one that I'm aware of in terms of RAM has 96KB which is way too small. I'm also not sure if any have the ability to access external RAM.
    Even the PIC32 family tops out at 640KB, although some do have DRAM interfaces.
    I know the STM32 devices (and many other ARM-based MCUs) have some of the capabilities you are looking for.
    You also need to consider how you are going to drive your display. If you are talking about a 'giant' LED display, then you might consider a hierarchy of devices where one takes the image and splits it into smaller sections which are then sent to a dedicated MCU that drives a small section of the display.
    If I were do try this, I would start with being able to display the images (from whatever format you want) on a PC or perhaps a Raspberry Pi etc. to start with. You won't have the size of display you want but you can see what is involved with all of the processing and then determine the way to drive whatever display you have in mind.
    Susan


    1 members found this post helpful.

  7. #7
    Super Moderator
    Points: 74,991, Level: 66
    Achievements:
    7 years registered
    Awards:
    2nd Helpful Member
    betwixt's Avatar
    Join Date
    Jul 2009
    Location
    Aberdyfi, West Wales, UK
    Posts
    12,289
    Helped
    4077 / 4077
    Points
    74,991
    Level
    66

    Re: Image processing with 16bit PIC Microcontrollers (PIC24)

    Thanks Susan - I intended to say PIC24 rather than PIC16 but my forte never was typing!

    Brian.
    PLEASE - no friends requests or private emails, I simply don't have time to reply to them all.
    It's better to share your questions and answers on Edaboard so we can all benefit from each others experiences.


    1 members found this post helpful.

--[[ ]]--