CHDK (Canon Hack Development Kit) – darmowe oprogramowanie na licencji GPL rozszerzające możliwości cyfrowych aparatów fotograficznych firmy Canon. Często jest nieściśle nazywane „alternatywnym firmware”. Dodatek jest napisany w języku C ze wstawkami asemblera ARM.
Początkowo CHDK był dodatkiem umożliwiającym zapis obrazu w formacie RAW, lecz gdy projekt zyskał popularność, pojawiły się nowe funkcje.
CHDK ma dwa tryby działania:
Umożliwia dostęp do oryginalnego menu aparatu, umożliwia bezpośrednie robienie zdjęć.
W trybie ALT możliwa jest konfiguracja CHDK - poprzez dodatkowe menu oraz skróty klawiszowe. W tym trybie robienie zdjęć jest możliwe tylko za pomocą skryptów. Aktywacja trybu jest zasygnalizowana napisem <ALT> na dole ekranu.
Przełączanie między trybami jest możliwe za pomocą klawisza skrótu (zazwyczaj klawisza drukowania bezpośredniego, a w przypadku jego braku innego, np. detekcji twarzy).
Wraz z pojawieniem się aparatów z procesorem DIGIC II, nowe modele kompaktów przestały wspierać format RAW. Grupa programistów utworzyła program początkowo nazwany Raw enabler. Umożliwiał zapisywanie plików w tym formacie uruchamiany bez modyfikacji oryginalnego firmware. Początkowo wspierał trzy modele aparatów, lecz gdy wzrosło zainteresowanie projektem, dodawano obsługę nowych urządzeń oraz nową funkcjonalność.
Projekt jest obecnie rozwijany przez 9 osób, oraz programistów którzy przenoszą CHDK na nowsze modele aparatów.
Aparaty firmy Canon mają możliwość aktualizacji firmware poprzez umieszczenie na karcie pamięci plików z nowym firmware oraz programem ładującym. Następnie należy uruchomić proces poprzez wybranie odpowiedniej opcji w menu. Do pamięci RAM zostaje przeniesiony program uaktualniający z karty pamięci, który jest następnie uruchamiany.
CHDK ładowany jest w ten sam sposób - zamiast programu wgrywającego firmware, w pamięci RAM umieszczany jest kod dodający nowe zadanie (SpyTask) umożliwiające przejęcie kontroli nad urządzeniem. Następuje reboot, po którym uruchamiane jest oryginalne firmware - razem z dodatkiem CHDK.
Dodatek nie zmienia oryginalnego oprogramowania aparatu, a więc nie powoduje utraty gwarancji.
Oprogramowanie jest tworzone głównie z myślą o serii kompaktów PowerShot, jednak trwają prace nad rozszerzeniem funkcjonalności cyfrowych lustrzanek.