Gleb’s Status Report for 12/6

This week, I worked primarily on system integration.

  • Debugged the ethernet driver on the STM32 and developed a PC-side Python visualization tool.
  • Helped rework the LED modulation PCB and the driver PCB. Helped debug hardware issues with the CC driver.
    • Fixed LED modulation issues originating from bad connections and poor placement of tiny components. Performed xray and visual inspection to validate component placement.
  • Tested integration between the illumination module and the CC module
  • Tuned parameters of the imaging sensor to get the best possible depth map

Gleb’s Status Report for 11/22

This week, I have been focused on testing the modulation boards. Last week, we assembled single-channel versions of the LED board and the driver board. Over the last few days, I have used x-ray to inspect the LED board and make sure the soldering is correct, and tested the 24 MHz light modulation. To do that, I used the Illumination board’s LVDS clock source, which is the same setup as we will have in the final application.

The modulation circuit is stable, and we can see that the high-side LED voltage (blue on the screenshot below) oscillates between zero and 24 MHz as required.

I also tested the constant-current driver with the LED board.

Once the illumination boards is ready, I helped Sid investigate power-up sequence of the power board and other firmware issues.

Gleb’s Status Report for 11/15

  • This and last weekend we were busy assembling and bringing up the boards
  • Assembly and hardware debugging was largely a collaborative effort. My personal contributions were:
    • Placing most components (>100) on the imaging boards and doing reflow
    • Procuring a reflow oven
    • Micro-soldering bodges on the STM32
    • Assisting Claire & Sid with debugging the high-speed clock generator and the ethernet peripheral
    • Assisting Claire & Sid with x-ray imaging the ethernet circuit to find a loose contact
    • Assembling a single-channel version of the LED board (aluminum-core).
    • Testing single-channel LED board in DC mode, and testing the bandpass filter with the LEDs
    • X-raying the LED board to make sure that the BGA package of the modulation shunt IC is reflowed correctly (picture below)
    • Used a differential probe to verify the waveform of the 24 MHz LVDS clock going from the imaging board to the LED board

LED Board Assembly X-Ray

We were concerned that the tiny BGA package of EPC21603 shunt won’t solder well, but it turned out okay! The package can be seen as 6 dots (balls) near the center of the image. One can see the LVDS modulation clock line going from the connector on the bottom to the IC. For the LVDS traces are 0.1mm wide, and the balls are 0.5mm apart.

I assembled the board by hand under a microscope.

 

Testing & Validation

My primary focus will be validating the LED board and the CC driver.

  • I have already done some LED board testing & validation:
    • I have tested the LEDs in DC mode, and made sure that the wavelength of the bandpass matches that of the LEDs
    • I also determined a maximum LED current for safe operation with no heatsink: 0.7 A through two LEDs results in the LED temperature of 105C as measured by a thermal camera.
  • To validate the LED board individually, I will
    • use a clock gen and an external current supply to make sure the modulation circuit works
    • I will use an oscilloscope to check the voltage on the high side of the LEDs and make sure that the snubber circuit is working correctly
      • The snubber circuit is responsible for absorbing high-frequency (100MHz+) ringing when the modulation shunt is opened and closed.
        • I may need to tune the snubber zener diode threshold
    • I will use a photodiode to evaluate the modulation of the light
      • At this point, I should be able to measure the LED bandwidth at different frequencies (By how much does the peak LED brightness decrease when it’s modulated vs DC?)
  • To validate the CC driver individually, I will
    • use an external PSU and an adjustable electronic load to make sure that the current source can supply the nominal current of 1A
    • use a thermal camera to make sure that no components overheat
    • use an oscilloscope to make sure that there are no current spikes during on/off transients

Gleb’s Status Report for 11/8

  • Received PCBs
  • Selected and ordered the bandpass filter
  • Assembled and reflowed the camera board.
  • Helped Claire and Sid bring up the camera board STM32 microcontroller (hardware and software debugging).
  • Organized parts for assembling the remaining two boards

(See team report for pictures).

  • We are on schedule.

Gleb’s Status Report for 10/25

What I did this week:

  • Finalized my two PCBs: the constant current supply board and the LED & modulation circuit board.
  • Met with Claire & Sid to review all our boards in a team setting, and address each other’s concerns.
  • Helped Claire with updating layout of the camera PCB. Specific changes made:
    • RMII & DCMI interface layouts: streamlined for signal integrity
    • Added 50Ohm impedance constraint and termination on the clock line from MCU to the PLL chip.
    • Replaced RJ-45 jacks with JST connectors to save space.
    • Added color indicator LEDs.
    • Changed the form-factor of the board to fit into an existing waterproof enclosure scavenged from TartanAUV.
  • Made 3D models of our PCBs and integrated them into the mechanical CAD of available waterproof enclosures.
  • Worked on Ethics assignment.
  • We are running a few days behind on ordering the boards, but we will be able to make up this time. We are being extra careful to ensure that there is no hardware bugs.

(All pictures in the Team’s status report.)

Gleb’s Status Report for 10/18

Completed simulations of the LED driver circuit and designed the LED PCB assembly.

Simulation

  • Solved PSPICE solver convergence issues by setting initial conditions and tuning other simulation parameters.
    • The problem is very stiff due to a wide bandwidth of frequencies involved (from 250kHz CC driver switching frequency to >100MHz edge harmonics in the LED-MOSFET current loop.  Furthermore, numerous diodes induce non-linearities.
  • Verified in simulation that the chosen snubber circuit can successfully dampen the >100MHz ringing on the rising edge of the modulation clock.
  • Validated simulation results with multiple sets of values for parasitic inductances and capacitances in the circuit.

PCB Layout

The LEDs need to be mounted on an aluminum-core PCB. However, JLC’s process only supports single-layer aluminum-core boards. It is not feasible to lay out the CC drivers on one-layer board, so the illumination module will consist of a two-board assembly: a standard 4-layer FR-4 board with the CC drivers, as well as an aluminum-based board with just the modulation loop. The modulation board has been laid out, while the driver board is in progress. See pictures of both boards below:

 

Modulation board (3D, note eight LEDs in the center):

Modulation board (layout, 4 channels each with two LEDs):

CC Driver board:

Gleb’s Status Report for 9/27/2025

  • Primarily busy with clock architecture + design presentation
    • We need to supply synchronized clocks to the EPC660 sensor IC and the LED driver. The clocks should be synchronized, with the sensor clock being double the frequency of the modulation clock. Furthermore, the phase delay should be adjustable to enable to allow us to run the sensor in the imaging mode, and to allow us to compensate signal propagation delay between boards.
    • I have explored different discrete clock generation solutions, while Sid has looked into clock generation on STM32 directly. For instance, I have looked into using an external PLL chip or a flipflop frequency divider. Additionally, I have explored adding a quadrature signal and using VGAs to enable the phase shifting.
    • Our final solution  is using Si5338 four-channel clock generation IC. It supports both single-ended and LVDS signalling, which is convenient for using it with EPC660 as well as the modulation driver. The frequency and phase delays will be configured from the MCU via I2C.
  • I have also imported LED and driver models into PSPICE.
  • I will be running simulations and designing the LED PCB next week.

Gleb Ryabtsev’s Status Report for 9/20

  • Researched various high-power high-frequency LED driver configurations.
  • Settled on EPC21603, a 100MHz laser diode driver.
  • Prepared P-Spice models and environment but haven’t ran comprehensive simulations yet.
  • My progress is on track. We are planning to spend the next week running the P-Spice simulation and doing some more testing on an STM32 breakout board. Once those steps are complete, we can proceed with designing the PCBs.