I have a student who is looking for a camera that they can drive from the Photon 2. They've found one - ArduCam - OV2640, but it seems to involve scores of pins and is sending him to some possibly dodgy code on GitHub. I seem to recall that there was a camera that worked well with the original Photon, but I don't recall the deets. I searched on camera in the Particle library and didn't find much; and here, too, the latest discussions were several years old. So if anyone has any suggestions / recommendations for a good camera, please let me know.
Since the Photon 2/P2/M-SoM have significantly more RAM than all earlier devices it should make it possible to use an inexpensive camera with a lower-level interface. However, since the RTL872x also has slow GPIO, it ideally should have a standardized interface like SPI because a proprietary interface using bit-banging will probably not work.
If you are willing to trade money for simplicity, the 4D System uCAM-III works well on all Particle devices because it implements JPEG compression on the camera module and uses a simple UART interface to download complete images.
One downside is that the camera runs on 5V and uses a 5V TTL interface, so you need some level shifters on RX and TX. I wrote a TrackerCamera tutorial, but it's pretty much the same for the P2/Photon 2, just leave off the XCL223 regulator and M8 interface.