The TCD1304 Linear CCD


This site contains information about driving the TCD1304 linear CCD with an STM32F401 microcontroller.

The firmware(s) allow for integration time of anywhere between 10 µs and 35 min, in steps of 0.5 µs.¹ The frame rate can be up to 125 Hz. ADC-resolution is 12-bit.

The MCU can either be interfaced through SPI or UART. In the former case the presented software must run on a Raspberry pi or similar. In the latter, the MCU may be connected directly to a PC running linux, macOS or Windows, through the built-in ST-link’s USB connection.


The graphical user interface (python 3) for the TCD1304.

The information on this site was originally presented in my projects on hackaday and/or my original blog. The OtterVIS spectrophotometer as well as Glowstick Kinetics are simple spin-off projects to demonstrate the use of the CCD.

¹The maximum integration time can be up to 70 min depending on the frequency of the master clock, which may be changed only at compile time.