The iCam prototype consists of one of my gCore development boards in a hacked prototype 3D printed enclosure wired to a sensor assembly consisting of the TIny1C breakout, an Adafruit VL53LC4X time-of-flight distance sensor (0-6m) and a Sparkfun AHT20 temperature/humidity sensor.
This camera is designed to be handheld for portable use with a portrait display
Hardware is pretty simple.
Essentially the gCore supplies 3.3V to the sensors which is switched on when it is switched on, a SPI interface for the Tiny1C VOSPI and a "sensor" I2C bus for all three devices. Another I2C bus exists on gCore for access to the touchscreen controller and RTC/PMIC controller.
It turns out the VL53L4CX has a strange functionality in that once initialized, further initialization sequences can corrupt the internal calibration. To manage this I connect the SHUTDOWN pin on the VL53L4CX breakout (which essentially functions as a hardware reset) to the Tiny1C breakout reset and the firmware resets both devices before any initialization.
My hardware prototype has two push buttons connected to inputs on gCore. They were used with some test software I wrote using the Arduino ESP32 environment because I didn't have the touchscreen input running but are unused in the current Espressif IDF camera firmware.
The following wiring diagram shows specifically how it is connected (this time using an Adafruit AHT20 breakout which might be slightly more available).
Currently the firmware treats the VL53L4CX and AHT20 as optional peripherals. It can use them to feed a compensation algorithm if they're present but functions without them as well.
In the long haul I plan to design a different closure to capture all the hardware. It's possible the screen orientation might change to landscape although I prefer the way the portrait type of camera is held as opposed to the traditional SLR style. The advantage of the landscape orientation is that I could design a very simple PCB that would connect gCore to the sensor breakout boards (or even include the breakout board components directly).
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.