6 6
mattday

OV5640 camera with Orange Pi

Recommended Posts

I have the gc2035 camera working on my Orange Pi One running Armbian, but I need a better image sensor. I've had a quick attempt to get an ov5640 working without any luck. It is a popular 5Mpixel module similar to the RPi camera. I know that 'Sitheek' on the Orange Pi forums had it working. However, that place is a ghost town now and Sitheek has not visited since January. 

 

So, I wonder if anyone here has got an OV5640 camera working, or failing that, could just offer some pointers on how to go about this? Thanks.

Share this post


Link to post
Share on other sites
Regarding gc2305 I hope you're aware that some driver improvements have been made by community members. The patch here should work flawlessly when you build an Armbian image from scratch (or build the driver separately): https://github.com/avafinger/gc2035
 
Regarding OV5640 -- this is also the camera SinoVoip sells with their H3 board (BPi M2+). Based on experiences with the real Banana Pi I would suspect quality is still horrible (driver thingie -- I've never seen anyone getting more than 640x480 pixel out of this 5MP module in Linux since you need to sign an NDA with OmniVision to get calibration data or something like that).
 

 

I hope @lex is reading this and can comment on it since he already made some tests with 2MP and 5MP camera modules.

Share this post


Link to post
Share on other sites

I have made some simple tests with OV5640 on another board (guitar), still waiting for NanoPI M1 (OPI clone) with 5MP module.

 

I can confirm that OV5640 module (and the driver for this board) works pretty nice and you can get 5MP (2592x1944) at ~5 fps framerate  and quality is similar (a bit better i would say) to 1600x1200 (gc2035).

 

* 1280x720 can be rendered at ~17 fps and i can say by observation i has a sharp image (good quality), and the sharpest image i can get is 1600x1200 but at low framerate (~ 4 fps), i think this can be used for taking photos with high quality, while 480x640 and 1280x720 are good candidates for video streams.

 

* AF works with 640x480 only on my simple tests, need to check the Android source code to see which parameters are used to get AF working on HD (1280x720) since kernel is the same.

 

* Armbian will(is) support(ting) guitar (can i say this?),

 

If AW driver sucks we can try to improve it based on Actions code. AW OV5640 code has a lot of more window size to choose suggesting a lower quality image, i may be wrong!

I have read the 'Sitheek' post and hope we don't need to fix any code specially the sunxi-vfe code.

 

If the AW OV5640 driver code works as Actions driver code it will be really nice and NanoPi M1, SinoVoip M2+ (M3?) can benefit from this and we can push Steven to design a 5MP module.

Share this post


Link to post
Share on other sites

Armbian will(is) support(ting) guitar (can i say this?) ...

 

If the AW OV5640 driver code works as Actions driver code it will be really nice and NanoPi M1, SinoVoip M2+ (M3?)

 

Guitar is supported but forget about M3 (SinoVoip produced a new camera module based on a different OmniVision chip for M3 and showed a strange demo video with 320x240 pixel size where you could see already artefacts). And thanks for the updates regarding OV5640 -- good to hear that it's not that bad any more :)

Share this post


Link to post
Share on other sites

TKaiser,

 

Out of curiosity, Sinovoip has 3 camera modules, OV5640 module version 1.0, OV5640 version 2.0 and OV8865 version 3.0, you seem to have one OV5640 module, right? They all use 40 bit FPC cable, if your version is 2.0 and you still have your M3 you could give it a try and you already knows how to build the stable image.

 

Funny is they advertise version 2.0 and show version 1.0: http://www.aliexpress.com/store/product/Raspberry-Pi-Camera-Board-Banana-PI-Camera-OV5640-chip-fully-compatible-with-official-module/302756_2038351355.html

 

BTW i have read Igor got M3 and i have a feeling sooner or later there will be a stable image for the M3, looking forward to hearing news about this.

Share this post


Link to post
Share on other sites

you seem to have one OV5640 module, right?

 

Nope, another LeMakerr forum user gave me SSH access to his Banana Pi with camera connected. I got AF working after LeMaker released a fixed driver but resolution/framerates were poor.

 

What you experienced with SinoVoip is unfortunately pretty normal. They simply don't give a shit about correct informations (maybe they still not even get the idea why such things would matter). You never know if something they write in their forums, in their gitbook 'documentation' or on Aliexpress is correct or just the usual 'copy&paste gone wrong' they're famous for.

 

Until this is resolved I wouldn't think about ordering anything from them. Apart from that IMO A83T devices are pretty uninteresting and the M3 being the worst one (due to the many design flaws that this board shows)

 

UPDATE: You can't believe SinoVoip a single word. See here please for another example.

Share this post


Link to post
Share on other sites
Thanks for the latest info guys, I'll be very interested to see how @lex gets on with the 5Mp camera on NanoPi M1.
 
I only bought the gc2035 for the camera expansion board, so haven't tested that beyond grabbing a frame. I have a OV5640 like this which looks like it should be pin compatible with the board.
 

Although when I run 'modprobe vfe_v4l2' I get the following, suggesting a problem with the i2c communications perhaps?

 

[ 1946.945905] [VFE]Welcome to Video Front End driver
[ 1946.946271] [VFE]pdev->id = 0
[ 1946.946286] [VFE]dev->mipi_sel = 0
[ 1946.946298] [VFE]dev->vip_sel = 0
[ 1946.946311] [VFE]dev->isp_sel = 0
[ 1946.952440] [VFE_WARN]vfe vpu clock is null
[ 1946.959970] [VFE]..........................vfe clk open!.......................
[ 1946.960049] [ISP] isp platform_id = 5!
[ 1946.960205] [VFE]vfe_init end
[ 1946.970063] [VFE]probe_work_handle start!
[ 1946.970088] [VFE]v4l2 subdev register input_num = 0
[ 1946.970099] [VFE]vfe sensor detect start! input_num = 0
[ 1946.970114] [VFE]Find sensor name is "ov5640", i2c address is 78, type is "YUV" !
[ 1946.970126] [VFE]Sub device register "ov5640" i2c_addr = 0x78 start!
[ 1946.970141] [VFE]v4l2_device_register_subdev return 0
[ 1946.970152] [VFE]registered sensor subdev is OK!
[ 1946.970160] [VFE]Check sensor!
[ 1946.983467] [VFE]mclk on
[ 1947.050306] [VFE CCI_0 ERR] Status error at addr_8bit = 78, wr_flag = 1, val = 1000a30
[ 1947.050569] [VFE CCI_0 ERR] Status error at addr_8bit = 78, wr_flag = 1, val = 1000a30
[ 1947.050831] [VFE CCI_0 ERR] Status error at addr_8bit = 78, wr_flag = 1, val = 1000a30
[ 1947.050847] [OV5640]error at sensor_detect
[ 1947.050856] [OV5640]chip found is not an target chip.
[ 1947.050866] [VFE]mclk off
[ 1947.086994] [VFE]vfe sensor subdev unregister!
[ 1947.087009] [VFE]Sub device register "ov5640" failed!
[ 1947.087020] [VFE_ERR]vfe sensor register check error at input_num = 0
[ 1947.087311] [VFE]V4L2 device registered as video0
[ 1947.087344] [VFE]..........................vfe clk close!.......................
[ 1947.087365] [VFE]probe_work_handle end!
[ 1947.096023] [VFE]vfe_open
[ 1947.096043] [VFE]..........................vfe clk open!.......................
[ 1947.096076] [VFE]vfe_open ok
[ 1947.096262] [VFE]vfe_close
[ 1947.096273] [VFE]vfe select input flag = 0, s_input have not be used .
[ 1947.096292] [VFE]..........................vfe clk close!.......................
[ 1947.096320] [VFE]vfe_close end

Share this post


Link to post
Share on other sites

Guys,

 

How are you?

 

I'm also trying to make OV5640 work on M2+, but I'm getting this errors (doesn't consider "frameserver" errror, it's from my application):

 

IMG_1229.JPG

 

SkypePhoto_20160518_22_22_42.jpg

 

SkypePhoto_20160518_22_28_24.jpg

Share this post


Link to post
Share on other sites

@lvmc,

 

You just opened the wrong /dev/videoX , open /dev/video0 and you will be OK!  I have seen the error VFE_ERR, i guess we need to look closer.

Seems you have two cameras attached!

 

@mattday,

 

Sounds like you have to swap two pins, please, have you checked pin to pin with GC2035?

Share this post


Link to post
Share on other sites

@lex 

 

I was testing the v4l module with a USB and OV5640 camera, the USB is working perfectly... the OV5640 (24 pin) is not. I tried to remove the USB camera... it is not the fault. On .fex file I found a line that is apparently fixing ov5640 to /dev/video0.

 

Do you know anything about VFE_ERR?

Share this post


Link to post
Share on other sites

@lvmc and @mattday, please print your [csi0/csi1] section (fex) so others can help.

 

@mattday, do you have gc2035 module pinout?

 

 

 

I expect to receive and work with NanoPi M1 soon. But until then, i am just guessing.

Someone else already fixed this possible VFE error, unfortunately he has not disclosed the fix.

Share this post


Link to post
Share on other sites
I found my hardware issue. It wasn't obvious what 'Sitheek' meant about 'reversing pinouts' for OV5640. From the picture of the adapter board he posted it looked like he might be doing something with pins 10 and 11, but that didn't seem like a good idea from the data I have. It turns out you need to essentially switch the whole connector 180 degrees. So pin 1 becomes pin 24 and vice versa. I can't see how his adapter achieves that, but I can confirm this is necessary for the Orange Pis.

 

I don't have pinouts for the GC2035 or the camera expansion board, but the OV5640 should be pin-compatible based on my scope measurements and the schematics for the Orange Pi 2 (which does not require an expansion board). Unfortunately I don't have the equipment at home to desolder the FFC connector, so can't try anything else for the moment.

Share this post


Link to post
Share on other sites

I am not sure if i understood, can you clarify?

 

This error:

[ 1947.050306] [VFE CCI_0 ERR] Status error at addr_8bit = 78, wr_flag = 1, val = 1000a30
[ 1947.050569] [VFE CCI_0 ERR] Status error at addr_8bit = 78, wr_flag = 1, val = 1000a30
[ 1947.050831] [VFE CCI_0 ERR] Status error at addr_8bit = 78, wr_flag = 1, val = 1000a30

is solved when you switch the whole connector 180 degrees?

Or this error occurs after you found the hardware iissue?

Share this post


Link to post
Share on other sites

I am not sure if i understood, can you clarify?

 

This error:

[ 1947.050306] [VFE CCI_0 ERR] Status error at addr_8bit = 78, wr_flag = 1, val = 1000a30
[ 1947.050569] [VFE CCI_0 ERR] Status error at addr_8bit = 78, wr_flag = 1, val = 1000a30
[ 1947.050831] [VFE CCI_0 ERR] Status error at addr_8bit = 78, wr_flag = 1, val = 1000a30

is solved when you switch the whole connector 180 degrees?

Or this error occurs after you found the hardware iissue?

 

I hope it will be solved, but I can't try yet. The pin reversal was responsible for this error in my case. The connections were all wrong. I imagine the first thing the driver does is try to talk to the camera using i2c, but the i2c pins (SDA/SCLK) were connected to some camera image data pins (D2/D3). So of course the communications failed and driver aborted.

PIN BOARD      CAMERA
--- ---------- ---------
01  NC         AFVCC-CSI
02  GND        GND
03  SDA        D2
04  VCC-CSI    D1
05  SCK        D3
06  RESET      D0
07  VSYNC      D4
08  PWDN       PCLK
09  HSYNC      D5
10  VDD1V5-CSI GND
11  VCC-CSI    D6
12  D7         MCLK
13  MCLK       D7
14  D6         VCC-CSI
15  GND        VDD1V5-CSI
16  D5         HSYNC
17  PCLK       PWDN
18  D4         VSYNC
19  D0         RESET
20  D3         SCK
21  D1         VCC-CSI
22  D2         SDA
23  GND        GND
24  AFVCC-CSI  NC

Share this post


Link to post
Share on other sites

@matday,

 

Please, get back with your results when you try it.

 

I tried to load OV5640 without the camera plugged and got the exact same error, so it's true about I2c.

 

Looking at friendlyarm M1 specification i can see:

DVP Camera IF Pin Spec

Pin#		Name	Description
1, 2		SYS_3.3V	3.3V power output, to camera modules
7,9,13,15,24	GND		Gound, 0V
3		I2C2_SCL	I2C Clock Signal
4		I2C2_SDA	I2C Data Signal
5		GPIOE15		Regular GPIO, control signals output to camera modules
6		GPIOE14		Regular GPIO, control signals output to camera modules
8		MCLK		Clock signals output to camera modules
10		NC		Not Connected
11		VSYNC		vertical synchronization to CPU from camera modules
12		HREF/HSYNC	HREF/HSYNC signal to CPU from camera modules
14		PCLK		PCLK signal to CPU from camera modules
16-23		Data bit7-0	data signals 

And i wonder if inverting the whole pins may damage the sensor.

They have not released any fex configuration yet.

Share this post


Link to post
Share on other sites

@lex,

 

Unfortunately I will have to wait for another camera expansion board to come from China now. I attempted desoldering the connector and reversing it at home... this inevitably went horribly wrong.

 

It is possible I damaged my OV5640 sensor, but fortunately I have another one of those.

 

For the NanoPi M1, I think you should be able to copy the [csi0] section from the Orange Pi One fex file with only minor changes. I've looked at the schematic for the M1 and there are only a couple of differences from the Orange Pi. There is no power enable signal on PA17 and it is not clear if PE15 is used for a power down signal, but there is no harm in leaving that pin assigned. Assuming the Orange Pi One config is correct, then the following changes may be all that is needed for the M1.

vip_dev0_mname = "ov5640"
vip_dev0_power_en = 

BTW, I assume you have a camera and board that were sold together like this?

Share this post


Link to post
Share on other sites

Hi @mattday,

 

I just received the board and the camera on saturday, customs was holding it. 

 

Yes, this is the camera and the FPC soft cable was/came inverted (based on the picture shown with NanoPi 2 board) and with that connector at the end, at first i thought it was a used camera, the FPC cable was folded around the expansion board.

 

I did not take any care and plugged the camera with the config showed by @lvmc for M2+ before reading your message.

 

As i can understand, if i connect it with FPC inverted 3v3 goes to GND, not a good thing. I hope there is some protection on the expansion board or i just got it wrong.

 

In short, the camera could not be recognized, i will test it with your changes and also will try it on M2 to see if i damaged the sensor.

 

If you have any comment about this, please advise.

Share this post


Link to post
Share on other sites

Accordingly to SinoVoip documentation and a conversation with sales rep the correct camera flat cable position is as shown bellow:

 

camera%202.JPG

 

During my tests I switched it 180º several times to try... but after reading latest posts I decided to re-install Android image to test if camera was still live. The bad new is that it is not, anymore. 

 

So I think it was damaged... waiting for more units from China!

 

Best,

Luiz.

Share this post


Link to post
Share on other sites
So everyone is plugging their cameras in the wrong way round!? ;) Maybe I am missing something because I am surprised it is possible to connect the FPC wrong on these boards. The contacts are usually only on one side. If I try to switch mine 180º there will be no connection.

 

@lex: Your sensor may still be OK. I wouldn't worry too much about 3.3V having been connected to ground. Voltage regulators often have some protection built in. There is a small chance you damaged the sensor if 3.3V on pin 2 was connected to the camera data line on pin 23, but because it was shorted, the actual voltage would probably have been lower than 3.3V. The maximum ratings from the OV5640 data sheet suggest it would probably tolerate this. 

 

@lmvc: I'm surprised your sensor is damaged. Your BPi has the voltage regulators on board, so the maximum voltage the sensor can ever see should be 2.8V which it should handle. I guess it is possible you have damaged something on your board.

Share this post


Link to post
Share on other sites

I tried again to boot from Android with OV5640 connected and not connected... when it is connected it loads the kernel modules, while when it is not connected it doesn't.

root@dolphin-bpi-m2p:/ # lsmod
snd_usb_audio 79205 0 - Live 0x00000000
snd_usbmidi_lib 17391 1 snd_usb_audio, Live 0x00000000
snd_hwdep 5337 1 snd_usb_audio, Live 0x00000000
sunxi_sndspdif 3815 0 - Live 0x00000000
sndspdif 2715 0 - Live 0x00000000
sunxi_spdma 3667 0 - Live 0x00000000
sunxi_spdif 7153 0 - Live 0x00000000
uvcvideo 59634 0 - Live 0x00000000
vfe_v4l2 1017257 0 - Live 0x00000000
ov5640 27249 0 - Live 0x00000000
hi253 12500 0 - Live 0x00000000
vfe_subdev 4495 3 vfe_v4l2,ov5640,hi253, Live 0x00000000
vfe_os 4137 2 vfe_v4l2,vfe_subdev, Live 0x00000000
cci 22824 3 vfe_v4l2,ov5640,hi253, Live 0x00000000
videobuf_dma_contig 4221 1 vfe_v4l2, Live 0x00000000
videobuf_core 16552 2 vfe_v4l2,videobuf_dma_contig, Live 0x00000000
dummy_acc 2003 0 - Live 0x00000000
bt_sleep 9107 0 - Live 0x00000000
gpio_sunxi 8265 0 - Live 0x00000000
sunxi_ir_rx 9150 0 - Live 0x00000000
mali 212223 16 - Live 0x00000000 (O)
fivm 6442 0 - Live 0x00000000
nand 299199 0 - Live 0x00000000 (O)

The Android "Camera" app is showing:

 

IMG_1273.JPG

 

dmesg is showing an error...

<5>[  145.676961] [VFE]vfe_open
<5>[  145.676979] [VFE]..........................vfe clk open!.......................
<5>[  145.677130] [VFE]vfe_open ok
<5>[  145.677197] [VFE]Set vfe core clk = 216000000, after Set vfe core clk = 200000000
<7>[  145.677299] NOT_SUPPORT_THIS_FUNCTION:sun8iw7p1_isp_set_table_addr, line: 372
<3>[  145.688736] [VFE_ERR]sensor standby off error when selecting target device!
<5>[  145.700491] [VFE]vfe_close
<3>[  145.712670] [VFE_ERR]sensor power off error at device number when csi close!
<5>[  145.725805] [VFE]..........................vfe clk close!.......................
<5>[  145.725840] [VFE]vfe_close end
<5>[  150.937215] [VFE]vfe_open
<5>[  150.937475] [VFE]..........................vfe clk open!.......................
<5>[  150.937521] [VFE]vfe_open ok
<5>[  150.937689] [VFE]Set vfe core clk = 216000000, after Set vfe core clk = 200000000
<7>[  150.937706] NOT_SUPPORT_THIS_FUNCTION:sun8iw7p1_isp_set_table_addr, line: 372
<3>[  150.950194] [VFE_ERR]sensor standby off error when selecting target device!
<5>[  150.958255] [VFE]vfe_close
<3>[  150.970114] [VFE_ERR]sensor power off error at device number when csi close!
<5>[  150.977995] [VFE]..........................vfe clk close!.......................
<5>[  150.978074] [VFE]vfe_close end
<5>[  154.241448] [VFE]vfe_open
<5>[  154.241566] [VFE]..........................vfe clk open!.......................
<5>[  154.241607] [VFE]vfe_open ok
<5>[  154.241787] [VFE]Set vfe core clk = 216000000, after Set vfe core clk = 200000000
<7>[  154.241803] NOT_SUPPORT_THIS_FUNCTION:sun8iw7p1_isp_set_table_addr, line: 372
<3>[  154.253900] [VFE_ERR]sensor standby off error when selecting target device!
<5>[  154.262882] [VFE]vfe_close
<3>[  154.274939] [VFE_ERR]sensor power off error at device number when csi close!
<5>[  154.283915] [VFE]..........................vfe clk close!.......................
<5>[  154.283955] [VFE]vfe_close end
<6>[  238.883073] healthd: battery l=0 v=0 t=0.0 h=1 st=1 chg=

Share this post


Link to post
Share on other sites

My OV5640 module is failing to POWER_ON

 

vfe.c

ret = vfe_set_sensor_power_on(dev);
static int vfe_set_sensor_power_on(struct vfe_dev *dev)
{
int ret = 0;
if(!IS_ERR_OR_NULL(dev->sd))
{
vfe_set_pmu_channel(dev->sd, IOVDD, ON);
}
usleep_range(10000,12000);
ret = v4l2_subdev_call(dev->sd,core, s_power, CSI_SUBDEV_PWR_ON);
vfe_dbg(0,"power_on______________________________\n");
return ret;
}

 

Can someone help to check if FEX and PINs from OV5640 datasheet are correct?

 

m2p_ov5640_fex.png

 

It seems to be wrong!

Share this post


Link to post
Share on other sites
@lmvc
 
Your pinouts for board/camera seem to match OK. You can do a quick check for ground pins on the camera FPC because they can be easily identified (see image). This is how I first realised my camera must not be connected correctly.

 

The pin definitions in your fex also look good to me, going off the schematic. If you have a multimeter or oscilloscope, perhaps check the voltage between ground and all VDD/VCC pins. Sorry this is not very helpful.

post-1273-0-36896200-1464252773_thumb.jpg

Share this post


Link to post
Share on other sites

Just for the sake of information:

 

a) Here is how i received the camera and connected it to the board:

post-957-0-76476800-1464314418_thumb.jpg

 

the film was removed by me

post-957-0-49313600-1464314478_thumb.jpg

 

the FPC connected

post-957-0-72085000-1464314696_thumb.jpg

 

close-up:

post-957-0-92004900-1464314727_thumb.jpg

 

post-957-0-33775100-1464314979_thumb.jpg

 

 

 

B) Camera still not detected with @mattday suggestion:

[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           = "ov5640"
vip_dev0_pos             = "rear"
vip_dev0_lane            = 4
vip_dev0_twi_id          = 2
vip_dev0_twi_addr        = 0x78
vip_dev0_isp_used        = 1
vip_dev0_fmt             = 0
vip_dev0_stby_mode       = 1
vip_dev0_vflip           = 1
vip_dev0_hflip           = 0
vip_dev0_iovdd           = ""
vip_dev0_iovdd_vol       = 2800000
vip_dev0_avdd            = ""
vip_dev0_avdd_vol        = 2800000
vip_dev0_dvdd            = ""
vip_dev0_dvdd_vol        = 1500000
vip_dev0_afvdd           = ""
vip_dev0_afvdd_vol       = 2800000
;vip_dev0_power_en        = port:PD14<1><default><default><default>
vip_dev0_power_en        = 
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             = "rear"
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         =

c) Next is to check if camera is still alive on M2 and ask FriendlyArm for some help.

 

If i made a mistake connecting the FPC, please let me know. :D

 

Share this post


Link to post
Share on other sites

A litle update, good and bad news.

 

The good news: Camera is alive, so no matter which side you connect the FPC soft cable, pin 1 is always pin 1. (duh!)

The bad news: I tried a couple of changes, still not able to work with the camera on M1, need some hardware guy to find the correct fex configuration, but i will keep trying.

Share this post


Link to post
Share on other sites

@mattday

 

I still don't think that hardware pins match .fex definition. Can you explain why do you think it is correct?

 

@lex

 

Do you have M2+ in your hands?

 

If you have it, could you try this image from SinoVoip?

http://forum.banana-pi.org/t/bpi-m2-ubuntu-15-10-gpu-vpu-camera-bt-bpi-m2p-beta-v1-0-2016-05-05/1606

 

It is reported to OV5640 be working... my OV5640 is also working after inverting 180º the connector and turning ON/OFF.

Share this post


Link to post
Share on other sites

@lmvc: I think it is correct because all the pins match up. OK so they use some slightly different naming depending on which datasheet you are reading. OV5640 can use 10-bit output, whereas only 8-bits are usually connected, so Y9 becomes D7, etc.

 

 

post-1273-0-50873200-1464600976_thumb.png

post-1273-0-41304400-1464600981_thumb.png

Share this post


Link to post
Share on other sites

@lvmc

 

I have NanoPi M1 and NanoPi M2. This weekend i played a lot with M2 (building my own image) and the camera is working for the M2. Some bits of information about the M2, no v4l2 on linux side, 1920x1080 HDMI buggy on Debian and Android suggesting it is a power source problem but i use 5V 2.1A.

Not to worry about the v4l2, the code is there and is just waiting for someone to port it to linux. This is a great opportunity to Armbian to take over and give some support to M2 if the microUSB power does not show its weakness.

 

About M1 and camera, i think i tried some fex configuration and without much hardware knowledge i can't go further than this, let's see how FriendlyArm handles this. 

 

Have you tried to decompile the script.bin from the SinoVoip on that image they claim to work?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
6 6