Core Electronics Forum

Help detecting RaspiCam on 3B+

Hi all,

I have been having an issue with a Raspberry Pi 3B+ I am hoping someone can assist me with. I have tried searching on Google to resolve it but not had any luck finding a solution.

I’m using the RPi to run Octopi on a 3D printer. It’s mounted on the top crossbar with a GPIO screen and the camera pointed down for an overview of the bed. I want to run a camera via the internal CSI connector but haven’t been able to get it to recognise the camera, much less get an image in OctoPrint.

I have been able to successfully attach and configure an external USB camera (PS3 Eye) as a side view for time-lapse recordings, and also an otoscope camera (short-focus endoscope) for extreme close-up of the hot-end nozzle extruding filament as it is printing. Running lsusb in a terminal via ssh shows both cameras:

Bus 001 Device 007: ID 1415:2000 Nam Tai E&E Products Ltd. or OmniVision Technologies, Inc. Sony Playstation Eye

and

Bus 001 Device 007: ID 1903:8328

lsusb does not show the CSI camera, which is a generic camera module v1.3 attached via a short ribbon cable. I used the camera previously with a Pi Zero as a MEYE surveillance camera project and confirm it works. I have tried swapping out the cable and camera just in case, but no luck. I have the ribbon connector contacts facing the camera PCB and away from the ethernet port, so the connections should be OK.

I enabled the camera with raspi-config, configuring everything under "(3) Interface Options" to active just for good measure. The red LED on the camera board does come on.

I have removed the working USB cameras for troubleshooting.

Is there a way to ask the OS whether the interface is activated/camera is mounted, similar to lsusb?

Is there anything extra necessary to configure to activate the camera? The closest I can find is in /boot/octopi.txt where I have tried:

camera="raspi" or camera="auto"

I assume the "camera_usb_options=...", with or without the -y, is not necessary as it isn’t found as a USB camera.

The only RasPi Cam option I have uncommented is:

camera_raspi_options="-fps 10"

This is as far as I have been able to take things. Is anyone able to help me further in getting the camera to work? I’m completely stumped.

Thanks.

1 Like

Hi Simon,

I believe the Pi camera will present itself as a video device to Linux.

If it does, you should be able to run sudo ls /dev/ and see 3 video{x} devices, where x is the identifier, two webcams and (hopefully) one Pi camera.

Let me know how this goes!
-James

1 Like

Here are my results showing all video{n} entries in /dev/ after plugging in 3 external USB cameras in all combinations, and the CSI camera connected with its power LED on:

all cameras connected:
video1
video10
video11
video12
video13
video14
video15
video16
video2
video3
video4
video5

just the PS3 camera connected
video10
video11
video12
video13
video14
video15
video16
video5

just the old otoscope connected
video1
video10
video11
video12
video13
video14
video15
video16
video2

just a new otoscope (different model) connected
video1
video10
video11
video12
video13
video14
video15
video16
video2

both otoscopes connected
video1
video10
video11
video12
video13
video14
video15
video16
video2
video3
video4

no external cameras connected
video10
video11
video12
video13
video14
video15
video16

I believe some cameras report themselves twice, depending on whether they are an mpeg camera or not. That would explain multiples for some cameras.

It still seems the raspi camera is misconfigured somehow as it isn’t showing up (unless it is represented in the 10-16 range?).

I’m still lost on this one. Anyone have a definitive guide for the options contained within /boot/octopi.txt? I’m still suspecting that as the likely culprit.

Thanks for any help or suggestions.

1 Like

And a further set of tests I forgot to run:

Disconnected raspicam
One USB otoscope camera connected
video 0
video 1
video10
video11
video12
video13
video14
video15
video16
Weirdly, the only time video0 shows up.

With no USB connected:
video10
video11
video12
video13
video14
video15
video16

All 3 USB cameras connected – same result as the previous post above.

Conclusion – raspicam is not being detected as a device in /dev/.
The two otoscopes show up as two devices each (I believe that means they are mpeg and YUV).
The PlayStation Eye camera only shows as a single device, so just one of those formats.
I’m not sure what the video10 to video16 devices refer to.

2 Likes

Hi Simon,

Seems you’ve done some serious troubleshooting on this one. The CSI ZIF connectors can be a little finicky, but if you’ve tried reseating them, and double checked that the contacts face the right way (should be easy to close the locking bar if they are), then I’m not sure what else you’d troubleshoot.

I take it you’ve enabled camera in raspi-config?

If you’re convinced your camera or Pi is faulty, follow up via the email address on our contact page, and we’ll see what we can do.

-James

As I mentioned, I did activate the camera, as well as everything else in that section one by one, to see if it would make a difference. There are options I didn’t recognise and I hoped there might be something that relied on something else being activated.

I’m tending to agree that it is a flakey or misaligned ZIF connector. The camera is showing it is powered, but it’s not able to communicate with the main board. I’m going to try a substitute ribbon cable as well just in case one or more of the pads aren’t making proper contact.

The only way to test for proper communication that I have seen is to run the commands

raspistill -o image.jpg
and
raspivid -o test.h264 -t 10000

to grab a still/moving image. Are you aware of any other way to test it?

I hope it isn’t a “low voltage detected” issue. On occasion, Octopi shows a low-voltage condition has occurred during boot, though not a current one during operation. However, the camera problem seems to apply consistently, whether or not this warning appears. I have made an 8A supply and wound the voltage up to 5.2V just to feed the main board, but it still complains!!! I carry the power to a DC plug via hefty cable (10AWG I think), then use a DC to microUSB adapter for the final part of the connection (a right-angled version of your https://core-electronics.com.au/microusb-to-5-5-2-1mm-dc-barrel-jack-adapter.html).
DC-RA
I guess voltage drop could only occur here as it’s the weakest link. I’m not brave enough to feed power via an unprotected GPIO pin at this stage.

Thanks for the help and suggestions though. I’ll continue testing.

1 Like