Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Operate checkpoint 4800 LCD screen with pfSense (EZIO-G500)

    Hardware
    9
    38
    5.6k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      Pepito Payet @sranasundaragmail.com
      last edited by

      @sranasundaragmail-com

      you store or your images that you post? I can't seem to get them to post on the forum like you.

      1 Reply Last reply Reply Quote 0
      • S
        Spolverino @Saint-Frater
        last edited by

        @saint-frater late to the party but hope I can help anyways. My g500 acts very strange. For instance the “move cursor to leftmost position” is 0x28, the “clear screen command” is 0x38 or the enter button returns a 0x75... odd
        The setup I’m using is quite simple: the G500 is attached to a 5v power supply and to read/ write I’m using an arduino nano image of my setup

        Saint-FraterS 1 Reply Last reply Reply Quote 0
        • Saint-FraterS
          Saint-Frater @Spolverino
          last edited by Saint-Frater

          @spolverino long time I've played with that.

          I'm quiet sure that the issue you face is due to the voltage of your arduino's serial Interface.

          If I remember well, I've the same issues with my arduino, until I use a small USB Serial interface on my PC.

          you may see it behind the breadboard, (the DB9 connector):
          alt text

          I think, on the Arduino, the serial interface is 3.3V max, and the G500 is running at 5V... when voltage is not correct, you get strange behavior from the G500, and you may get in trouble with your arduino...

          Frater

          S 1 Reply Last reply Reply Quote 0
          • S
            sranasundaragmail.com
            last edited by

            @saint-frater checkpoint 4400 how to get the vga output. can you please share some information.

            Saint-FraterS 1 Reply Last reply Reply Quote 0
            • Saint-FraterS
              Saint-Frater @sranasundaragmail.com
              last edited by

              @sranasundaragmail-com Didn't try, since the G500 is only accepting serial input...

              if you want to display VGA (on a 64x32pxl) you should write a driver that does this:

              • capture current VGA display memory
              • resize the windows 640x480 -> 64x32
              • reduce color from 256 color -> 2
              • serialize the buffer
              • loop

              it's a loot of effort for a very bad result...

              it should be more efficient to write your own graphic drivers and "draw" on the miniscreen... but the pfsense should also be update to take advantage...

              1 Reply Last reply Reply Quote 0
              • S
                Spolverino @Saint-Frater
                last edited by

                @saint-frater Thanks for the quick reply. Arduino has to be the problem here. Will try with a raspberry and if that doesn’t work I’ll have to a usb to serial device like the one you use.
                An interesting thing I have noticed on the g500 is that it has a usb circuit left blank on the back. It might have been used in testing...

                Saint-FraterS 1 Reply Last reply Reply Quote 0
                • Saint-FraterS
                  Saint-Frater @Spolverino
                  last edited by

                  @spolverino I've also started (but time was a constraint) some reverse engineering of the CP's LCD drivers, you'll find some information there:

                  https://git.nox-rhea.org/globals/reverse-engineering/ezio-g500

                  1 Reply Last reply Reply Quote 0
                  • T
                    tchatzi
                    last edited by

                    For what it's worth, I did some work based on the findings at
                    https://git.nox-rhea.org/globals/reverse-engineering/ezio-g500
                    and now have a somewhat working way to write text to the LCD + a way to parse mono BMPs into a format the LCD understands and displays.
                    C would probably be more suited to the task but I had no compiler handy.
                    I was also missing a way to set the serial parameters from inside the script, so make sure your ttyS1 is already set to 115200, 8N1, no flow-control.
                    lcd.zip

                    1 Reply Last reply Reply Quote 0
                    • stephenw10S
                      stephenw10 Netgate Administrator
                      last edited by

                      Oh fun!
                      bmp have to be 128x64?

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        tchatzi @stephenw10
                        last edited by tchatzi

                        @stephenw10 yes, it is not an actual BMP parser, I just used ImageMagick's (known) offset when creating a 1bit bitmap.
                        something like

                        convert -pointsize 11 -size 128x64 -font "Arial" -background white -fill black label:"some text\nand some more text" -monochrome text.bmp
                        

                        and then

                        perl /path/to/bmp2lcd text.bmp
                        

                        should work

                        edit: another thing I noticed: the LCD needs local modem control lines (I can't imagine why, since only three wires are connected to it), like so:

                        stty -F/dev/ttyS1 clocal speed 115200
                        
                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.