I wanted to take a single picture with raspistill, but it writes a file every ~11 seconds and does not stop. The command is:

raspistill -t 0 -q 90 -dt -w 1920 -h 1080 -n -fli 50hz -o /media/pi/Timelapse/image%d.jpg

and IMHO, this is, what it should do:

  • -t 0 : take the picture immediately (remove the default delay of 5s)
  • -q 90: set the quality to 90
  • -dt: replace %d in the file name by month, day, hour, minute and second. This works, the files have a name like that.
  • -w 1920 -h 1080: take the picture at FullHD. This works, the saved pictures have that size.
  • -n: do not show a preview window
  • -fli 50hz: set the mains frequency for flicker removal
  • -o /media/pi/Timelapse/...: save the image on external hard drive. This also works, the files are in that folder.

I don't see why this command would run forever and not stop after it took the photo. How do I take one photo only?

1 Answer 1


By eliminating different options, I found that -t 0 is causing this. Using -t 1 is fine. --help does not mention that 0 is a special value.

-t, --timeout   : Time (in ms) before takes picture and shuts down (if not specified, set to 5s)

However, I found some documentation on raspberrypi.org saying (emphasis mine):

Note that low values (less than 500ms, although it can depend on other settings) may not give enough time for the camera to start up and provide enough frames for the automatic algorithms like AWB and AGC to provide accurate results.

If set to 0, the preview will run indefinitely, until stopped with CTRL-C. In this case no capture is made.

That explains why the program never stops, but does not clarify why a picture is taken every 11 seconds. And, even when stopped with Ctrl+C, those pictures remain on disk (as opposed to "no capture is made").


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.