Skip to content

MCU Programming

Daniel Aharoni edited this page Jan 22, 2020 · 5 revisions

The Rigid-Flex PCB has an Atmel 8-bit Microcontroller on-board which controls the on/off of the excitation LED and converts the communication being sent over the coax cable (I2C) to a format the CMOS imaging sensor understands (SPI). The MCU needs to be programmed with the MCU firmware located in this repository (release folder inside the MCU folder). Most likely you will have gotten the Rigid-Flex PCB from a distribution company that has already assembled the board, programmed the MCU,and tested the electronics so programming the MCU yourself isn't necessary. If however, you are building the PCB yourself or if there is new firmware you want to use, follow the following steps to program the MCU.

MCU Programming Steps

The MCU is located on the back side of the board circled in red to the right. On the top side of this portion of the Rigid-Flex PCB is a 6 pad In System Programming (ISP) header which we will use to program the MCU. These pads are 50 mils apart and designed to be used with a 3 x 2 50mil Pogo Pin connector.


Step 1: Power up the MCU

Power up the PCB. This can either be done by just supplying 5Vs over the coax cable or you can leave the coax disconnected and supply 1.8V on the VTG pin of the ISP header along with ground.

Step 2: Connect to the ISP header

We suggest making a custom 3 x 2 Pogo Pin connector which will allow you to make contact with the ISP head by just pressing down the Pogo Pin connector. You can also temporarily solder wires to these 6 pads but will need to bake the PCB at 120 degrees C for at least 2 hours ahead of time. The ISP header layout can be seen on the right.


Step 3: Use Atmel Studio or other MCU programming software to flash the firmware onto the MCU

The firmware is located in this repository and you can use either the .hex or .elf version of it.

TODO: Add gif of programming it.

Step 4: Power cycle the board and you will be ready to go