OV5640 camera with Orange Pi


Recommended Posts

Donate and support the project!

Ok, @mattday is using opione headless and if the window size is larger than current fb, it crashes. He could see some activities with 640x480.

Maybe he will send me one camera and i can test it and possibly fix if anything wrong.

 

Meanwhile @lvmc sent me M2P and i tested it today with gc2035, it it works!

I think we need OV5640 AF for the OPI H64 / A64 and OPI one / PC / 2E !!!!!!!!

 

Here is the 1600x1200 taken with M2P:

post-957-0-05445300-1467733036_thumb.jpg

 

 

*** PS:

____                                  ____  _   __  __ ____       
| __ )  __ _ _ __   __ _ _ __   __ _  |  _ \(_) |  \/  |___ \  _   
|  _ \ / _` | '_ \ / _` | '_ \ / _` | | |_) | | | |\/| | __) || |_ 
| |_) | (_| | | | | (_| | | | | (_| | |  __/| | | |  | |/ __/_   _|
|____/ \__,_|_| |_|\__,_|_| |_|\__,_| |_|   |_| |_|  |_|_____||_|  
                                                                   

Welcome to ARMBIAN Ubuntu 14.04.4 LTS 3.4.112-sun8i 
System load:   0.07            	Up time:       13 sec		
Memory usage:  5 % of 1000Mb 	IP:            192.168.254.87 
CPU temp:      51°C           	
Usage of /:    15% of 7.1G   	


[ 2 updates to install: apt-get upgrade ]

Last login: Mon Jul  4 11:46:46 2016
x@bananapim2plus:~$ sudo -s
[sudo] password for x: 
root@bananapim2plus:~# sudo apt-get install libgd2-xpm-dev libjpeg-dev libpng-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'libpng12-dev' instead of 'libpng-dev'
The following extra packages will be installed:
  fontconfig-config fonts-dejavu-core libexpat1-dev libfontconfig1
  libfontconfig1-dev libfreetype6 libfreetype6-dev libgd-dev libgd3 libice-dev
  libice6 libjbig-dev libjbig0 libjpeg-turbo8 libjpeg-turbo8-dev libjpeg8
  libjpeg8-dev liblzma-dev libpthread-stubs0-dev libsm-dev libsm6 libtiff5
  libtiff5-dev libtiffxx5 libvpx-dev libvpx1 libx11-6 libx11-data libx11-dev
  libxau-dev libxau6 libxcb1 libxcb1-dev libxdmcp-dev libxdmcp6 libxpm-dev
  libxpm4 libxt-dev libxt6 x11-common x11proto-core-dev x11proto-input-dev
  x11proto-kb-dev xorg-sgml-doctools xtrans-dev
Suggested packages:
  libgd-tools libice-doc liblzma-doc libsm-doc libxcb-doc libxt-doc
Recommended packages:
  libx11-doc
The following NEW packages will be installed:
  fontconfig-config fonts-dejavu-core libexpat1-dev libfontconfig1
  libfontconfig1-dev libfreetype6 libfreetype6-dev libgd-dev libgd2-xpm-dev
  libgd3 libice-dev libice6 libjbig-dev libjbig0 libjpeg-dev libjpeg-turbo8
  libjpeg-turbo8-dev libjpeg8 libjpeg8-dev liblzma-dev libpng12-dev
  libpthread-stubs0-dev libsm-dev libsm6 libtiff5 libtiff5-dev libtiffxx5
  libvpx-dev libvpx1 libx11-6 libx11-data libx11-dev libxau-dev libxau6
  libxcb1 libxcb1-dev libxdmcp-dev libxdmcp6 libxpm-dev libxpm4 libxt-dev
  libxt6 x11-common x11proto-core-dev x11proto-input-dev x11proto-kb-dev
  xorg-sgml-doctools xtrans-dev
0 upgraded, 48 newly installed, 0 to remove and 2 not upgraded.
Need to get 8,757 kB of archives.
After this operation, 30.8 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://ports.ubuntu.com/ trusty/main libxau6 armhf 1:1.0.8-1 [7,324 B]
Get:2 http://ports.ubuntu.com/ trusty/main libxdmcp6 armhf 1:1.1.1-1 [11.2 kB]
Get:3 http://ports.ubuntu.com/ trusty/main libxcb1 armhf 1.10-2ubuntu1 [33.1 kB]
Get:4 http://ports.ubuntu.com/ trusty/main libx11-data all 2:1.6.2-1ubuntu2 [111 kB]
Get:5 http://ports.ubuntu.com/ trusty/main libx11-6 armhf 2:1.6.2-1ubuntu2 [506 kB]
Get:6 http://ports.ubuntu.com/ trusty/main fonts-dejavu-core all 2.34-1ubuntu1 [1,024 kB]
Get:7 http://ports.ubuntu.com/ trusty-updates/main fontconfig-config all 2.11.0-0ubuntu4.1 [47.4 kB]
Get:8 http://ports.ubuntu.com/ trusty-security/main libfreetype6 armhf 2.5.2-1ubuntu2.5 [253 kB]
Get:9 http://ports.ubuntu.com/ trusty-updates/main libfontconfig1 armhf 2.11.0-0ubuntu4.1 [107 kB]
Get:10 http://ports.ubuntu.com/ trusty/main libjpeg-turbo8 armhf 1.3.0-0ubuntu2 [85.2 kB]
Get:11 http://ports.ubuntu.com/ trusty/main libjpeg8 armhf 8c-2ubuntu8 [2,202 B]
Get:12 http://ports.ubuntu.com/ trusty-security/main libjbig0 armhf 2.0-2ubuntu4.1 [23.3 kB]
Get:13 http://ports.ubuntu.com/ trusty-security/main libtiff5 armhf 4.0.3-7ubuntu0.4 [129 kB]
Get:14 http://ports.ubuntu.com/ trusty/main libvpx1 armhf 1.3.0-2 [797 kB]     
Get:15 http://ports.ubuntu.com/ trusty/main libxpm4 armhf 1:3.5.10-1 [32.1 kB] 
Get:16 http://ports.ubuntu.com/ trusty-security/main libgd3 armhf 2.1.0-3ubuntu0.1 [103 kB]
Get:17 http://ports.ubuntu.com/ trusty-updates/main x11-common all 1:7.7+1ubuntu8.1 [49.5 kB]
Get:18 http://ports.ubuntu.com/ trusty/main libice6 armhf 2:1.0.8-2 [38.2 kB]  
Get:19 http://ports.ubuntu.com/ trusty/main libsm6 armhf 2:1.2.1-2 [15.4 kB]   
Get:20 http://ports.ubuntu.com/ trusty-security/main libtiffxx5 armhf 4.0.3-7ubuntu0.4 [5,756 B]
Get:21 http://ports.ubuntu.com/ trusty/main libxt6 armhf 1:1.1.4-1 [146 kB]    
Get:22 http://ports.ubuntu.com/ trusty-security/main libjbig-dev armhf 2.0-2ubuntu4.1 [6,272 B]
Get:23 http://ports.ubuntu.com/ trusty-security/main libexpat1-dev armhf 2.1.0-4ubuntu1.3 [104 kB]
Get:24 http://ports.ubuntu.com/ trusty-security/main libpng12-dev armhf 1.2.50-1ubuntu2.14.04.2 [199 kB]
Get:25 http://ports.ubuntu.com/ trusty-security/main libfreetype6-dev armhf 2.5.2-1ubuntu2.5 [570 kB]
Get:26 http://ports.ubuntu.com/ trusty-updates/main libfontconfig1-dev armhf 2.11.0-0ubuntu4.1 [650 kB]
Get:27 http://ports.ubuntu.com/ trusty/main libjpeg-turbo8-dev armhf 1.3.0-0ubuntu2 [215 kB]
Get:28 http://ports.ubuntu.com/ trusty/main libjpeg8-dev armhf 8c-2ubuntu8 [1,554 B]
Get:29 http://ports.ubuntu.com/ trusty/main libjpeg-dev armhf 8c-2ubuntu8 [1,554 B]
Get:30 http://ports.ubuntu.com/ trusty/main xorg-sgml-doctools all 1:1.11-1 [12.9 kB]
Get:31 http://ports.ubuntu.com/ trusty-security/main x11proto-core-dev all 7.0.26-1~ubuntu2 [700 kB]
Get:32 http://ports.ubuntu.com/ trusty/main libxau-dev armhf 1:1.0.8-1 [9,438 B]
Get:33 http://ports.ubuntu.com/ trusty/main libxdmcp-dev armhf 1:1.1.1-1 [25.3 kB]
Get:34 http://ports.ubuntu.com/ trusty/main x11proto-input-dev all 2.3-1 [139 kB]
Get:35 http://ports.ubuntu.com/ trusty/main x11proto-kb-dev all 1.0.6-2 [269 kB]
Get:36 http://ports.ubuntu.com/ trusty-updates/main xtrans-dev all 1.3.5-1~ubuntu14.04.1 [70.3 kB]
Get:37 http://ports.ubuntu.com/ trusty/main libpthread-stubs0-dev armhf 0.3-4 [4,084 B]
Get:38 http://ports.ubuntu.com/ trusty/main libxcb1-dev armhf 1.10-2ubuntu1 [72.5 kB]
Get:39 http://ports.ubuntu.com/ trusty/main libx11-dev armhf 2:1.6.2-1ubuntu2 [575 kB]
Get:40 http://ports.ubuntu.com/ trusty/main libxpm-dev armhf 1:3.5.10-1 [87.1 kB]
Get:41 http://ports.ubuntu.com/ trusty/main libice-dev armhf 2:1.0.8-2 [47.8 kB]
Get:42 http://ports.ubuntu.com/ trusty/main libsm-dev armhf 2:1.2.1-2 [16.4 kB]
Get:43 http://ports.ubuntu.com/ trusty/main libxt-dev armhf 1:1.1.4-1 [418 kB] 
Get:44 http://ports.ubuntu.com/ trusty/main libvpx-dev armhf 1.3.0-2 [423 kB]  
Get:45 http://ports.ubuntu.com/ trusty/main liblzma-dev armhf 5.1.1alpha+20120614-2ubuntu2 [130 kB]
Get:46 http://ports.ubuntu.com/ trusty-security/main libtiff5-dev armhf 4.0.3-7ubuntu0.4 [250 kB]
Get:47 http://ports.ubuntu.com/ trusty-security/main libgd-dev armhf 2.1.0-3ubuntu0.1 [232 kB]
Get:48 http://ports.ubuntu.com/ trusty-security/main libgd2-xpm-dev all 2.1.0-3ubuntu0.1 [1,198 B]
Fetched 8,757 kB in 41s (209 kB/s)                                             
Extracting templates from packages: 100%
Preconfiguring packages ...
Selecting previously unselected package libxau6:armhf.
(Reading database ... 40966 files and directories currently installed.)
Preparing to unpack .../libxau6_1%3a1.0.8-1_armhf.deb ...
Unpacking libxau6:armhf (1:1.0.8-1) ...
Selecting previously unselected package libxdmcp6:armhf.
Preparing to unpack .../libxdmcp6_1%3a1.1.1-1_armhf.deb ...
Unpacking libxdmcp6:armhf (1:1.1.1-1) ...
Selecting previously unselected package libxcb1:armhf.
Preparing to unpack .../libxcb1_1.10-2ubuntu1_armhf.deb ...
Unpacking libxcb1:armhf (1.10-2ubuntu1) ...
Selecting previously unselected package libx11-data.
Preparing to unpack .../libx11-data_2%3a1.6.2-1ubuntu2_all.deb ...
Unpacking libx11-data (2:1.6.2-1ubuntu2) ...
Selecting previously unselected package libx11-6:armhf.
Preparing to unpack .../libx11-6_2%3a1.6.2-1ubuntu2_armhf.deb ...
Unpacking libx11-6:armhf (2:1.6.2-1ubuntu2) ...
Selecting previously unselected package fonts-dejavu-core.
Preparing to unpack .../fonts-dejavu-core_2.34-1ubuntu1_all.deb ...
Unpacking fonts-dejavu-core (2.34-1ubuntu1) ...
Selecting previously unselected package fontconfig-config.
Preparing to unpack .../fontconfig-config_2.11.0-0ubuntu4.1_all.deb ...
Unpacking fontconfig-config (2.11.0-0ubuntu4.1) ...
Selecting previously unselected package libfreetype6:armhf.
Preparing to unpack .../libfreetype6_2.5.2-1ubuntu2.5_armhf.deb ...
Unpacking libfreetype6:armhf (2.5.2-1ubuntu2.5) ...
Selecting previously unselected package libfontconfig1:armhf.
Preparing to unpack .../libfontconfig1_2.11.0-0ubuntu4.1_armhf.deb ...
Unpacking libfontconfig1:armhf (2.11.0-0ubuntu4.1) ...
Selecting previously unselected package libjpeg-turbo8:armhf.
Preparing to unpack .../libjpeg-turbo8_1.3.0-0ubuntu2_armhf.deb ...
Unpacking libjpeg-turbo8:armhf (1.3.0-0ubuntu2) ...
Selecting previously unselected package libjpeg8:armhf.
Preparing to unpack .../libjpeg8_8c-2ubuntu8_armhf.deb ...
Unpacking libjpeg8:armhf (8c-2ubuntu8) ...
Selecting previously unselected package libjbig0:armhf.
Preparing to unpack .../libjbig0_2.0-2ubuntu4.1_armhf.deb ...
Unpacking libjbig0:armhf (2.0-2ubuntu4.1) ...
Selecting previously unselected package libtiff5:armhf.
Preparing to unpack .../libtiff5_4.0.3-7ubuntu0.4_armhf.deb ...
Unpacking libtiff5:armhf (4.0.3-7ubuntu0.4) ...
Selecting previously unselected package libvpx1:armhf.
Preparing to unpack .../libvpx1_1.3.0-2_armhf.deb ...
Unpacking libvpx1:armhf (1.3.0-2) ...
Selecting previously unselected package libxpm4:armhf.
Preparing to unpack .../libxpm4_1%3a3.5.10-1_armhf.deb ...
Unpacking libxpm4:armhf (1:3.5.10-1) ...
Selecting previously unselected package libgd3:armhf.
Preparing to unpack .../libgd3_2.1.0-3ubuntu0.1_armhf.deb ...
Unpacking libgd3:armhf (2.1.0-3ubuntu0.1) ...
Selecting previously unselected package x11-common.
Preparing to unpack .../x11-common_1%3a7.7+1ubuntu8.1_all.deb ...
Unpacking x11-common (1:7.7+1ubuntu8.1) ...
Selecting previously unselected package libice6:armhf.
Preparing to unpack .../libice6_2%3a1.0.8-2_armhf.deb ...
Unpacking libice6:armhf (2:1.0.8-2) ...
Selecting previously unselected package libsm6:armhf.
Preparing to unpack .../libsm6_2%3a1.2.1-2_armhf.deb ...
Unpacking libsm6:armhf (2:1.2.1-2) ...
Selecting previously unselected package libtiffxx5:armhf.
Preparing to unpack .../libtiffxx5_4.0.3-7ubuntu0.4_armhf.deb ...
Unpacking libtiffxx5:armhf (4.0.3-7ubuntu0.4) ...
Selecting previously unselected package libxt6:armhf.
Preparing to unpack .../libxt6_1%3a1.1.4-1_armhf.deb ...
Unpacking libxt6:armhf (1:1.1.4-1) ...
Selecting previously unselected package libjbig-dev:armhf.
Preparing to unpack .../libjbig-dev_2.0-2ubuntu4.1_armhf.deb ...
Unpacking libjbig-dev:armhf (2.0-2ubuntu4.1) ...
Selecting previously unselected package libexpat1-dev:armhf.
Preparing to unpack .../libexpat1-dev_2.1.0-4ubuntu1.3_armhf.deb ...
Unpacking libexpat1-dev:armhf (2.1.0-4ubuntu1.3) ...
Selecting previously unselected package libpng12-dev.
Preparing to unpack .../libpng12-dev_1.2.50-1ubuntu2.14.04.2_armhf.deb ...
Unpacking libpng12-dev (1.2.50-1ubuntu2.14.04.2) ...
Selecting previously unselected package libfreetype6-dev.
Preparing to unpack .../libfreetype6-dev_2.5.2-1ubuntu2.5_armhf.deb ...
Unpacking libfreetype6-dev (2.5.2-1ubuntu2.5) ...
Selecting previously unselected package libfontconfig1-dev.
Preparing to unpack .../libfontconfig1-dev_2.11.0-0ubuntu4.1_armhf.deb ...
Unpacking libfontconfig1-dev (2.11.0-0ubuntu4.1) ...
Selecting previously unselected package libjpeg-turbo8-dev:armhf.
Preparing to unpack .../libjpeg-turbo8-dev_1.3.0-0ubuntu2_armhf.deb ...
Unpacking libjpeg-turbo8-dev:armhf (1.3.0-0ubuntu2) ...
Selecting previously unselected package libjpeg8-dev:armhf.
Preparing to unpack .../libjpeg8-dev_8c-2ubuntu8_armhf.deb ...
Unpacking libjpeg8-dev:armhf (8c-2ubuntu8) ...
Selecting previously unselected package libjpeg-dev:armhf.
Preparing to unpack .../libjpeg-dev_8c-2ubuntu8_armhf.deb ...
Unpacking libjpeg-dev:armhf (8c-2ubuntu8) ...
Selecting previously unselected package xorg-sgml-doctools.
Preparing to unpack .../xorg-sgml-doctools_1%3a1.11-1_all.deb ...
Unpacking xorg-sgml-doctools (1:1.11-1) ...
Selecting previously unselected package x11proto-core-dev.
Preparing to unpack .../x11proto-core-dev_7.0.26-1~ubuntu2_all.deb ...
Unpacking x11proto-core-dev (7.0.26-1~ubuntu2) ...
Selecting previously unselected package libxau-dev:armhf.
Preparing to unpack .../libxau-dev_1%3a1.0.8-1_armhf.deb ...
Unpacking libxau-dev:armhf (1:1.0.8-1) ...
Selecting previously unselected package libxdmcp-dev:armhf.
Preparing to unpack .../libxdmcp-dev_1%3a1.1.1-1_armhf.deb ...
Unpacking libxdmcp-dev:armhf (1:1.1.1-1) ...
Selecting previously unselected package x11proto-input-dev.
Preparing to unpack .../x11proto-input-dev_2.3-1_all.deb ...
Unpacking x11proto-input-dev (2.3-1) ...
Selecting previously unselected package x11proto-kb-dev.
Preparing to unpack .../x11proto-kb-dev_1.0.6-2_all.deb ...
Unpacking x11proto-kb-dev (1.0.6-2) ...
Selecting previously unselected package xtrans-dev.
Preparing to unpack .../xtrans-dev_1.3.5-1~ubuntu14.04.1_all.deb ...
Unpacking xtrans-dev (1.3.5-1~ubuntu14.04.1) ...
Selecting previously unselected package libpthread-stubs0-dev:armhf.
Preparing to unpack .../libpthread-stubs0-dev_0.3-4_armhf.deb ...
Unpacking libpthread-stubs0-dev:armhf (0.3-4) ...
Selecting previously unselected package libxcb1-dev:armhf.
Preparing to unpack .../libxcb1-dev_1.10-2ubuntu1_armhf.deb ...
Unpacking libxcb1-dev:armhf (1.10-2ubuntu1) ...
Selecting previously unselected package libx11-dev:armhf.
Preparing to unpack .../libx11-dev_2%3a1.6.2-1ubuntu2_armhf.deb ...
Unpacking libx11-dev:armhf (2:1.6.2-1ubuntu2) ...
Selecting previously unselected package libxpm-dev:armhf.
Preparing to unpack .../libxpm-dev_1%3a3.5.10-1_armhf.deb ...
Unpacking libxpm-dev:armhf (1:3.5.10-1) ...
Selecting previously unselected package libice-dev:armhf.
Preparing to unpack .../libice-dev_2%3a1.0.8-2_armhf.deb ...
Unpacking libice-dev:armhf (2:1.0.8-2) ...
Selecting previously unselected package libsm-dev:armhf.
Preparing to unpack .../libsm-dev_2%3a1.2.1-2_armhf.deb ...
Unpacking libsm-dev:armhf (2:1.2.1-2) ...
Selecting previously unselected package libxt-dev:armhf.
Preparing to unpack .../libxt-dev_1%3a1.1.4-1_armhf.deb ...
Unpacking libxt-dev:armhf (1:1.1.4-1) ...
Selecting previously unselected package libvpx-dev:armhf.
Preparing to unpack .../libvpx-dev_1.3.0-2_armhf.deb ...
Unpacking libvpx-dev:armhf (1.3.0-2) ...
Selecting previously unselected package liblzma-dev:armhf.
Preparing to unpack .../liblzma-dev_5.1.1alpha+20120614-2ubuntu2_armhf.deb ...
Unpacking liblzma-dev:armhf (5.1.1alpha+20120614-2ubuntu2) ...
Selecting previously unselected package libtiff5-dev:armhf.
Preparing to unpack .../libtiff5-dev_4.0.3-7ubuntu0.4_armhf.deb ...
Unpacking libtiff5-dev:armhf (4.0.3-7ubuntu0.4) ...
Selecting previously unselected package libgd-dev:armhf.
Preparing to unpack .../libgd-dev_2.1.0-3ubuntu0.1_armhf.deb ...
Unpacking libgd-dev:armhf (2.1.0-3ubuntu0.1) ...
Selecting previously unselected package libgd2-xpm-dev.
Preparing to unpack .../libgd2-xpm-dev_2.1.0-3ubuntu0.1_all.deb ...
Unpacking libgd2-xpm-dev (2.1.0-3ubuntu0.1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Processing triggers for ureadahead (0.100.0-16) ...
Setting up libxau6:armhf (1:1.0.8-1) ...
Setting up libxdmcp6:armhf (1:1.1.1-1) ...
Setting up libxcb1:armhf (1.10-2ubuntu1) ...
Setting up libx11-data (2:1.6.2-1ubuntu2) ...
Setting up libx11-6:armhf (2:1.6.2-1ubuntu2) ...
Setting up fonts-dejavu-core (2.34-1ubuntu1) ...
Setting up fontconfig-config (2.11.0-0ubuntu4.1) ...
Setting up libfreetype6:armhf (2.5.2-1ubuntu2.5) ...
Setting up libfontconfig1:armhf (2.11.0-0ubuntu4.1) ...
Setting up libjpeg-turbo8:armhf (1.3.0-0ubuntu2) ...
Setting up libjpeg8:armhf (8c-2ubuntu8) ...
Setting up libjbig0:armhf (2.0-2ubuntu4.1) ...
Setting up libtiff5:armhf (4.0.3-7ubuntu0.4) ...
Setting up libvpx1:armhf (1.3.0-2) ...
Setting up libxpm4:armhf (1:3.5.10-1) ...
Setting up libgd3:armhf (2.1.0-3ubuntu0.1) ...
Setting up x11-common (1:7.7+1ubuntu8.1) ...
 * Setting up X socket directories...                                    [ OK ] 
Setting up libtiffxx5:armhf (4.0.3-7ubuntu0.4) ...
Setting up libjbig-dev:armhf (2.0-2ubuntu4.1) ...
Setting up libexpat1-dev:armhf (2.1.0-4ubuntu1.3) ...
Setting up libpng12-dev (1.2.50-1ubuntu2.14.04.2) ...
Setting up libfreetype6-dev (2.5.2-1ubuntu2.5) ...
Setting up libfontconfig1-dev (2.11.0-0ubuntu4.1) ...
Setting up libjpeg-turbo8-dev:armhf (1.3.0-0ubuntu2) ...
Setting up libjpeg8-dev:armhf (8c-2ubuntu8) ...
Setting up libjpeg-dev:armhf (8c-2ubuntu8) ...
Setting up xorg-sgml-doctools (1:1.11-1) ...
Setting up x11proto-core-dev (7.0.26-1~ubuntu2) ...
Setting up libxau-dev:armhf (1:1.0.8-1) ...
Setting up libxdmcp-dev:armhf (1:1.1.1-1) ...
Setting up x11proto-input-dev (2.3-1) ...
Setting up x11proto-kb-dev (1.0.6-2) ...
Setting up xtrans-dev (1.3.5-1~ubuntu14.04.1) ...
Setting up libpthread-stubs0-dev:armhf (0.3-4) ...
Setting up libxcb1-dev:armhf (1.10-2ubuntu1) ...
Setting up libx11-dev:armhf (2:1.6.2-1ubuntu2) ...
Setting up libxpm-dev:armhf (1:3.5.10-1) ...
Setting up libvpx-dev:armhf (1.3.0-2) ...
Setting up liblzma-dev:armhf (5.1.1alpha+20120614-2ubuntu2) ...
Setting up libtiff5-dev:armhf (4.0.3-7ubuntu0.4) ...
Processing triggers for ureadahead (0.100.0-16) ...
Setting up libice6:armhf (2:1.0.8-2) ...
Setting up libsm6:armhf (2:1.2.1-2) ...
Setting up libxt6:armhf (1:1.1.4-1) ...
Setting up libice-dev:armhf (2:1.0.8-2) ...
Setting up libsm-dev:armhf (2:1.2.1-2) ...
Setting up libxt-dev:armhf (1:1.1.4-1) ...
Setting up libgd-dev:armhf (2.1.0-3ubuntu0.1) ...
Setting up libgd2-xpm-dev (2.1.0-3ubuntu0.1) ...
Processing triggers for libc-bin (2.19-0ubuntu6.9) ...
root@bananapim2plus:~# sudo apt-get install libfreetype6-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libfreetype6-dev is already the newest version.
libfreetype6-dev set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
root@bananapim2plus:~# git clone https://github.com/avafinger/fswebcam
Cloning into 'fswebcam'...
remote: Counting objects: 45, done.
remote: Total 45 (delta 0), reused 0 (delta 0), pack-reused 45
Unpacking objects: 100% (45/45), done.
Checking connectivity... done.
root@bananapim2plus:~# cd fswebcam/
root@bananapim2plus:~/fswebcam# ./configure --prefix=/usr --disable-v4l1 --enable-32bit-buffer
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... yes
checking for getpagesize... yes
checking for working mmap... yes
checking for gdImageCreateTrueColor in -lgd... yes
checking for gdImageStringFT in -lgd... yes
checking for gdImageJpeg in -lgd... yes
checking for gdImagePngEx in -lgd... yes

   Buffer type ........... 32 bit
   PNG support ........... yes
   JPEG support .......... yes
   Freetype 2.x support .. yes
   V4L1 support .......... no
   V4L2 support .......... yes

configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: config.h is unchanged
root@bananapim2plus:~/fswebcam# make
gcc -g -O2 -DHAVE_CONFIG_H -c fswebcam.c -o fswebcam.o
gcc -g -O2 -DHAVE_CONFIG_H -c log.c -o log.o
log.c: In function ‘log_msg’:
log.c:193:23: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
  if(!use_syslog) write(fd_log, o, strlen(o));
                       ^
gcc -g -O2 -DHAVE_CONFIG_H -c effects.c -o effects.o
gcc -g -O2 -DHAVE_CONFIG_H -c parse.c -o parse.o
gcc -g -O2 -DHAVE_CONFIG_H -c src.c -o src.o
gcc -g -O2 -DHAVE_CONFIG_H -c src_test.c -o src_test.o
gcc -g -O2 -DHAVE_CONFIG_H -c src_raw.c -o src_raw.o
gcc -g -O2 -DHAVE_CONFIG_H -c src_file.c -o src_file.o
gcc -g -O2 -DHAVE_CONFIG_H -c src_v4l2.c -o src_v4l2.o
gcc -g -O2 -DHAVE_CONFIG_H -c dec_rgb.c -o dec_rgb.o
gcc -g -O2 -DHAVE_CONFIG_H -c dec_yuv.c -o dec_yuv.o
gcc -g -O2 -DHAVE_CONFIG_H -c dec_grey.c -o dec_grey.o
gcc -g -O2 -DHAVE_CONFIG_H -c dec_bayer.c -o dec_bayer.o
gcc -g -O2 -DHAVE_CONFIG_H -c dec_jpeg.c -o dec_jpeg.o
gcc -g -O2 -DHAVE_CONFIG_H -c dec_png.c -o dec_png.o
gcc -g -O2 -DHAVE_CONFIG_H -c dec_s561.c -o dec_s561.o
gcc -o fswebcam fswebcam.o log.o effects.o parse.o src.o src_test.o src_raw.o src_file.o src_v4l2.o dec_rgb.o dec_yuv.o dec_grey.o dec_bayer.o dec_jpeg.o dec_png.o dec_s561.o -lgd 
gzip -c --best fswebcam.1 > fswebcam.1.gz
root@bananapim2plus:~/fswebcam# 
root@bananapim2plus:~/fswebcam# make install
mkdir -p /usr/bin
mkdir -p /usr/share/man/man1
install -m 755 fswebcam /usr/bin
install -m 644 fswebcam.1.gz /usr/share/man/man1
root@bananapim2plus:~/fswebcam# 
Link to post
Share on other sites

Can someone please enlighten me about the status of different boards and camera modules?

 

If I understood correctly we can use both Xunlong's cheap GC2035 module and SinoVoip's OV5640 module on BPi M2+ and Orange Pis? Is the 'extend board' necessary (needed on OPi PC/One/Lite with GC2035)? What's required regarding drivers?

 

BTW: SinoVoip announced an A64 board yesterday. They say the camera module would be compatible to BPi M2+ but by looking at 'specifications' (most probably the usual 'copy&paste gone wrong crap this vendor is so famous for') further questions arise ('CSI Camera Connector is a 40-pin FPC connector' vs. 'CSI Camera Connector is a 24-pin FPC connector' and on the image they're not talking about MIPI/CSI but a parallel interface instead. And I would suspect the @sinovoip muppet providing this sort of anti information doesn't even get the idea what's wrong with this mess)

Link to post
Share on other sites

@tkaiser

 

Oranges

GC2035 FF/Xulong is working with @lex, already merged on Armbian;

From the original gc2035.c driver found typically on Linux, @lex driver provides much better FPS rates and resolutions.

modprobe gc2035
modprobe v4l2_vfe
fswebcam --Hflip 1 -r 640x480 -p YUV420P - > cam640x480_1.jpg

OV5640 AF/SinoVoip is working on Oranges, with the same drawbacks as explained for Bananas (see below).

 

Bananas

GC2035 FF/Xulong is working, same comments as for Oranges;

OV5640 AF/SinoVoip is working but there are several bugs on ov5640.c driver. To temporaly overcome these bugs, @lex modified fswebcam to retrieve frames bypassing driver missing features.

modprobe ov5640
modprobe v4l2_vfe
fswebcam --Hflip 1 -r 640x480 -p YUV420P - > cam640x480_1.jpg

Fixing all issues ov5640.c is complex and requires a lot of efforts, we don't have a fixed schedule to do it yet... but I report that multiple resolutions are currently working... will keep community updated as we move, if we move in that direction. My personal target would be to have the driver fixed to run a basic OpenCV frame grabbing code...

#include <iostream>
#include <opencv2/opencv.hpp>

using namespace std;

int main() {  
  Mat frame;
  VideoCapture cap;  
  
  if (!cap.open("/dev/video0")) {
    cout << "Failed to OPEN /dev/video0" <<endl; return -1;
  }

  while(; {
    cap >> frame;
    if (frame.empty())
      break;

      cout << "Failed to RETRIEVE frame from /dev/video0" <<endl; return -1;
  }

  return 0;
}

For both OV5640 AF / SinoVoip or GC2035 FF / Xulong, on both Oranges (except Orange Pi One or Orange Pi PC) or Bananas, you can connect modules directly to DVP camera connector (24pin connector), no extension board is required.

 

On the hardware side we discovered that both Oranges and Bananas adopted 180º reversed pins layout, when comparing to most of the camera modules that are available for sale from other suppliers. My guessing is that they have changed it to somehow force customers buy their own cameras.

 

ov5640.png?raw=1

 

camera3.png?raw=1

 

To overcome that I personally partnered with camera factory to develop new GC2035 FF and OV5640 FF modules with the correct pin layout... it is under production right now. As soon I test the new modules next week, I will start selling cameras modules to help me amortize factory custom development costs and help community.

 

NoteFF stands for FIXED FOCUS, while AF stands for AUTO FOCUS.

 

By the way SinoVoip has been extremely supportive with me, proving me hardware as requested. On the other side Steven/Xulong seems to definitely not be interested in solving it... he just told me "It doesn't work, only with our own GC2035 cameras".

Link to post
Share on other sites

Now, to add to the confusion, AF pin 23 / pin 24 on Sinovoip OV5640 sensor seems inverted from what i think it should be, or compared to FriendlyArm OV5640.

Since i don't know  the Orange PI pinout connector, i think one should take some care while sticking the OV5640 AF on OPI, if someone does and it works, please, post in here, well, if not post in here also. :)

 

Xunlong GC2035 (2M) => FF (Fixed Focus) so Pin 23 / Pin 24 NC

Sinovoip OV5640 (5M) => AF (Auto Focus)

FrienldyArm OV5640 (5M) => AF

Lemaker OV5640 (5M) => AF

Pine64+ S5K4EC (5M) => FF

 

From my understanding (not a hardware guy), Sinovoip A64 adopted the same CSI to save cost, so i think GC2035 and OV5640 will both work, which is nice. So it is CSI 24 pin, not parallel. I believe the 40 pin connector is the Raspi standard gpio way and  the adoption of the DSI LCD display is a fail, i can drive a 18.4" LVDS LCD panel with resistive touch on my cubieboard (A20), and you won't find a cheap DSI LCD panel (> 10.1") anywhere.

 

At least $ 35 is a good price  if it comes with 8 GB eMMC / BT / 2GB / Wifi.

 

Pine64+ schematic tells it is the same CSI plus 2 NC pins. I have not looked at the connector to see if it is 26 pins or 24 pins.

Link to post
Share on other sites

@lex

 

AF pins 23 and 24 need further investigation, it is maybe swapped too... especially on OV5640 AF / SinoVoip... but I will not focus on solving it for now.

 

I think a good idea would be to create a reference/comparison table with camera modules from different factories/brands.

Link to post
Share on other sites

For both OV5640 AF / SinoVoip or GC2035 FF / Xulong, on both Oranges or Bananas, you can connect modules directly to DVP camera connector (24pin connector), no extension board is required.

 

This is wrong. Please don't plug your camera directly into an Orange Pi One or Orange Pi PC. They output 5V on pins 1 & 24. You need the expansion board to drop this to 2.8V/1.8V for the camera.

 

With Orange Pi 2, Orange Pi Mini and Orange Pi Plus you can connect the camera directly (according to the schematics, as I have not personally tried these).

 

I also don't believe Xunlong/SinoVoip have changed any camera pin layouts. They are just working with what is available and there is no standard.

Link to post
Share on other sites

I also don't believe Xunlong/SinoVoip have changed any camera pin layouts. They are just working with what is available and there is no standard.

 

Hi @mattday,

 

Thanks for the warning!

 

So please, where are this "not changed" pin layout sensors available from that will work on OPI or M2P, or you mean not changed the layout between them? I tend to disagree with your "there is no standard", every place i have searched for sensors they are pin1 from left to right and not from right to left as on OPI and M2P.

Link to post
Share on other sites

Bananas

GC2035 FF/Xulong is working, same comments as for Oranges

 

Thx for the great insights. I just tried it out with BPi M2+ (PCB rev. 1.0!) and Xunlong's GC2035 module (directly connected) as can be seen on the image:

BPi_M2_Plus_fed_by_Lime2.jpg

 

I adopted fex settings and copied the csi0 section over from Orange Pi PC. But all I get is an error message:

 

 

macbookpro-tk:~ tk$ slogin 192.168.83.195

tk@192.168.83.195's password: 

 ____                                  ____  _   __  __ ____       

| __ )  __ _ _ __   __ _ _ __   __ _  |  _ \(_) |  \/  |___ \  _   

|  _ \ / _` | '_ \ / _` | '_ \ / _` | | |_) | | | |\/| | __) || |_ 

| |_) | (_| | | | | (_| | | | | (_| | |  __/| | | |  | |/ __/_   _|

|____/ \__,_|_| |_|\__,_|_| |_|\__,_| |_|   |_| |_|  |_|_____||_|  

                                                                   

 

Welcome to ARMBIAN Ubuntu 16.04 LTS 3.4.112-sun8i 

System load:   0.35            Up time:       39 sec

IP:            192.168.83.195 169.254.2.1 

CPU temp:      26°C           

Usage of /:    21% of 7.1G   

 

 

[ 5 updates to install: apt-get upgrade ]

 

Last login: Sat Jul 16 13:38:22 2016 from 192.168.83.91

tk@bananapim2plus:~$ fswebcam --Hflip 1 -r 640x480 -p YUV420P - > cam640x480.jpg

--- Opening /dev/video0...

Trying source module v4l2...

/dev/video0 opened.

No input was specified, using the first.

Unable to query input 0.

VIDIOC_ENUMINPUT: Invalid argument

tk@bananapim2plus:~$ lsmod

Module                  Size  Used by

g_ether                38566  0

cp210x                 11995  0

usbserial              29089  1 cp210x

vfe_v4l2             1013995  0

videobuf_dma_contig     3509  1 vfe_v4l2

videobuf_core          14682  2 vfe_v4l2,videobuf_dma_contig

gc2035                 19119  0

vfe_subdev              4471  2 vfe_v4l2,gc2035

vfe_os                  4141  2 vfe_v4l2,vfe_subdev

cci                    22816  2 vfe_v4l2,gc2035

 

 

 

(I did exactly the same on even the same install running on an Orange Pi PC and there it works flawlessly). Support info including fex contents and dmesg output available at http://sprunge.us/OCNM

 

Any ideas? Is the camera supposed to work on a PCB rev 1.0 or would I need 1.1?

Link to post
Share on other sites

@tkaiser,

 

I received rev 1.1 from @lvmc, that i think they fixed the resistors.

 

post-957-0-18222700-1468708236_thumb.jpg

 

Here is the fex:

[csi0]

vip_used                 = 1
vip_mode                 = 0
vip_dev_qty              = 1
vip_define_sensor_list   = 0

vip_csi_pck              = port:PE00<2><default><default><default>
vip_csi_mck              = port:PE01<2><default><default><default>
vip_csi_hsync            = port:PE02<2><default><default><default>
vip_csi_vsync            = port:PE03<2><default><default><default>
vip_csi_d0               = port:PE04<2><default><default><default>
vip_csi_d1               = port:PE05<2><default><default><default>
vip_csi_d2               = port:PE06<2><default><default><default>
vip_csi_d3               = port:PE07<2><default><default><default>
vip_csi_d4               = port:PE08<2><default><default><default>
vip_csi_d5               = port:PE09<2><default><default><default>
vip_csi_d6               = port:PE10<2><default><default><default>
vip_csi_d7               = port:PE11<2><default><default><default>
vip_csi_sck              = port:PE12<2><default><default><default>
vip_csi_sda              = port:PE13<2><default><default><default>
 
vip_dev0_mname           = "gc2035"
vip_dev0_pos             = "front"
vip_dev0_lane            = 1
vip_dev0_twi_id          = 2
vip_dev0_twi_addr        = 0x78
vip_dev0_isp_used        = 0
vip_dev0_fmt             = 0
vip_dev0_stby_mode       = 0
vip_dev0_vflip           = 1
vip_dev0_hflip           = 1
vip_dev0_iovdd           = ""
vip_dev0_iovdd_vol       = 2800000
vip_dev0_avdd            = ""
vip_dev0_avdd_vol        = 2800000
vip_dev0_dvdd            = ""
vip_dev0_dvdd_vol        = 1800000
vip_dev0_afvdd           = ""
vip_dev0_afvdd_vol       = 2800000
vip_dev0_power_en        = port:PD14<1><default><default><default>
vip_dev0_reset           = port:PE14<1><default><default><default>
vip_dev0_pwdn            = port:PE15<1><default><default><default>
vip_dev0_flash_en        =
vip_dev0_flash_mode      =
vip_dev0_af_pwdn         =

vip_dev0_act_used        = 0
vip_dev0_act_name        = "ad5820_act"
vip_dev0_act_slave       = 0x18


vip_dev1_mname           = ""
vip_dev1_pos             = "front"
vip_dev1_lane            = 1
vip_dev1_twi_id          = 0
vip_dev1_twi_addr        =
vip_dev1_isp_used        = 0
vip_dev1_fmt             = 1
vip_dev1_stby_mode       = 0
vip_dev1_vflip           = 0
vip_dev1_hflip           = 0
vip_dev1_iovdd           = ""
vip_dev1_iovdd_vol       = 2800000
vip_dev1_avdd            = ""
vip_dev1_avdd_vol        = 2800000
vip_dev1_dvdd            = ""
vip_dev1_dvdd_vol        = 1500000
vip_dev1_afvdd           = ""
vip_dev1_afvdd_vol       = 2800000
vip_dev1_power_en        =
vip_dev1_reset           =
vip_dev1_pwdn            =
vip_dev1_flash_en        =
vip_dev1_flash_mode      =
vip_dev1_af_pwdn         =

About the M1, i have tried without success but i will check again with the OV5640, i think you should not connect GC2035 directly to the DVP connector because they have an extension with possibly some conversion.

 

Speaking about the 40 pin camera connector, this is for the M3, i have recently learned that it could be a parallel to CSI bridge conversion.

 

 

Link to post
Share on other sites

From my VERY humble expirience with

 

nanopi M1 + cam500 from friendlyARM

uname -a = Linux nanopim1 3.4.112-sun8i #8 SMP PREEMPT Fri Jul 22 13:36:16 EEST 2016 armv7l armv7l armv7l GNU/Linux

 

1.move R6 to R5 on cam500 pcb (so making VDDIO 3v, not 1.8V)

2. enable for a while twi2 and check addr 0x3c with i2ctool (in my case works only with VDDIO=3V)

3. edit in script vip_dev0_mname gc2035->ov5640

4. modprobe ov5640, modprobe vfe_v4l2

...

and something like fswebcam -p YUV420P 111.jpg
 

it seems it works!  (somehow :)

Link to post
Share on other sites

@Nora Lee, thank you so much for supporting our effort!

 

We are actively working to solve all issues with GC2035 and OV5640 and as soon we finish software stuff, the code will be available for Armbian community.

 

The Armbian project has been doing and incredible job for community and TRUE collaboration is the way to go!

Link to post
Share on other sites

Hello everyone !

 

I am currently trying to connect an OV5640 to my Orange Pi PC Plus without success.

I have reversed the connector on the expansion board like so :  

 

20160820_182246.jpg

 

I am running the legacy version not the dev one, last updated about 10 days ago.

 

I was wondering if the changes to use the 0V5640 have been pushed ?
Also what is the procedure to use it ? 

So far I have been using :

modprobe ov5640

modprobe vfe_v4l2

 

and then tried either fswebcam or qv4l2 without success (device not found).

But there is a problem with the reversed connector as it causes the expansion board to heat up.
I might have fried the sensor some times ago, but I am posting here to get the right procedure before frying another one.

 

BTW, if I can make the OV5640 sensor work on the Orange Pi PC I'll make an expansion board with the good wiring and I'll make all the prod files available ;)

 

Cheers !

Link to post
Share on other sites

I finished all tests on hardware level and it's confirmed that both GC2035 and OV5640 are now fully working!

 

@lex has been doing an incredible job on Linux drivers, now focusing on frame grabbing compatibility.

 

What is required to get the OV5640 working on a orangePI PC?  Is it possible to use the latest (sunxi) 4.8.x ?

Link to post
Share on other sites

What is required to get the OV5640 working on a orangePI PC?  Is it possible to use the latest (sunxi) 4.8.x ?

 

I just tested the OV5640 AF (HDF5640-YC02-V1.0 F S) on Orange Pi PC Plus without success :

On 3.4.112 :  camera not found when using fswebcam

On 4.7.3 : cannot even do a "modprobe ov5640"

 

I'd like some help too on this matter, anyone ?

Link to post
Share on other sites

What is required to get the OV5640 working on a orangePI PC?  Is it possible to use the latest (sunxi) 4.8.x ?

 

Ok, thanks to @lvmc we fixed this ! Here is how :

 

apt-get install libusb-1.0-0-dev 
git clone https://github.com/linux-sunxi/sunxi-tools
cd sunxi-tools
make

==> NOTE : Here I had an error finding libusb, so I udpated the file fec.c

 

nano fec.c

And replaced

 

#include <libusb/libusb.h>

 

with

 

#include "/usr/include/libusb-1.0/libusb.h"

 

 

==> END NOTE

 

Keep a backup :

sudo mv /boot/script.bin /boot/script.bin.old

Run :

./bin2fex /boot/script.bin.old script.fex

Edit the file script.fex

nano script.fex

Look for this line (Ctrl+W to search in nano) :

vip_dev0_mname  = "gc2035"

And replace it with :

vip_dev0_mname = "ov5640"

Now save and create the bin from the fex :

./fex2bin script.fex script.bin
sudo mv script.bin /boot/script.bin
sudo chmod 777 /boot/script.bin

reboot, and you're good to go ! 

 

Uses @lex fswebcam :

modprobe ov5640
modprobe v4l2_vfe
fswebcam --Hflip 1 -r 640x480 -p YUV420P - > cam640x480_1.jpg

Thanks to @lvmc

Link to post
Share on other sites

Ok, thanks to @lvmc we fixed this ! Here is how :

 

apt-get install libusb-1.0-0-dev 
git clone https://github.com/linux-sunxi/sunxi-tools
cd sunxi-tools
make

==> NOTE : Here I had an error finding libusb, so I udpated the file fec.c

 

nano fec.c

And replaced

 

#include <libusb/libusb.h>

 

with

 

#include "/usr/include/libusb-1.0/libusb.h"

 

 

==> END NOTE

 

Keep a backup :

sudo mv /boot/script.bin /boot/script.bin.old

Run :

./bin2fex /boot/script.bin.old script.fex

Edit the file script.fex

nano script.fex

Look for this line (Ctrl+W to search in nano) :

vip_dev0_mname  = "gc2035"

And replace it with :

vip_dev0_mname = "ov5640"

Now save and create the bin from the fex :

./fex2bin script.fex script.bin
sudo mv script.bin /boot/script.bin
sudo chmod 777 /boot/script.bin

reboot, and you're good to go ! 

 

Uses @lex fswebcam :

modprobe ov5640
modprobe v4l2_vfe
fswebcam --Hflip 1 -r 640x480 -p YUV420P - > cam640x480_1.jpg

Thanks to @lvmc

Do you have to reverse the cable? 

Link to post
Share on other sites
Guest
This topic is now closed to further replies.