WiFi Camera with PSoC5

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi all.

Some months ago, I was looking about the possibility to acquire an image from an optical sensor with the psoc 5, and send it through WiFi, in order to make a sort of remote camera for surveillance.
I already had an optical sensor, that actually is the Omnivision OV7675, a 640*480 optical sensor, with 256 colors.

   

   

For the WiFi module I found this Cypress/Redpine kit RS-CY8C001-220X
that mount a RS9110-N-11-22 module.

   


 

   

The PSoC 5 board is the CY8CKIT-050, and here there is a photo of the complete camera.
Sorry for the very raw mounting, but it is just a test 🙂

   


 

   

The concept from an Hardware design point of view is the following

   


 

   

The data is read from the camera bus (8 bits) and transfered to a RAM buffer through the DMA.
When the transfer is finished, the buffer is pushed out through the wifi module, to an Host PC, that read the data and draw the frame received, through a program wrote in C#.
The camera handling is all implemented in the HW part of PSoC5, so the ARM is not used, and it is free to do other tasks.
The resolution of the camera is set to 540*400, and every pixel is 1 byte size.
The color scheme of the camera is RAW Bayer. The camera is able also to give data in other more usefull format like RGB or YUV, but it will lead to a pixel size of 2 bytes, and the whole PSoC RAM will be not enough, so the conversion RAW Bayer -> RGB is done by the host PC.
The buffer length for image storing into the PSoC is of 54000 Bytes. In order to be able to use so many bytes of the whole 64KBytes of RAM I reduce to the limit the stack and the heap area.

   

This buffer is not enough to keep all the data coming from a frame of 540*400*1byte, so the PSoC HW is actually filtering
removing 1 bytes and keeping the next, and the same for the row, removing 1 line and keeping the next, in order to half the resolution keeping the same viewing window size.
I have so the sensor view size of 540*400, but downscaled on a resolution of 270*200.

   

The maximum fps that i measured in this condition, with 4 Mhz clock on the camera, is of 1.67 fps, and it is equivalent to a baudrate of about 88 KB/sec.

   

No extra hardware was used for realizing this project. The only hardware parts are the wifi module, the camera, and 2 resistors for the I2C line...

   


Here there are some snapshot taken from the camera:

   

My backyard:

   


 

   

Road in front of my house:

   

   

Flowers:

   


 

   

My dog:

   

   

 

   

This is just an experiment, and i know, there are a lot of improvements possibile, like jpeg compression on the fly,
or adding external ram to PSoC, in order to buffer more frames.
I would really appreciate any feedback or suggestion on my project 🙂

Thanks

Matteo
 

0 Likes
8 Replies
Anonymous
Not applicable
        Hello x80tech   
Awesome experience   
I am interesting in the color data scheme,   
and funny dog.   
Thank you   
0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

Consider using verilog / Creator UDB design tool as a solution in HW for compression.

   

 

   

http://www.cypress.com/?rID=69774

   

 

   

Also excellent resource is IEEE image papers, I think there is a specific collection

   

on image processing/compression algorithims.

   

 

   

http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?reload=true&punumber=83

   

 

   

Google DSP web sites of major vendors, Freescale, Analogic, they have ap notes

   

on compression routines.

   

 

   

Lastly USB as a connection will give you higher performance for the serial link.

   

 

   

Regards, Dana.

0 Likes
Anonymous
Not applicable

Thank you for the suggestion and appreciation.

   

@danaa

   

I know that with USB connection I can reach an higher speed, but my goal actually was to make it WiFi :).

   

Thank you

   

Matteo

0 Likes
Anonymous
Not applicable

 hi, i am trying to interface same camera with psoc5,

   

will it possible i thought psoc wont support camera interface,if possible please forward  me the project file .

   

thank you

0 Likes
Anonymous
Not applicable

Hello sir,

   

               Can you please send me the pin configuration of this project. I mean interface between cmos camera (ov 7675) and psoc 5. I find lot of difficulties with configuration. Is there any possibility like with out sending data through wifi, it can store in some pc connected to it. Please send pin layout to me.

   

Thanks in advance

0 Likes
Anonymous
Not applicable

Very Interesting, Thank you for sharing.

   

I too, am working on a project like yours. I will be using a camera that has a USB output. Therefor I will have to go the HOST route.

   

Would it be possible for you to share any of the details or your project? Have you any suggestion for mine? Places to look, etc. I just loaded Cypress and have never used it before. Big project, I know for a first timer but hey, think of what I will learn.

   

Thanks

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Welcome in the forum!

   

Keep in mind that none of the PSoCs 3, 4, or 5 are able to communicate in host mode with an USB device. You may of course use one of the Cypress USB products to connect to your camera.

   

 

   

Bob

0 Likes
JiGi_284761
Level 4
Level 4
Welcome!

Cypress FX3 works real well and has a good explorer board..John Hyde has a book "Super speed device design by example" That deals with this board and chip to help you out. Ive used this on a couple of 4k systems and had no troubles.

0 Likes