STM32 Laser Phase Array FSM

I recently started volunteering at Professor Lubin’s Experimental Cosmology lab under Prashant Srinivasan. They are currently using PyBoards to control a laser phase array, and were wondering if swapping to a microcontroller system would be better. I was tasked with implementing their finite state machine onto an STM32 using C. The state machine monitors the voltages of some photodiodes through an ADC, and then performs some operations based on the state the diodes are in. IE. ramping up the voltage output of a DAC. This project was certainly challenging, and I’m still looking for ways to optimize it. For instance, I plan on implementing DMA (direct memory access) for the output of the ADCs in order to reduce CPU overhead and hopefully improve latency. All of the code for this project can be found on my github: github.com/Zachamus and all future updates will also reside there.

Leave a comment