> ## Content Index
> Fetch the complete content index at: https://bjornsblog.nl/llms.txt
> Use this file to discover other available public pages before exploring further.

# Film simulations on a tiny Canon IXUS with IXFilm OS
- URL: https://bjornsblog.nl/film-simulations-canon-ixus-ixfilm-os/
- Published: 2026-10-31T13:00:28.000Z
- Updated: 2026-10-31T13:03:42.000Z
- Description: IXFilm OS adds in-camera film simulations to a tiny Canon IXUS 120 IS without modifying its original firmware.
- Author: Björn
- Tags: Photography, Projects, Software

I wanted to see if my tiny Canon IXUS 120 IS could make film-simulated JPEGs entirely inside the camera. There is no good reason for this. A phone or computer can do the same job much faster. But this camera is so ridiculously compact, and getting a nice straight-out-of-camera image from something made in 2009 is surprisingly fun.

The result is [IXFilm OS](https://github.com/BjornB2/ixfilm-os?ref=bjornsblog.nl). It adds twelve colour looks and six black-and-white looks, including my own approximations of Portra, Classic Chrome, Gold, Velvia, Acros and Tri-X 400\. Hold the `DISP` button to choose a look, take a photo and let the little processor do its best. Compact images take roughly 46 seconds to 1 minute 36 seconds to process. Full 12-megapixel conversion works too, but can take six to eight minutes. Practical it is not.

![IXFilm OS colour recipe list showing film names including Astia, Classic Chrome, Portra and Velvia](https://bjornsblog.nl/content/images/2026/10/ixfilm-colour-films.jpg)

![IXFilm OS black-and-white recipe list showing film names including Acros, Tri-X 400, HP5 Plus and Delta 3200](https://bjornsblog.nl/content/images/2026/10/ixfilm-black-and-white-films.jpg)

Left: twelve colour recipes, including Astia, Classic Chrome, Portra and Velvia. Right: six black-and-white recipes, including Acros, Tri-X 400, HP5 Plus and Delta 3200.

![IXFilm OS conversion quality menu with compact and full-resolution options](https://bjornsblog.nl/content/images/2026/10/ixfilm-conversion-quality.jpg)

## Installation is just writing an image

The easiest installation uses the ready-made 4GB card image from the [IXFilm OS v0.1.0 release](https://github.com/BjornB2/ixfilm-os/releases/tag/v0.1.0?ref=bjornsblog.nl). Download the image, write it to an empty SD card of 4GB or larger, lock the card and put it in the camera. That is it. The image already contains the bootable FAT16 layout and IXFilm files, so you do not need to install CHDK first or prepare partitions manually.

The image erases the target card. It uses a 2GB partition so it fits reliably on nominal 4GB cards. Larger cards also work, but the remaining space is unused unless you repartition them yourself.

Most importantly, IXFilm does not replace or flash the original Canon firmware. It runs from the locked SD card. Remove or unlock the card and the camera starts normally again, exactly as before.

![Indoor plants photographed with the Gold look and processed inside the camera](https://bjornsblog.nl/content/images/2026/10/gold-compact-indoor-plants-1600x1200.jpg)

Gold, processed inside the camera at 1600 x 1200.

![Indoor plants photographed with the Tri-X 400 black-and-white look and processed inside the camera](https://bjornsblog.nl/content/images/2026/10/tri-x-400-compact-indoor-plants-1600x1200.jpg)

Tri-X 400, also straight from the camera.

IXFilm OS is built on [CHDK](https://github.com/CHDK/chdk?ref=bjornsblog.nl), the excellent open-source project that made this possible, and uses image-processing code from [Soup Engine](https://github.com/jiijii0/soup-engine?ref=bjornsblog.nl). My film recipes are approximations, not measured reproductions of the original films.

The current release is only for the Canon IXUS 120 IS, PowerShot SD940 IS or IXY DIGITAL 220 IS with firmware 1.00E. It is unofficial hobby software, so back up important photos and use it at your own risk. If you have the right camera lying in a drawer, you can find the downloads and full instructions on [GitHub](https://github.com/BjornB2/ixfilm-os?ref=bjornsblog.nl).