Every once in a while I get the question if the STM32F103 “blue pill” will be able to drive the TCD1304, and while the chip has enough peripherals to do all the driving and reading, it lacks a 2nd DMA-controller to handle communication.
Of course that doesn’t mean the mcu can’t be used in this application, it just means that my firmware can’t be ported to the F103 without rewriting at least parts of it.
But that isn’t what this post is about anyway, it’s actually about using a thermoelectric element to cool the TCD1304, to keep dark current down thereby enabling long(er) integration times.
Here is the CCD on top of the cold tip. The TEC-12706 is sandwhiched between the two aluminium plates. The lower plate will be secured to the chassis of the spectrograph, which in turn has a larger heatsink:
I forgot to check if the TEC is actually mounted with its cold side towards the CCD, but you get the picture. If not, here it is again from a slightly different angle:
The blue pill takes care of driving the lcd and reading the voltage across the TEC and the temperature of the cold tip.
Here is the STM32F103-ILI9341 source code.¹
I realize that there’s a very useful stm32/arduino mash-up available, but I’ve become so familiar with STMicro’s SPL that I decided I’d rather stay with that, even if it means being limited to the not so pretty standard font.
I’m still working on the PSU for the TEC, so there’s regrettably not yet any actual readings of the CCD-temperature.
 I’ve used fagcinsk’s ILI9341 library.