Using Camera Modules with NXP i.MX RT10xx EVK

In “First Steps with the NXP i.MX RT1064-EVK Board” I mentioned that the board kit came with a camera module, but it was unclear to me which module was included in the kit. I know it now: it is the ON Semiconductor MT9M114 :-).

Image from the MT9M114

Image from the MT9M114

The MT9M114 is a camera module from ON Semiconductor with an image resolution of 1296×976 Pixels.

MT9M114 Camera Module

MT9M114 Camera Module

MT9M114 Camera Module Back Side

MT9M114 Camera Module Back Side

I searched the usual sellers, but that MT9M114 camera module is rather expensive (~$60 from Mouser).

That camera module reminded me that I had ordered weeks ago a OV7725 from Aliexpress. The OV7725 has an image resolution of 640×480 pixels and is available for less than $10 from Aliexpress or other sources.

This camera has a longer cable:

OV7725 Camera Front Side

OV7725 Camera Front Side

OV7725 Camera Back Side

OV7725 Camera Back Side

The i.MX RT1052 and RT1064 boards have a 24pin connector where the camera cable fits in:

Camera attached to i.MX RT Board

Camera attached to i.MX RT Board

💡 Be careful with the cable latch: it easily can be ripped of the connector.

The NXP MCUXpresso SDK includes two CSI (CMOS Sensor Interface) demos:

CSI Demos

CSI Demos

They need the LCD attached to the i.MX RT board. I had a LCD attached to my i.MX RT1052 board, but because it is very difficult to connect the LCD to the board, I decided not to move the LCD to the RT1064, but using the RT1052 instead.

Using the SDK examples, I was able to get the sensor which was included in the the RT1064 board kit working on the RT1052 board:

Image from the MT9M114

Image from the MT9M114

The camera is working, but the image is not very ‘crisp’ and kind of smoothed. But that might be a setting thing. The note in the NXP application note mentions that finding the correct settings can be very hard.

For getting the OV7725 camera to work, I had to change the driver. The camera type is configured in the demo using the APP_CAMERA_TYPE macro:

APP_CAMERA_TYPE

APP_CAMERA_TYPE

That worked with a more ‘crisp’ video, but the image had some ‘artifact lines’:

OV7725 Image

OV7725 Image

I’m not sure if this is because of the module (long cable?) or because the demo application does not configure things in an ideal way. Because I’m not sure if the long camera cable is affecting the image quality, I just ordered today another OV7725 module from AliExpress with a shorter cable:

OV7725 from HongKong CCD Limited

OV7725 from HongKong CCD Limited

Well, I have to try out that one if this makes it better (or not). And I have to see if I can tweak the settings for the OV7725 camera, as this one has a lower resolution, but is very cheap.

UPDATE: I finally have received that ä5.30 OV7725 camera from Aliexpress:

OV7725 with 20mm cable

OV7725 with 20mm cable

New Camera attached to the EVKB

New Camera attached to the EVKB

And indeed: with the shorter camera cable the image is better now:

Better Image

As a result: use a camera with a short cable if possible to avoid image artefacts.

Happy Imaging 🙂

Links

13 thoughts on “Using Camera Modules with NXP i.MX RT10xx EVK

  1. Hi, Etich!
    Nice 1! Basing on your post it looks like it is soft artefacts – in 1st case you had blurred picture but no artifacts. And in both cases same length of cable was used.

    Like

    • the first picture (‘Image from the MT9M114’) was with the short cable and the
      The one with the artifact (‘OV7725 Image’) is with the OV7725 and a longer cable.
      But I kind of doubt that it is really the long cable/connection, probably more a camera setting thing.

      Like

  2. Hi,
    Very helpful post!
    But I would like to ask you a question:
    We are interested in developing a camera application based on the RT 1064 microcontroller.
    Could you tell me whether the two camera modules, which are mentioned by you, are the only ones supported with necessary drivers etc.?

    Because, sadly both doesn’t fulfil our requirements (especially regarding temperature range).
    It would be great if you could help us out on this or if you could provide us with a link where we can find this information.

    Like

    • I think you can use any camera as long it is one of the supported types. The ones I have used are for normal temperature range, so this was fine for me. But I’m sure you could find a vendor which could provide you a higher rated one?

      Like

        • Check the board manual. It has a section about the cameras supported, e.g.
          “i.MX RT1060 supports one parallel CSI (Camera Sensor Interface). There is a camera module connector (J35) on the MIMXRT1060 EVK board. The CA031C based on OV7725 and CA111C based on MT9M114 are used directly.”

          I hope this helps,
          Erich

          Like

  3. Hi,
    Can you provide the mouser or any vendor link to buy the MT9M114 camera module alone?

    I am already having the MXRT1060 EVK kit, so please don’t suggest the NXP link to buy camera module along with EVK.

    Thanks,
    Sathish

    Like

  4. The information, related to camera interface, is very very helpful. What about LCD interface ? Pls. help me, by providing part number of compatible LCDs with SPI interface for ION-VIZN-IOT vision board.

    Like

Leave a reply to SUMY POULOSE Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.