CAN/Serial Fan Control Board

    Control board is designed for 2 purposes. One is to control fan speed in an industrial/military computer and the other is to monitor CAN line and send a serial packet for a filtered packet.

    • ATSAMC21 MCU
    • 5V input with polarity control
    • 1 Serial/RS232 selectable port
    • 1 Serial debug port
    • 1 CAN port CAN-2.0/CAN-FD support
    • Screwless easy plug connector
    • TSic ZACWire temperature sensor
    • 4 RPM input
    • 3 PWM output
    • 4 digital IO
    • 55×35 small form factor

    I am familiar to STM and TI microcontrollers and their development environment. Documentation and forums are amazing for those MCU families. Because of the pandemic and chip crises we have to develop the board with an is stock MCU which was ATSAMC21G17A. Hardware development was quite easy and tech spec documantation was good enough. but I could not give same thanks to SDK and library documentation.

    Firmware is developed in Atmel Studio with HAL drivers. Library interface generated by Atmel start. Implementing ZACWire with HAL library was a big challenge. Interrupt routine delay and complicated codes made almost impossible to read temperature via ZACWrire protocol. Atmel documentation is the worst documentation I have ever seen. Thanks to forums and geeks’ advices to handle all the problems and find a way to figure it out.