Skip to main content

detect and classify insects on a raspberry pi

Project description

bugcam - Raspberry Pi Insect Detection

CLI for running insect detection on Raspberry Pi with Hailo AI HAT+.

Requirements

Hardware

  • Raspberry Pi: Raspberry Pi 5 (required - Pi 4 not supported due to PCIe requirement)
  • RAM: 8GB recommended
  • Storage: 32GB microSD minimum (64GB recommended for multiple models)
  • AI Accelerator: Raspberry Pi AI HAT+ with Hailo-8L (13 TOPS) or Hailo-8 (26 TOPS)
  • Camera: Any official Raspberry Pi camera (Camera Module 3 recommended, High Quality Camera also supported)
  • Cooling: Active Cooler required (thermal management essential under AI workload)
  • Power Supply: Official 27W USB-C power supply recommended

Software

  • OS: Raspberry Pi OS Bookworm 64-bit (latest version)
  • Kernel: 6.6.31 or newer (run sudo apt full-upgrade if needed)
  • PCIe: Gen 3 enabled via raspi-config (required for optimal performance)

Quick Start

# 1. Install system dependencies
sudo apt update && sudo apt install hailo-all

# 2. Install bugcam
pipx install bugcam

# 3. Download detection model
bugcam models download yolov8m

# 4. Run detection
bugcam preview

Commands

bugcam setup

Initialize bugcam by installing dependencies and downloading hailo-rpi5-examples.

bugcam setup

bugcam preview

Run live camera preview with detection overlay.

bugcam preview [--model yolov8m]

bugcam detect

Run continuous detection and save results.

bugcam detect start [--output detections.jsonl] [--duration 30] [--quiet]

Output format (JSONL):

{"timestamp": "2025-12-14T10:30:45", "class": "insect", "confidence": 0.92, "bbox": [100, 200, 150, 250]}

bugcam status

Check system status, dependencies, and hardware connections.

bugcam status           # Run all checks
bugcam status deps      # Check software dependencies
bugcam status devices   # Check hardware connections
bugcam status hailo     # Check Hailo AI accelerator
bugcam status camera    # Check camera connection
bugcam status sensor    # Check I2C sensors
bugcam status models    # Check installed models

Checks performed:

Check What it tests How
deps Python packages (gi, hailo, numpy, cv2, hailo_apps) Imports in detection Python
hailo Hailo AI accelerator is detected Runs hailortcli scan
camera RPi camera is accessible Imports picamera2 and initializes
sensor I2C sensors are connected Scans I2C bus for known addresses
models .hef model files installed Checks cache directory

bugcam models

Manage detection models.

# Download a model (yolov8s or yolov8m)
bugcam models download yolov8m

# List installed models
bugcam models list

# Show model details
bugcam models info yolov8m

# Delete a model
bugcam models delete yolov8m

Available models:

Model Size Description
yolov8s 10 MB Generic COCO detection (80 classes)
yolov8m 29 MB Generic COCO detection (80 classes, more accurate)
small-generic 18 MB Generic insect detection
london_141-multitask 34 MB London invertebrates - 141 species classifier

bugcam autostart

Manage systemd service for automatic detection on boot.

bugcam autostart enable
bugcam autostart disable
bugcam autostart status
bugcam autostart logs [--follow]

Environment Variables

Optional configuration:

  • HAILO_EXAMPLES_PATH - Custom path for hailo-rpi5-examples (default: ~/hailo-rpi5-examples)
  • XDG_CACHE_HOME - Custom cache directory location (default: ~/.cache)

Monitoring

# Hailo hardware monitoring
hailortcli monitor

# System temperature
vcgencmd measure_temp

# Service logs
bugcam autostart logs --follow

Troubleshooting

# Run all system checks
bugcam status

# Command not found after install
pipx ensurepath  # then close and reopen terminal

# Camera not detected
rpicam-hello
sudo raspi-config  # Enable camera in Interface Options

# Hailo driver issues
sudo apt install --reinstall hailo-all
hailortcli scan

# Service logs
bugcam autostart logs

Development

git clone https://github.com/MIT-Senseable-City-Lab/sensing-garden.git
cd sensing-garden
poetry install
poetry run pytest tests/ -v
poetry run bugcam --help

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bugcam-0.1.22.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bugcam-0.1.22-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

File details

Details for the file bugcam-0.1.22.tar.gz.

File metadata

  • Download URL: bugcam-0.1.22.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.7 Darwin/25.1.0

File hashes

Hashes for bugcam-0.1.22.tar.gz
Algorithm Hash digest
SHA256 4066cd8d64fea512eabaa10a5be8008ee8a1f6f2e23a34203f09fbf066a6ccbd
MD5 4742e6a62066b2fb5b1d95014c59141c
BLAKE2b-256 1fdcfa81406f5a44f5e678e3bf084ab3ef300b753688f052df1be577fd11add9

See more details on using hashes here.

File details

Details for the file bugcam-0.1.22-py3-none-any.whl.

File metadata

  • Download URL: bugcam-0.1.22-py3-none-any.whl
  • Upload date:
  • Size: 25.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.7 Darwin/25.1.0

File hashes

Hashes for bugcam-0.1.22-py3-none-any.whl
Algorithm Hash digest
SHA256 d050988a7c1a72406dea9e2b6e4febbae153c28f50256abd73c7d220d5367574
MD5 ac7211fd09eac0b45ec503ffcf6abf4f
BLAKE2b-256 f3aee98cf633a9f70625c43bb2402f3f937006688ad4a8d9ae68b8f565dcf1bb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page