Skip to main content

"Idiots" guide to using manual mode on DSLR

Step 1: Observe the amount of light around you to set ISO

ISO 200 - 400 : outdoors or (flash photography which is not described in this post)
ISO 800 + : indoors or night shots without flash

Step 2: Know your light meter

The trick of photography is light. it's just to adjust the amount of light that comes through the lens. Looking through the lens is like looking through a HUD, other than the focus ring, you will see a light meter. it indicates if it is too bright or too dark.

the answer is simple, keep it in the middle. To do this, the 2 things you can change is the aperture and the shutter speed. you just toggle with the 2 until you get the meter indicator in the center.

Which one you do first depends on your personal preference. This is how I do mine.

Step 3: Set Initial Aperture

I first set my aperture to the largest which is the lowest number, e.g f2.8

Step 4: Set Initial Shutter speed

Depending on my focal length, I set my shutter speed to the same as the focal length. This is a setting that in longest possible to not have camera shake.

Step 5: Increase Aperture or Shutter speed

Ideally you will notice that the photo is overexposed from the light meter. You can take a test shot to be sure. If it is underexposed, go to Step 6*.

Otherwise, you have a choice to increase your depth of field by increasing your aperture, or if the object wouldn't sit still, increase your shutter speed. Do this until the light meter is centered and the photo is just right.

Step 6* (optional): Increase ISO and shorten focal length

I can increase my ISO and repeat Step 5.

I can also adujst my focal length (if possible) from 50 mm to 18 mm and slower my shutter speed to 1/20. This will work if the object is not moving.


Popular posts from this blog

Multiple Broadlink RM mini 3 integration using MQTT

Broadlink now has quite a lot of integration options almost out of the box. If you enable Broadlink IHC, you can directly link it to Alexa by giving the device a unique name.

There is a homebridge plug in for homekit integration but I haven't tried or tested this.

I wanted to put the device in domoticz so I can have more control over what can trigger my broadlink. I decided to use broadlink-mqtt for this, which is a fairly easy method to trigger from any source.

Setup Instructions for broadlink-mqtt

1. git clone

2. vi /home/pi/broadlink-mqtt/mqtt.conf

3. Update the mqtt.conf file with the device type set as multiple_lookup

device_type = 'multiple_lookup'
mqtt_multiple_subprefix_format = '{type}_{mac_nic}/'
4. Start the python script and check that it started and detected all the RM devices.
Check the log file to see what the IP / MAC addresses are. DEBUG Connected to RM2 Broadlink device at …

Fibaro HCL Virtual Device Slider

How to setup Fibaro home center lite (HCL) slider for virtual devices.

As the Fibaro HCL does not support LUA. The question was how to update the number value of the slider to send to the HTTP string. Thanks to this site which is a really good reference

The 2 use cases here are;

Sonos HTTP API Volume

To allow for volume control for all Sonos devices, add a virtual device with the IP address for SONOS HTTP API and specify the default port to 5005. Create Slider and put the following text into the string.

GET /volume/_sliderValue_ HTTP/1.10x0D0x0A0x0D0x0A

Domotiz Virtual Devices

GET /json.htm?type=command&param=switchlight&idx=XX&switchcmd=Set%20Level&level=_sliderValue_ HTTP/1.10x0D0x0A0x0D0x0A

Replace XX with the device ID.

Restart Fibaro HCL when it stops working automatically

It seems that the Fibaro HCL seems to hang every now and then. Instead of trying to restart it regularly, which doesn't really work, as it's almost impossible to predict when this will happen.

This method checks that the HCL is actually running and in the event it stops working, trigger a script that will restart it.

1. Get a non Fibaro controlled power plug and scripts to control it.

I used a wifi smart plug, TP-link HS100 and downloaded the scripts from

2. Create a bash script to restart the Fibaro, e.g.



$scripts/ -t $ip_addr -c off
sleep 10
$scripts/ -t $ip_addr -c on

3. Create a test global variable in the Fibaro HCL

Go to the variables panel and create a test variable, e.g. Test

4. Add a cron entry to test that the Fibaro API is still working and restart if it's not.

The cron script is scheduled ev…