The previous version of this page.
It’s possible to drive the TCD1304 directly from the GPIOs of the nucleo, but in addition to convenience, a dedicated printed circuit board has some benefits.
The typical drive circuit from the datasheet features a hex-inverter and an output buffer (common collector / emitter follower) as well as decoupling capacitors.
The PCB presented here has an identical circuit, but it also includes a low noise low drop-out voltage regulator (LDO).
Parts and components
- C₃, C₄ 100 nF (MLCC 0805)
- C₂ 10 µF (MLCC or tantalum 1206)
- R₄, R₄ 150 Ω (0805)
- R₃ 2.2 kΩ (0805)
- U₂ 74HC04D (SOIC-14)
- T₁ 2SA1015 / 2SA1162 (SOT-23)
- U₁ LT1761-BYP (SOT-23-5)
- R₂ 27 kΩ (0805)
- R₁ 12 kΩ (0805)
- C₁ 10 nF (MLCC 0805)
- C₅ 1 µF (MLCC 0805)
If you can, use X7F or better multilayered ceramic capacitors. It hardly matters what their rated voltage is, but higher rated capacitors apparently tend to hold their stated value better.
The LDO is not essential and can be bypassed, if so desired. Leave the pads for U₁, R₁, R₂, C₁ and C₅ unpopulated, but short the input and output pads of U₁:
The supply-voltage is given by the resistors in the voltage divider connected to the ADJ-pin of the LT1761:
V = 1.22V(1+R₂/R₁) = 1.22V(1+27k/12k) = 3.965V
The drop-out voltage is 300mV, so this and the desired output voltage for the CCD must be taken into accound when choosing values for R₂ and R₁.
The CCD’s output-voltage is dependent on the supply voltage like this:
With a supply-voltage of 5V (which is what you’ll likely have without the LDO), the CCD’s output-voltages after the output-buffer is just above 3.3V, which will saturate the ADC on the STM32F401. This appears to only be a problem with the TCD1304DG, the TCD1304AP seems to be less sensitive to supply voltage, but that gives an incentive (besides noise) to use the LDO.
The KiCAD project-directory for the circuit board is available under Downloads.
You can buy the boards directly from dirtyPCBs.
I have a small stock of PCB’s that I sell for 2€ for an unpopulated board and 15€ for a fully populated and tested board (CCD not included). Use the contact form.