Teensy 4.1 CSI Example

braingram

New member
After more than a month of not putting 'spit and polish' on this example I figured it was better to share what I have now then wait until it's in a better state :)

I was excited to see a sufficient set of CSI pins brought out on the teensy 4.1. I dusted off an old sensor (TCM8230MD, I think it's obsolete but it does provide a standard 8 data pin CSI interface) and wired it up to the teensy 4.1

The code is here: https://github.com/braingram/teensy_tcm8230md/blob/master/teensy41_tcm8230md/teensy41_tcm8230md.ino

The code does expect that you have the extra PSRAM installed (although it might work without it if the frame buffer address is changed). I was able to get images into memory at 640x480@15 fps (I think limited by the sensor).

If anyone has recommendations for non-obsolete (and hopefully easy to attain) sensors I'm all ears!

Thanks!
 
Hi,

You may want to have at a look at the smaller OmniVision image sensors here.
Look for interface type "DVP" [Digital Video Port]. The control bus used by OmniVision is called "SCCB" [Serial Camera Control Bus]. From what I can find on the internet it's basically the same as I2C, or at least interoperable.
By the way, the digital output of the TCM8230MD is not CSI, but DVP. CSI is Camera Serial Interface.

Paul
 
Doh! Thanks for the correction and link to the sensors! That would explain the lack of part search results. Confusingly, the IMXRT1060RM datasheet lists the pins as "CMOS Sensor Interface" (CSI).

As always, thanks for the awesome work! I've lost count of the number of teensies that worked their way into projects.
 
You may want to thank the other Paul for the awesome work...he is the P in PJRC.
Yep, NXP's CMOS Sensor Interface (CSI) is not the same as the MIPI Alliance's Camera Serial Interface (CSI).

Cheers,
Paul
 
Back
Top