Sid’s Status Report – 12/6/2025

These past two weeks, I worked with the rest of the team on integration tasks. I helped debug our LED driver. It turns out we were running the enable pin at too high of a voltage, which was causing some overcurrent issues. Quite a fun issue to solve! I also did some rework on the LEDs and passive components on the illumination module. Finally, I gave our final presentation and helped out with some coding tasks here and there, including adding in LED driver enables, etc.

For next week, we are just debugging some final phase offset inconsistencies and our entire project should be good to go, and my firmware portion is also on track/completed. We will all work together to finish up the final paper/video as well next week!

Sid’s Status Report for 11/22

This week, I did a lot of heavy firmware lifting. I debugged the DCMI connection to the STM32, writing up the I2C sequencer code to get the chip to turn on and start sending back information. This required a lot of thought around the functional modes we wanted to keep the chip in, as well as the issues around why the chip was not getting into a data acquisition mode. I also redesigned and ordered the power board to have enable lines that are easily accessible by the STM32, which will allow us to precisely power sequence the sensor in the way the datasheet says to.

I also started working on getting DCMI data back over DMA to the chip. I had to do a lot of debugging of usage/hard faults in memory, which came from a very obscure HAL and workflow for this type of data transfer. We had bugs in the NVIC definitions of interrupts and with our buffer size, but we were finally able to get some data back from the chip. For next week, I need to debug the correct buffer size, enable continuous mode for the chip, and start sending this data over through Ethernet. However, the end is near, and we seem to all be on schedule and the device should start coming together in the next week as a whole! See team status report for scope pictures.

Sid’s Status Report 11/15

This week, I worked on Ethernet validation and board bringup for the interim demo. We were able to get the clock chip working, for which I did a lot of the firmware bringup. All three of us also collectively debugged the LWIP implementation of Ethernet on the image sensor board to ultimately enable our computers to ping the device. I also helped out with rework/soldering and harnessing to connect the power board to the image sensor board. See images in team status report/demo presentation. We got a ton done this week and should be on track! For the next week, I plan to continue debugging DCMI connection and protocol on the image sensor board.

 

For subsystem level validation, I hope to measure the throughput of DCMI after we get the peripheral to work, and see how much jitter is in the frame rate throughput. I also want to measure the memory utilization using ST debugger tools to see how big of a buffer we might need for holding frames depending on the program size in RAM.

Sid’s Status Update 11/8/2025

This week, I worked on reflowing our power board and electrically testing it. Happy to say that all rails (5V, 10V, and -10V) fully work! This will allow us to power all rails of the image sensor. In addition, I helped bringup the microcontroller on our main image sensor board, and wrote some firmware proof-of-life for it. I also worked on porting over the SI5338Q register maps to our firmware, which will allow us to generate the modulation clock signals and LED clock signals. We are currently debugging this chip and hope to have it ready for the demo. See team status report for all pictures.

This week, I hope to get a lot of integration testing done, along with all of the demo tasks. We will be testing DCMI on the image sensor and making sure that it works, and hopefully will start on Ethernet testing as well. I am currently on track, as we have reached the integration phase with about a month to go!

Sid’s Status Report for 11/1

This week, I ordered the power distribution PCB through JLC and worked more on the Ethernet/LWIP implementation. The boards required a pretty big Digikey order, as well as some back and forth with JLC to work out manufacturing defects. Unfortunately, LWIP library creation is not directly supported on the STM32H563, so I had to pull the LWIP library from a different dev board and perform some CubeMX tricks to get the code to compile. This was complicated by the fact that we do not use FreeRTOS either. The LWIP server is written, and since we now have a Nucleo I plan on testing it this week.

For next week, I plan on getting the code into a fully compiled state and add status LED flashing to make sure that the STM board that we get is alive whenever it does get here. I am still on schedule, as the firmware should be ready to flash on the boards when they are here and hopefully will not be the gating factor.

Sid’s Status Report for 10/25

This week, I finished laying out the power board. I made it as small as possible and 2 layers to lower cost as much as possible. I also found an easier solution to generate negative voltage with a charge pump inverter IC. I also added fuses, test points, and status LEDs to the PCB. I also added M3 size mounting holes with plating for board support. Finally, I added nanofit connectors for input and output power that can go to the main board.

Next week, I plan on exporting the Gerbers and ordering this board with the other boards in our device. I also plan on pushing more code for the half-buffer interrupt, which I am a little behind on. We should still be on track for our MVP demo.

The power board:

Sid’s Status Report for 10/18

Updates:

  • Wrote firmware for initialization of EPC660 through I2C commands
  • Helped finish up the design report
  • Schematics + layout in progress of power distribution board: chose buck + bipolar power supplies to provide enough current for analog functionalities of EPC660 and digital high power modulation of LEDs

Next week:

  • Currently on schedule to get the boards ordered by Monday, firmware should be in a place to test by the time they get here in two weeks. Gonna finish laying out the board tomorrow + Monday so that it’s ready for order.

 

Sid’s Status Report for 10/4

This week, I worked on getting the firmware to build. I registered all of the interrupts for the GPDMA controller and the DCMI interface. I had to fix a lot of errors related to the weak function callbacks, etc. I now just have to write the main loop and set up the half-full buffer interrupt to transfer the data to Ethernet. I also contacted vendors about our breakout board to make sure that we were getting the correct one and placed a couple orders.

Next week, I plan to test my code on a Nucleo if it arrives in time. I am on schedule, as there are only a few more functions in firmware to develop before it is ready to flash.

 

Sid’s Status Report for 9/27

This week, I worked on generating peripheral clock configurations and verified that the MCU we chose would work with all of the peripherals we needed. I also determined how to set up the GPDMA peripheral to properly route data. In addition, I worked on the design presentation and made some block diagrams for our HW/SW architecture.

I am on schedule for now, I need to get DMA and UDP code done over the next week and make sure it is compiling, so that is my main goal.

 

Sid’s Status Report for 9/20/25

This week, we did our proposal presentations. I spent last weekend making a Gantt chart for our proposal and determining specific tasks for all of us. This week, I started autogenerating firmware using STM32CubeMX. We tested out the clock generation functionality with an oscilloscope with a Nucleo board. We were able to also verify that two clocks on two different GPIO pins were synchronized without phase delay.

Next week, I plan on starting the DCMI firmware and setting up the DMA pipeline from the peripheral to memory.