Hack a old camera

I got to thinking about using a digital camera that stores its images to an SD card, being taken over by a MCU. I got to thinking if I made a breakout board that I could plug into the SD slot on the camera. I could make the MCU become a virtual SD card to the camera.

Does the idea read as being sound?

I would use a ESP32 WROVER that would control when the camera takes a pic, based upon other functions, save the image to the WROVER PSRAM, and then send the image to it's destination.

Is is possible ? https://github.com/espressif/esp-idf/issues/788.
I don't think so.

1 Like

When you use an SD card the host device maintains a copy of at least some of the file system, it's difficult to tell how much, and if you take the file you will need to update the file system to match as the host device predicts. But since you are doing sequential writes you this might be easier than it would in other cases.

Get an SD sniffer to begin with: SparkFun microSD Sniffer - TOL-09419 - SparkFun Electronics

You'll need to be able to emulate every function that the host device uses; including but not limited to reads, writes, insert, eject, and formatting.

You will not be able to use a simple file system as it likely expects FAT32 depending on the age of the device, assuming old means the same thing to me as it does to you.

I would consider extending the file system of the destination through the emulation to get the read functions.

You are doing this to add wireless?

I think the ESP32 might be able to handle this but the commands and the bit stream will likely have to be coded in ASM. I do not think that the parallel RAM load feature that allows for the ESP32-CAM will be of any benefit given the nature of the serial stream.

This will be a huge pain in the butt if possible, is it worth the effort?

An alternative would be to split the SD card lines so it can be accessed by the camera and by the ESP32. This way you can transmit the files while maintaining the SD directly for the host device. Would that t'were me I'd start by making an ESP32 provide direct access to it's own SD through pins to another host, then it would be all down hill from there. In this way you would not be emulating but selectively sharing access to a real SD card.