• Rss feeds articles
High Altitude Balloon ► Tags ► "camera"

Timelapse video of the flight

27 04 2014   //   Written by Yannick   //   Classified in : HAB  //  Tags : timelapse, camera, canon, photos, video

The flight is available on video (timelapse of best pictures assembled with music)

Download video

Mkv file created with the folowing command:

mencoder mf://*.jpg -mf fps=1:type=jpg -ovc x264 -x264encopts bitrate=2400:threads=2 -o outputfile.mkv -oac copy -audiofile /home/yannick/Antony_Raijekov_-_Lightin.mp3



Download video / 2nd version

mp4 file created with the folowing command:

fmpeg -i music.mp3 -r 1 -i img%04d.JPG -s 1920x1200 -vcodec libx264 -crf 25 -metadata title="HAB" -metadata artist="Uggy" out.mp4

Note: It has been reported the 2 versions of this video are not playing properly on Windows OS.. I should take a look later...

Raspberry Pi Camera

17 04 2014   //   Written by Yannick   //   Classified in : HAB  //  Tags : camera, photos

One of the cameras used is the "official" Raspberry Pi camera

Informations

  • Price: 24€
  • Very light (3g)
  • 25mm x 20mm x 9mm
  • 5 MegaPixels / 2592x1944
  • Also supports 1080p30
  • Powered by the RaspberryPi.

Script informations

  • To prevent filling all the SD card, I created a container of a defined file size and mounted it with mount -o loop and ask the script to store pictures into that specific folder. This way the photos can't fill all the system partition.
  • Script has been configured to take more photos at high altitude, and less photos at low altitude.
  • Script add in the filename, time (seconds from 1970) and the altitude.
    This give us an incremental viewing and let us know easily the altitude of each picture without having to read Exif metadata.

Canon CHDK and intervalometer script

15 04 2014   //   Written by Yannick   //   Classified in : HAB  //  Tags : photos, chdk, intervalometer, canon, camera

One of the cameras used is a Canon A590IS

  • 15€ (second hand)
  • 8 MegaPixels / 3264x2448
  • Not very light
  • Used with 2 Ultimate Lithium Energizer
  • Loaded with CHDK firmware

CHDK installation

CHDK for Canon Hack Development Kit.
This is an open source alternative firmware installed on the SD card that let the user load custom scripts.
In our case we want an intervalometer script.

Check instructions for your own camera.

What I did:

  • Use gparted or similar to create a 16 MB partition
  • Use gparted or similar to create another FAT32 partition
  • echo -n BOOTDISK | sudo dd bs=1 count=8 seek=64 of=/dev/mmcblk0p1
  • unzip a590-101b-1.2.0-3347-full.zip
  • For dual partition cards, all the files and folders from the CHDK distribution file belong on the large second partition except for the files DISKBOOT.BIN and either PS.FIR or PS.FI2, which belong on the smaller FAT16 bootable partition.
  • Enable the "lock" switch of the SD card

Other ramdom useful informations

  • Disable RAW
  • Disable Flash
  • Disable Automatic shutdown
  • Change numerotation order
  • Set date/time
  • Test it in freezer
  • Was able to take ~ 1500 pictures with the battery (low temperature)
  • Set the script to take a picture every 7 seconds (~ 3 hours)

Script

I reviewed several scripts available on Internet and found the one from Stratodean the easier to understand.

The original Stratodean script is available here.

I modified it a bit with set_lcd_display parameter

My script version:

-- Uggy Camera Control for CHDK written in Lua
--
--
--Author: Mark Ireland
--Modified: Uggy 

--[[
@title Uggy Camera Control
@param s Interval (seconds)
@default s 10
@param d Initial Delay (seconds)
@default d 10
@param c LCDdisplay (0 se coupera)
@default c 0
]]
--Functions
--Get the date and time
function timeStamp()
    return string.format("%02d/%02d/%4d,%02d:%02d:%02d",
    get_time("D"),
    get_time("M"),
    get_time("Y"),
    get_time("h"),
    get_time("m"),
    get_time("s"))
end

--Get the time, iteration, temperatures and voltage and print it in a nice string
function logData(o)
    return string.format("%s,%i,%i,%i,%i",
    timeStamp(),
    o,
    get_temperature(0),
    get_temperature(1),
    get_vbatt())
end

--Setup

print_screen(1)
print("Uggy Camera Control")
print(timeStamp())
print("Interval: ",s)
print("Initial Delay:",d)

sleep(5000)

set_lcd_display(c)


--Convert seconds into milliseconds and ensure that params are sensible
if s<1 then s=1 end
if d<1 then d=1 end
if c<0 then c=0 end
if c>1 then c=1 end
s = s*1000
d = d*1000


--Initial delay
sleep(d)

print("Starting picture capture")
print("Date,Time,Iteration,LensTemperature,CCDTemperature,BatteryVoltage")
i = 0

--endless loop for picture capture - will run until space full or battery empty
while(1) do
    set_lcd_display(c) 
    --Take the picture
    shoot()
    --Log the info to the file
    print(logData(i))
    --Add 1 to iteration
    i = i + 1
    --Sleep iteration delay
    sleep(s)

end