Canon EOS M100 - SteveJustin1963/Telescope-Tec1 GitHub Wiki

Astrophotography with Canon EOS M100 & Linux (Lubuntu) β€” Full CLI Guide

Goal: Shoot 2 hours of 30-second exposures β†’ calibrate + stack in Siril using .CR2 files

1. Overview: What You Need

Item Purpose
Canon EOS M100 DSLR camera (RAW .CR2 files)
Micro-USB cable Connect to Linux (USB tethering)
UHS-I U3 SD card (16–32 GB) Fast write speed (no delays)
Laptop (Lubuntu/Ubuntu) CLI control + Siril stacking
Optional: DR-E12 dummy battery + power bank 2+ hour shoots

2. File Formats & Siril

FITS vs CR2

  • .fits = Astronomy standard (NASA, Hubble)
  • .CR2 = Canon RAW (your M100 files)
  • Siril opens .CR2 directly β€” no conversion needed

Never convert .CR2 β†’ .fits unless using other tools.

3. Folder Structure

/home/sj/astro/session_20251113_1528/
β”œβ”€β”€ lights/     ← Your sky photos (.CR2)
β”œβ”€β”€ darks/      ← Sensor noise (lens cap on)
β”œβ”€β”€ flats/      ← Vignetting fix (white surface)
β”œβ”€β”€ bias/       ← Read noise (fastest shutter)
└── processed/  ← Siril output

4. CALIBRATION FRAMES GUIDE β€” Why & How

Frame Purpose How to Shoot Quantity Time
Darks Remove hot pixels & thermal noise Lens cap on, same ISO, shutter, temp as lights 10–20 10 Γ— 30s = 5 min
Flats Fix vignetting & dust White T-shirt over lens, AV mode, same ISO, focus 10–20 10 Γ— 1/100s = 1 sec
Bias Remove camera read noise Fastest shutter (1/4000), lens cap on, same ISO 20–50 20 Γ— 1/4000s = 5 sec

Only lights contribute to the image. Calibration removes defects.

Step-by-Step: Shoot Calibration Frames

1. Darks (After Lights β€” Same Temp!)

  1. Finish lights (2 hours)
  2. Leave camera in same spot (same temp)
  3. Put lens cap on
  4. In camera: Manual β†’ ISO 1600 β†’ 30 sec β†’ Drive: Single
  5. Take 10–20 shots
  6. Copy to darks/ folder

2. Flats (Same Session, Same Focus)

  1. Keep lens on, same focus
  2. Point at even white surface (T-shirt, sky at dusk, white wall)
  3. Mode: AV (Aperture Priority) β†’ f/5.6 β†’ ISO 1600
  4. Camera auto-selects shutter (1/100–1/500)
  5. Take 10–20 shots (slight movement OK)
  6. Copy to flats/ folder

3. Bias (Any Time)

  1. Lens cap on
  2. Manual β†’ ISO 1600 β†’ 1/4000 sec
  3. Take 20–50 shots
  4. Copy to bias/ folder

Copy to Folders (CLI)

After plugging camera

cp /media/sj/CANON/DCIM/100CANON/IMG_*.CR2  /home/sj/astro/session_20251113_1528/lights/
cp /media/sj/CANON/DCIM/100CANON/DARK_*.CR2 /home/sj/astro/session_20251113_1528/darks/
cp /media/sj/CANON/DCIM/100CANON/FLAT_*.CR2 /home/sj/astro/session_20251113_1528/flats/
cp /media/sj/CANON/DCIM/100CANON/BIAS_*.CR2 /home/sj/astro/session_20251113_1528/bias/

5. USB Tethering with gphoto2 (Recommended)

Install

sudo apt install -y gphoto2

Test Detection

gphoto2 --auto-detect
 
# β†’ Canon EOS M100 (normal mode)   usb:001,002

2-Hour Shoot Script (240 Γ— 30s)

cat > ~/m100_usb_2hr.sh << 'EOF'
#!/bin/bash
set -e

LIGHTS_DIR="/home/sj/astro/session_20251113_1528/lights"
mkdir -p "$LIGHTS_DIR"

echo "Plug in M100 via USB. Set to Bulb, ISO 1600, f/2.8+"
echo "Starting 240 Γ— 30s exposures..."

for i in {1..240}; do
  echo "Shot $i/240 at $(date +%H:%M:%S)..."
  gphoto2 --capture-image-interval=31 --capture-image
  sleep 1
  if ls /tmp/capture_*.CR2 >/dev/null 2>&1; then
    mv /tmp/capture_*.CR2 "$LIGHTS_DIR/IMG_$(printf "%04d" $i).CR2"
    echo "Saved: IMG_$(printf "%04d" $i).CR2"
  fi
done

echo "SHOOT COMPLETE! 240 images in $LIGHTS_DIR"
EOF

chmod +x ~/m100_usb_2hr.sh

Run

~/m100_usb_2hr.sh

6. FULL CALIBRATION + STACK in Siril (CLI)

cd /home/sj/astro/session_20251113_1528

cat > m100_orion.siril << 'EOF'
# Load light frames
load lights/*.CR2

# FULL CALIBRATION (uncomment when ready)
preprocess -dark=darks/*.CR2 -flat=flats/*.CR2 -bias=bias/*.CR2 -cfa

# Register (align stars)
register

# Stack (average)
stack avg

# Save final image
save orion_m100_calibrated

quit
EOF

Run stacking with calibration

siril-cli -s m100_orion.siril 2>/dev/null

View Result

siril orion_m100_calibrated.fits
# Press Ctrl+A β†’ Auto Stretch

7. SD Card & Write Speed

Shoot Size
240 Γ— 30s ~6 GB
Recommended: SanDisk Extreme 32GB UHS-I U3 No delays

Write time: ~0.7s per 25MB β†’ no gap between 30s shots

8. Power for 2+ Hours

  • Stock battery: ~1 hour with WiFi/USB
  • Solution:
  • DR-E12 dummy battery + USB 5Vβ†’8V step-up cable + 10,000 mAh power bank

9. WiFi Alternative (Not Recommended)

  • qDslrDashboard AppImage links broken (404)
  • gPhoto2 over USB is faster, more reliable
  • Avoid WiFi: slow, drains battery, drops connection

10. Test with Sample FITS (Already Downloaded)

cd /home/sj/astro/session_20251113_1528

cat > test_stack.siril << 'EOF'
load lights/*.fits
register
stack avg
save hubble_test_stack
quit
EOF

siril-cli -s test_stack.siril 2>/dev/null
siril hubble_test_stack.fits

11. Troubleshooting

Issue Fix
nmcli: command not found sudo apt install network-manager
gphoto2: no camera Replug USB, try gphoto2 --reset
Broken pipe in Siril Harmless β€” ignore or add 2>/dev/null
404 on qDslrDashboard Use USB gPhoto2 instead

12. Final Commands Summary

1. Test camera

gphoto2 --auto-detect

2. Start 2-hour shoot

~/m100_usb_2hr.sh

3. Stack with calibration

siril-cli -s m100_orion.siril 2>/dev/null

4. View

siril orion_m100_calibrated.fits

You're now a CLI astrophotographer with full calibration.
Next: Add add shutdown or email alert β€” just ask!

13. Deep Sky Object Targets β€” Best for M100 + 30s Exposures

Target Name Best Season Difficulty Notes
M42 Orion Nebula Winter Easy Bright, large, perfect for beginners
M45 Pleiades Winter Easy Star cluster, wide field
M31 Andromeda Galaxy Autumn Easy Huge, visible to naked eye
M81/M82 Bode’s + Cigar Spring Medium Galaxy pair, need dark sky
M51 Whirlpool Galaxy Spring Medium Spiral arms with 2+ hours
M57 Ring Nebula Summer Medium Small, needs accurate framing
M27 Dumbbell Nebula Summer Easy Bright planetary nebula
M13 Hercules Cluster Summer Medium Globular cluster, tight stars
M8/M20 Lagoon + Trifid Summer Easy Colorful nebulae, wide field
NGC 7000 North America Nebula Summer Medium Large, needs HΞ± filter later

Recommended First Targets (30s Γ— 240)

Target ISO Aperture Total Time Result
M42 1600 f/2.8 2 hours Bright core + faint wings
M31 800–1600 f/4 2 hours Core + dust lanes
M45 800 f/3.5 1.5 hours Blue reflection + stars

Tip: Use Stellarium (sudo apt install stellarium) to find & center targets.

Framing Guide (M100 + Kit Lens 15–45mm)

Target Focal Length Field of View
M42 15mm 10Β° Γ— 7Β° (fits whole nebula)
M31 24mm 6Β° Γ— 4Β° (core + halo)
M51 45mm 3Β° Γ— 2Β° (tight, but detailed)

Use live view + 10x zoom to center.

Start with M42 β€” it’s forgiving and stunning in 2 hours.

13. Deep Sky Object Targets β€” Best for M100 + 30s Exposures

Target Name Best Season Difficulty Notes
M42 Orion Nebula Winter Easy Bright, large, perfect for beginners
M45 Pleiades Winter Easy Star cluster, wide field
M31 Andromeda Galaxy Autumn Easy Huge, visible to naked eye
M81/M82 Bode’s + Cigar Spring Medium Galaxy pair, need dark sky
M51 Whirlpool Galaxy Spring Medium Spiral arms with 2+ hours
M57 Ring Nebula Summer Medium Small, needs accurate framing
M27 Dumbbell Nebula Summer Easy Bright planetary nebula
M13 Hercules Cluster Summer Medium Globular cluster, tight stars
M8/M20 Lagoon + Trifid Summer Easy Colorful nebulae, wide field
NGC 7000 North America Nebula Summer Medium Large, needs HΞ± filter later

Recommended First Targets (30s Γ— 240)

Target ISO Aperture Total Time Result
M42 1600 f/2.8 2 hours Bright core + faint wings
M31 800–1600 f/4 2 hours Core + dust lanes
M45 800 f/3.5 1.5 hours Blue reflection + stars

Tip: Use Stellarium (sudo apt install stellarium) to find & center targets.

Framing Guide (M100 + Kit Lens 15–45mm)

Target Focal Length Field of View
M42 15mm 10Β° Γ— 7Β° (fits whole nebula)
M31 24mm 6Β° Γ— 4Β° (core + halo)
M51 45mm 3Β° Γ— 2Β° (tight, but detailed)

Use live view + 10x zoom to center.

Start with M42 β€” it’s forgiving and stunning in 2 hours.

14. M42 (Orion Nebula) β€” Full Add-On Guide

Why M42?

  • Brightest nebula in sky β€” visible even in light pollution
  • Huge β€” fits perfectly in M100’s wide field
  • Forgiving β€” shows detail in just 1–2 hours

Camera Settings (M100)

Setting Value
Mode Manual (M)
Shutter Bulb (30 sec)
ISO 1600
Aperture f/2.8 or widest
White Balance Daylight (5500K)
Drive Remote (USB or app)
Image Format RAW (.CR2)
Lens 15–45mm @ 15mm

Step-by-Step Shoot Plan

  1. Find Orion’s Belt β†’ Look down β†’ M42 is the "sword"
  2. Use Stellarium: Search "M42" β†’ Center β†’ Match view
  3. Frame: Trapezium stars in center, nebula filling frame
  4. Focus: Live View 10x β†’ Bright star β†’ Manual focus
  5. Run script: ~/m100_usb_2hr.sh
  6. After: Shoot calibration frames (darks/flats/bias)

Expected Result (2 Hours)

Stack What You’ll See
No calibration Bright core, some glow
With calibration Pink/purple wings, dark dust lanes, Trapezium stars sharp

Siril Script for M42 (Calibrated)

cat > ~/m42_orion.siril << 'EOF'
load lights/*.CR2
preprocess -dark=darks/*.CR2 -flat=flats/*.CR2 -bias=bias/*.CR2 -cfa
register
stack avg
save m42_calibrated
quit
EOF

siril-cli -s ~/m42_orion.siril 2>/dev/null
siril m42_calibrated.fits

Pro Tips for M42

  • Light pollution? Still works β€” core punches through
  • Moon out? Avoid full moon
  • Add later: HΞ± clip filter = deeper red

M42 = Your first β€œwow” image. Shoot it tonight.