The flash module in this circuit comes from a Fuji disposable camera. The author’s design is based on various ideas on this subject that can be found on the Web. The guide number  of the flash is approximately 14 in the air and close to 6 underwater. The flash intensity is not adjustable. This flash unit is primarily intended to be used for underwater photography, which is why the author fitted it in a case originally used for a Nikon Coolpix 7900. Of course, it can also be used for dry-land photography. The flash module is powered by a 1.5-V battery, which must supply approximately 30 to 40 mA to charge the capacitor. The control portion is built around a PIC12F675, which is powered by a 3-V button cell. Its current consumption is practically negligible — just a few milliamperes while the flash is active and only 600 nA the rest of the time when the microcontroller is in the standby state. For this reason, the unit does not have an on/off button.
The flash from the Fuji camera is triggered by a mechanical contact that is actuated at the same time as the camera shutter. Here this contact is replaced by an MCR-100-8 thyristor with a 1-kΩ resistor in series with the gate. These two components are fitted directly on the Fuji flash module.
There are many different types of disposable camera, each with its own type of flash module. However, these modules are all similar, so you can easily adapt the design described here to whatever type you can put your hands on. Pay attention to the voltages, and don’t forget to connect the grounds of the flash PCB and the logic circuitry together. Schematics for many of these flash modules are often available on the Web, so it shouldn’t be difficult to find something close to what you actually have. The firmware  has three operating modes: manual, pseudo-T TL (through the lens, which means that the light level is measured through the lens) and sleep. In manual mode the flash it triggered when you press the shutter button. In the pseudo-TTL mode, there are a few short flashes before the main flash (commonly used for red-eye reduction). The number of pre-flashes varies from one camera to the next, and even from one shot to the next. In the pseudo-TTL mode, the firmware gets around this problem by waiting for 100 ms after the first flash before it tries to detect the exposure flash. LED D1 lights up if the preflash has been detected but the main flash has not been detected after the 100-ms delay.
The contribution of the slave flash to the exposure of the subject is not included in the measurement made by the camera, but instead simply adds to the light from the master flash – hence the designation ‘pseudoTTL’. Although the author considered the option of a true TTL design or at least adjustable flash intensity, this requires a very specific transistor (25AAJ8 or equivalent) that is very difficult to obtain.