Skip to end of metadata
Go to start of metadata

Update: The evaluation/development kit is now available from Digi-Key. These kits are fully assembled and programmed, and only require a mini USB cable to operate with the GUI below.

Click here to purchase the assembled and programmed board shown below.

Click here for a mini USB cable.

Click here to download the GUI.

Click here to download the FTDI USB Virtual COM Port (VCP) driver.



Panasonic GridEYE Sensor (3.3V high gain version used)

Basic Datasheet Link

Full Datasheet Link <-- New!

Typical Applications

• High performance home appliance (Microwave oven and air conditioner)
• Energy savings in office (Air-conditioning and lighting controls)
• Digital signage
• Automatic door and elevator

Functional Description

The Grid-EYE is a high precision infrared array sensor based on advanced MEMS technology. It is capable of measuring temperatures across a grid of 8x8 (64 pixels) up to ten times per second over the following temperature ranges:

Temperature range of measured object:
High gain: +32°F to +176°F (0°C to 80°C)
Low gain: –4°F to +212°F (–20°C to 100°C)

It is available in 3.3V and 5V versions, and high and low gain at each voltage. The sensor is packaged in a 8mm x 11.6mm x 4.3mm tall SMD reflow mountable can package.

Breakout Board Schematics

Breakout PCB

The PCB measures 0.8" x 0.9". It was fabricated by OSH Park.

Gerber files are available upon request.


The I²C communication routine between the Grid-EYE and PIC24 operates inside a 100mS timer interrupt:

The serial packet from the PIC24 to GUI, via the UART, through the FTDI bridge and the COM Port, is as follows:



The GridEYE sensor is connected via I2C to a PIC24F04KA200 microcontroller, which acts as the host. The PIC24 reads the thermistor on the GridEYE, followed by each of the 64 pixels, and passes the data out the UART interface, through the FTDI IC, to the Windows GUI.

Windows GUI

The GUI was developed in Visual Basic 2010 Express (free from Microsoft).

The GUI implements the following case-insensitive keyboard commands:

s: Scan serial ports when disconnected.

c: Connect to selected serial port when disconnected.

d: Disconnect from the serial port when connected.

i: Toggle between discrete and interpolated images.


The GUI also allows logging of all data received from the development board. This data is space delimited and each packet is appended with the calculated checksum and a time-stamp.  The data looks like this:

Sample Logged Data


Additional Information

Panasonic Grid Eye Memory Registers

Panasonic Grid Eye Library for Atmel Software Framework

  • No labels


  1. I'm new to eewiki.net, but I am interested in the project, and especially the source code for the VB 2010 GUI. Not sure if this is the right place to ask. I also would like the Full Data sheet.

    1. HI Walter,

      As I am not a VB programmer, I'd rather not share my kludge job with the world. While the surface may be shiny and functional, I assure you under the hood is a different story...

      The full datasheet is now linked above.


  2. I like the project and I would like to experiment and explore the Grid Eye sensor. I wonder if I can get the PCB gerber files and software codes?



  3. I'm quite interested in the PCB gerber files as I am currently a student working on using this device. How would I get get access to these documents?



    1. There is more than enough information above to create this simple PCB to your liking.  Besides, if all the answers were handed to you, how much would you learn? ...and isn't learning what being a student is all about? (smile)

  4. Hi,


    Just received our first shipment of the Grid-Eye , I'd like to know what the interpolation code looks like?





    1. Actually, I didn't interpolate in the VB code. Instead, I created an 8x8 pixel image and stretched it to fill the display area. Windows/VisualStudio does the interpolation based on the stretch method I specified.

  5. Hi Chris, I have managed to "reverse" engineer the board so I can read in thermal data to my C# application. However, I am having trouble getting it started without opening the "grideye demo.exe". If I start this first the bytes seem ready to read off, however if I dont start this no bytes are available. I tried writing '*' to turn on timer but no luck. Can you tell me if there are any special start conditions? What are the sequences in your application that tells the microcontroller to start polling data off the grid eye?

    Thank you.

  6. Hello Digikey Tech Support! I was on the phone with the Digikey tech support and I was directed to ask my question here as it is most relelvant.

    The question is about interfacing with the GridEye Breakout Unit through the Mini-B-USB port without the use of a personal computer and GUI: does the change in output format changes the method to query the GridEye's thermistor registers? I was expecting I2C (V+, Gnd, SDA, SLC) output to interface with an Arduino but the output is now USB (V+, Gnd, Data+ and Data-). I theorize that a USB host shield will allow communication between the Breakout Board and Arduino, but I am unsure if I should then send query to the PIC24F04KA200 host in the Breakout Board for the registers' data via USB through FTDI, or if I should only concern myself with receiving data if the PIC24F04KA200  is programmed to automatically send it when the timer overflows.

    My second question is if "Software" and "Embedded" section pertains to how the GUI queries/receives data from the breakout unit or does it pertain to the code supported within the PIC24F04KA200 microcontroller? Is it Embedded C in the PIC24F04KA200, or Embedded within the GUI?

    Thank you for your support!


    1. Hi Pablo,

      The C code under the "Embedded" section runs on the PIC24.  The GUI code is in Basic and runs in Windows.  You can disconnect the PIC24 and ignore it by desoldering two 0-Ohm resistors and interface the Grid-EYE's I2C lines directly to your Arduino through the 5-pin headers along each edge of the breakout board (see schematic for details). You will likely need to add pull-up resistors to the lines, or enable weak pull-ups on the Atmel microcontroller if they are built-in.

      1. Thank you so much for your prompt and helpful reply.
        Are the 5-pin header pins 1, 3 for P2 (+3.3V, GND) interconnected to supply to the rest of the circuit?
        I inquire in an attempt to abstain from desoldering R4, R5 (0Ohm). This board is so exceptionally well made that even with the microscope it was hard to see if the P2 header pins 1, 3 (+3.3V, GND) would power and activate the other two components (PIC24 & FTDI).This is to not overtask the sensor with the PIC24 queries and the 5-pin header output.

        1. Are the 5-pin header pins 1, 3 for P2 (+3.3V, GND) interconnected to supply to the rest of the circuit?

          Yes.  If you provide 3.3v and GND, the FTDI chip and the PIC24 will be powered.  You will have to desolder R4 and R5 in order to interface it to your Arduino.  The PIC24 and FTDI IC will be powered and operating, but without R4 and R5, they will have no influence on the GridEYE.



    ist it possible to connect 2 units via 2 USB cables to the same PC (separate com ports) and start 2 GUIs to read data simultaneously?

    Thx, Geab

    1. Hi Gernot,

      I haven't tried it, but it should work just fine.


  8. Hi,

    Thanks for all the help and this page! I have one more question. In your data log, you return


    42 42 42 214 1 96 0 102 0 104 0 101 0 107 0 107 0 109 0 107 0 96 0 101 0
     96 0 101 0 102 0 112 0 116 0 113 0 95 0 100 0 95 0 102 0 105 0 119 0
    120 0 123 0 93 0 98 0 98 0 100 0 108 0 124 0 132 0 129 0 94 0 97 0 95 0
    106 0 114 0 124 0 150 0 143 0 100 0 96 0 101 0 102 0 109 0 120 0 128 0
    133 0 94 0 98 0 100 0 100 0 107 0 105 0 120 0 123 0 91 0 99 0 96 0 96 0
    104 0 107 0 109 0 113 0 188 188 Timestamp: 12:25:30.687
    *** ThermistorH ThermistorL 64 H+L Bytes . But what are the last two values in the log before the Timestamp? I am curious. Thanks.
    Edit: Nevermind. I think its checksum!?


    Das (bishudash@gmail.com)



  9. Hi ,

    I am in Europe (Italy) and Europe Digikey does not sell the kit. How can I purchase it ? Is there some distributor in Europe ?

    Best regards

  10. Using this board as part of a research project, and am having a bit of a problem with trying to read a series of bytes into Matlab via USB from the GridEye board's FT230xs serial UART.

    In theory, the FT230xs chip will download a total of 134 bytes to Matlab, beginning with "42,42,42" (for ASCII "* * *"). In reality, this will not happen every time - often the sequence starts in the middle with the data coming in indicating that the buffer is being accessed in midread (ie. the "42,42,42" is in the middle of the data - other values about what they should be).

    So the chip is reading correctly, the connection to Matlab is ok but somehow I'm getting an incorrect sequence. Working via software controlled serial, since hardware control balks in Matlab.

    How the heck to get the buffer to start at the right place? Is there some reset/clear buffer command to send to the FT230xs that I've missed?

    Any thoughts?