Get Your YouTube Summary:
- Copy the video link.
- Paste it into the input field.
- Click 'Summarize' to get your summary with timestamps.
Important Note on Subtitles:
- Automatic summary generation requires English subtitles on the video.
- If the video has no English subtitles, the automatic download of the transcript using the link will fail.
- Manual Alternative: You can still get a summary!
- Find the transcript on YouTube (usually below the video description when viewed on a desktop browser).
- Copy the entire transcript text manually. (Need help finding/copying? Watch the 'Demo Video' linked at the top right of this page).
- (Optional) Add any additional instructions after the transcript (e.g., 'Translate the summary to German.', 'Add a glossary of medical terms and jargon to the summary.').
For videos longer than 20 minutes:
- Select a Pro model for automatic summarization. Note that Pro usage is limited daily.
- If the Pro limit is reached (or if you prefer using your own tool), use the Copy Prompt button, paste the prompt into your AI tool, and run it there.
- 0:00:04 Introduction: The video aims to show how to generate PWM using STM32 C0 timers and measure its frequency/duty cycle using timers and DMA, minimizing CPU core impact. It outlines a three-step process.
- 0:00:43 Project Setup: A new project is created in STM32CubeMX/IDE for an STM32C011C6 microcontroller (specifically on a Nucleo board).
- 0:01:37 Step 1 - PWM Generation Setup: Timer 1 (TIM1) is configured to generate PWM on Channel 1, using the internal clock source. This channel controls an onboard LED.
- 0:02:09 Pin Reassignment: The TIM1 Channel 1 output pin is reassigned to the correct physical pin connected to the LED on the Nucleo board (PA8).
- 0:02:41 Library Selection: Low-Level (LL) drivers are chosen over HAL for peripheral configuration to provide finer control.
- 0:03:04 Clock Configuration: The system clock is set to the maximum 48 MHz using the internal HSI48 oscillator.
- 0:05:05 Timer 1 Configuration (1 Hz PWM): TIM1 prescaler is set to 4799 and the counter period (ARR) to 9999 to achieve a 1 Hz frequency with the 48 MHz clock (48,000,000 / (4799+1) / (9999+1) = 1 Hz). The pulse value (CCR1) is set to 5000 for a 50% duty cycle. Code is generated and downloaded; the LED flashes slowly.
- 0:07:05 Step 2 - Dynamic Duty Cycle Intro: The plan is to increase TIM1's frequency and use Timer 16 (TIM16) with DMA to periodically change TIM1's duty cycle, altering the LED brightness.
- 0:07:28 TIM16 & DMA Setup: TIM16 is activated. A DMA request is configured for the TIM16 Update event, set to transfer data from Memory to Peripheral (TIM1's CCR1 register), using Word size and Circular mode.
- 0:08:56 TIM1 Configuration Update (1 kHz): TIM1's frequency is changed to 1 kHz (e.g., Prescaler 47, Period 999 gives 48MHz / 48 / 1000 = 1 kHz). The initial pulse (duty cycle) is set to 0.
- 0:09:34 TIM16 Configuration (2 Hz Update): TIM16 is configured for a 2 Hz frequency (Prescaler 4799, Period 4999 gives 48MHz / 4800 / 5000 = 2 Hz) to trigger the DMA transfer twice per second.
- 0:10:12 Code Implementation (Step 2): An array holding different duty cycle values is defined in the code. Initialization code for TIM1, TIM16, and the associated DMA channel is added. This setup allows TIM16's timing to automatically trigger DMA to load new duty cycle values from the array into TIM1's CCR1 register.
- 0:12:12 Step 3 - Measurement Intro: The goal is to use Timer 3 (TIM3) with DMA to measure the period and duty cycle of the PWM signal generated by TIM1.
- 0:12:52 TIM3 Configuration (Input Capture): TIM3 is enabled in 'Combined Reset Trigger Mode'. The trigger source is set to Input 1 (TI1FP1). Channel 1 is set to Input Capture Direct mode, and Channel 2 to Input Capture Indirect mode (capturing the same input signal but potentially on a different edge).
- 0:13:29 DMA Setup for TIM3: Two DMA channels are configured for TIM3: one for Channel 1 Capture/Compare event and one for Channel 2 Capture/Compare event. Both are set for Peripheral-to-Memory transfer, Half-Word size, and Circular mode.
- 0:14:16 TIM3 Timing Configuration: TIM3's prescaler is set to 47, making it count at 1 MHz (48MHz / (47+1)). The auto-reload register (ARR) is set to the maximum (65535).
- 0:14:41 Input Capture Polarity: TIM3 Channel 1 (Direct) is set to capture the Rising edge. TIM3 Channel 2 (Indirect) is set to capture the Falling edge of the same input signal (TIM3_CH1, pin PA6). Key Takeaway: This setup uses the rising edge to reset the timer and capture the period (in CCR1 via DMA), and the falling edge to capture the pulse width (in CCR2 via DMA).
- 0:15:35 Hardware Modification: A physical jumper wire is required on the Nucleo board (Connector CN10, pins 11 to 13) to connect the TIM1 PWM output (PA8) to the TIM3 Capture input (PA6).
- 0:15:57 Code Implementation (Step 3): Variables are defined to store the captured period and pulse width values from DMA. Initialization code is added to start TIM3 and its associated DMA channels.
- 0:17:30 Debugging: The code is built and downloaded, and a debug session is started to observe the variables being updated by DMA with the measured pulse width and period values (in microseconds, due to the 1 MHz TIM3 clock).
- 00:00:04 Introduction: The goal is to generate PWM using one timer and measure its frequency/duty cycle using another timer and DMA, minimizing CPU core impact. The process involves three steps.
- 00:00:43 Project Setup: A new STM32 project is created in STM32CubeIDE for the STM32C011C6 microcontroller on a Nucleo board.
- 00:01:37 Step 1 - Basic PWM Generation (Timer 1): Timer 1 is configured with an internal clock source to generate PWM on Channel 1, which is connected to the onboard LED (LD2, likely on PA8).
- 00:02:41 Library Choice: The tutorial opts to use Low-Level (LL) libraries instead of the HAL (Hardware Abstraction Layer) for finer control.
- 00:03:04 Clock Configuration: The microcontroller's high-speed internal oscillator (HSI) is set to 48 MHz, and the system clock is configured to run at this maximum speed.
- 00:03:26 Timer 1 Initial Config (1 Hz): Timer 1 is initially set up for a 1 Hz frequency (Prescaler=4799, Period=9999) with a 50% duty cycle (Pulse=5000).
- 00:04:05 Code Integration (Step 1): LL code is copied into the
main.c
file (User Code Section 2) to initialize and start Timer 1 for PWM generation. After building and flashing, the onboard LED blinks slowly (1 Hz). - 00:07:05 Step 2 - Dynamic Duty Cycle (Timer 16 & DMA): The objective shifts to changing Timer 1's frequency to 1 kHz and dynamically altering its duty cycle using Timer 16 as a trigger and DMA for the transfer.
- 00:07:28 Timer 16 & DMA Config: Timer 16 is enabled. A DMA request is configured for the Timer 16 Update event (TIM16_UP) to transfer data from memory to a peripheral (Timer 1's Capture/Compare Register) in circular mode.
- 00:08:56 Timer 1 Re-Config (1 kHz): Timer 1's prescaler and period are adjusted for 1 kHz operation, and the initial pulse value is set to 0.
- 00:09:34 Timer 16 Config (2 Hz Trigger): Timer 16 is configured to generate update events at 2 Hz (Prescaler=4799, Period=4999), triggering the DMA transfers.
- 00:10:12 Code Integration (Step 2): An array holding different duty cycle values (
datacycles
) is defined. LL code is added to initialize Timer 16, its associated DMA channel, and start both timers. The DMA continuously copies values from thedatacycles
array to Timer 1's CCR1 register. - 00:12:12 Step 3 - Signal Measurement (Timer 3 & DMA): The goal is to measure the period and duty cycle of the signal generated by Timer 1 using Timer 3 and DMA. Timer 3 is set to Combined Reset Trigger Mode.
- 00:12:52 Timer 3 Config: Timer 3 is enabled in Combined Reset Trigger mode, triggered by the input signal on Channel 1 (TI1FP1). The clock source is internal. Channel 1 is set for Input Capture Direct mode (Rising Edge), and Channel 2 is set for Input Capture Indirect mode (via Channel 1, Falling Edge).
- 00:13:29 DMA Config (Timer 3): Two DMA channels are configured for Timer 3: one triggered by Channel 1 Capture (TIM3_CH1) and the other by Channel 2 Capture (TIM3_CH2). Both transfer data from the peripheral (Timer 3 CCR1/CCR2) to memory variables in circular mode.
- 00:14:16 Timer 3 Clock/Capture Settings: Timer 3's clock is set to 1 MHz (Prescaler=47) to measure time accurately. Input capture polarity is set (Rising for CH1, Falling for CH2).
- 00:15:15 Hardware Modification: A physical jumper wire is required on the Nucleo board (Connector CN10, pins 11 to 13) to connect the Timer 1 PWM output (PA8) to the Timer 3 Channel 1 input (PA6).
- 00:15:57 Code Integration (Step 3): Variables (
capture_ch1
,capture_ch2
) are defined to store the captured timer values via DMA. LL code is added to initialize Timer 3, its DMA channels, and start the timer. - 00:17:30 Debugging: The application is built and run in debug mode to observe the values captured by Timer 3's DMA channels into the variables, representing the signal's timing characteristics (period in
capture_ch1
, pulse width incapture_ch2
). Error: value error - 0:00 Introduction: The video aims to show how to generate PWM and measure its frequency/duty cycle using STM32 C0 timers and DMA, minimizing core load. This will be done in three steps.
- 0:41 Timer 1 Setup for PWM: Timer 1 is configured to generate a PWM signal on Channel 1, specifically targeting the onboard LED pin (requires pin remapping). Low-Level (LL) libraries are selected over HAL.
- 1:23 Clock Configuration: The microcontroller's system clock is set to 48 MHz using the internal HSI48 oscillator.
- 2:49 Step 1 Configuration (1 Hz PWM): Timer 1 is configured with a prescaler (4799) and counter period (9999) to achieve a 1 Hz frequency from the 48 MHz clock. The pulse value is set for a 50% duty cycle (5000).
- 3:49 Step 1 Test & Verification: Code is generated, copied, built, and downloaded. Successful execution results in the onboard LED blinking slowly at 1 Hz.
- 4:15 Step 2 Goal (Dynamic Duty Cycle): Introduce Timer 16 and DMA to periodically update the Timer 1 duty cycle. Timer 16 will provide timing, and DMA will transfer new duty cycle values from memory to Timer 1's Capture/Compare Register (CCR1).
- 5:15 Step 2 Configuration: Timer 1 frequency is increased to 1 kHz (prescaler 47, period 999). Timer 16 is set up to trigger updates at 2 Hz (prescaler 4799, period 4999). DMA channel is configured for Timer 16 update event (memory-to-peripheral, word size, circular mode).
- 5:56 Step 2 Code Implementation: An array holding different duty cycle values is defined. Initialization code for Timer 16 and its associated DMA channel is added and started.
- 7:05 Step 3 Goal (PWM Measurement): Configure Timer 3 to measure the period and pulse width of the PWM signal generated by Timer 1 using Input Capture and DMA. The "Combined Reset Trigger Mode" is employed.
- 8:19 Step 3 Configuration: Timer 3 is set up with a 1 MHz counting frequency (prescaler 47). Input Capture is configured on Channel 1 (rising edge, direct mode) and Channel 2 (falling edge, indirect mode), both triggered by the same input pin (TI1FP1). Two DMA channels are set up (peripheral-to-memory, half-word, circular) to capture the timer values on each edge event.
- 9:19 Hardware Modification: A physical jumper wire is required on the Nucleo board (CN10, Pins 11 to 13 suggested) to connect the Timer 1 PWM output pin to the Timer 3 Input Capture pin (PA6).
- 9:45 Step 3 Code Implementation: Variables are declared to store the captured values from DMA. Initialization code for Timer 3 and its two DMA channels is added and started.
- 10:30 Debugging & Verification: The application is built and run in debug mode to observe the
capture_ch1
(period) andcapture_ch2
(pulse width) variables being updated automatically by DMA, confirming the measurement works as expected.
identifier: 2085
model: gemini-2.5-pro-exp-03-25| input-price: 1.25 output-price: 10.0 max-context-length: 128_000
host: 185.109.152.7
https://youtu.be/nyo88Ljbx_Q?feature=sharedinclude_comments: None
include_timestamps: 1
include_glossary: None
output_language: en
cost: 0.054005
Okay, here is the abstract and summary for the provided transcript, following the requested format. *Abstract:* This tutorial demonstrates using STM32 C0 series microcontroller peripherals, specifically Timers (TIM1, TIM16, TIM3) and Direct Memory Access (DMA), to generate a Pulse Width Modulated (PWM) signal and subsequently measure its frequency and duty cycle without requiring CPU core intervention. The process is broken down into three steps: first, generating a basic PWM signal on an onboard LED using TIM1 configured via STM32CubeMX/IDE with Low-Level (LL) libraries. Second, dynamically modifying the PWM duty cycle using TIM16 as a trigger source for DMA transfers that update TIM1's compare register. Third, measuring the generated PWM signal's period and pulse width using TIM3 in combined reset/trigger input capture mode, with two DMA channels automatically storing the captured rising and falling edge timings into memory variables. The tutorial highlights the use of hardware peripherals to offload timing-critical tasks from the CPU. *STM32 Timer & DMA Tutorial: PWM Generation and Measurement* * *0:00:04 Introduction:* The video aims to show how to generate PWM using STM32 C0 timers and measure its frequency/duty cycle using timers and DMA, minimizing CPU core impact. It outlines a three-step process. * *0:00:43 Project Setup:* A new project is created in STM32CubeMX/IDE for an STM32C011C6 microcontroller (specifically on a Nucleo board). * *0:01:37 Step 1 - PWM Generation Setup:* Timer 1 (TIM1) is configured to generate PWM on Channel 1, using the internal clock source. This channel controls an onboard LED. * *0:02:09 Pin Reassignment:* The TIM1 Channel 1 output pin is reassigned to the correct physical pin connected to the LED on the Nucleo board (PA8). * *0:02:41 Library Selection:* Low-Level (LL) drivers are chosen over HAL for peripheral configuration to provide finer control. * *0:03:04 Clock Configuration:* The system clock is set to the maximum 48 MHz using the internal HSI48 oscillator. * *0:05:05 Timer 1 Configuration (1 Hz PWM):* TIM1 prescaler is set to 4799 and the counter period (ARR) to 9999 to achieve a 1 Hz frequency with the 48 MHz clock (48,000,000 / (4799+1) / (9999+1) = 1 Hz). The pulse value (CCR1) is set to 5000 for a 50% duty cycle. Code is generated and downloaded; the LED flashes slowly. * *0:07:05 Step 2 - Dynamic Duty Cycle Intro:* The plan is to increase TIM1's frequency and use Timer 16 (TIM16) with DMA to periodically change TIM1's duty cycle, altering the LED brightness. * *0:07:28 TIM16 & DMA Setup:* TIM16 is activated. A DMA request is configured for the TIM16 Update event, set to transfer data from Memory to Peripheral (TIM1's CCR1 register), using Word size and Circular mode. * *0:08:56 TIM1 Configuration Update (1 kHz):* TIM1's frequency is changed to 1 kHz (e.g., Prescaler 47, Period 999 gives 48MHz / 48 / 1000 = 1 kHz). The initial pulse (duty cycle) is set to 0. * *0:09:34 TIM16 Configuration (2 Hz Update):* TIM16 is configured for a 2 Hz frequency (Prescaler 4799, Period 4999 gives 48MHz / 4800 / 5000 = 2 Hz) to trigger the DMA transfer twice per second. * *0:10:12 Code Implementation (Step 2):* An array holding different duty cycle values is defined in the code. Initialization code for TIM1, TIM16, and the associated DMA channel is added. This setup allows TIM16's timing to automatically trigger DMA to load new duty cycle values from the array into TIM1's CCR1 register. * *0:12:12 Step 3 - Measurement Intro:* The goal is to use Timer 3 (TIM3) with DMA to measure the period and duty cycle of the PWM signal generated by TIM1. * *0:12:52 TIM3 Configuration (Input Capture):* TIM3 is enabled in 'Combined Reset Trigger Mode'. The trigger source is set to Input 1 (TI1FP1). Channel 1 is set to Input Capture Direct mode, and Channel 2 to Input Capture Indirect mode (capturing the same input signal but potentially on a different edge). * *0:13:29 DMA Setup for TIM3:* Two DMA channels are configured for TIM3: one for Channel 1 Capture/Compare event and one for Channel 2 Capture/Compare event. Both are set for Peripheral-to-Memory transfer, Half-Word size, and Circular mode. * *0:14:16 TIM3 Timing Configuration:* TIM3's prescaler is set to 47, making it count at 1 MHz (48MHz / (47+1)). The auto-reload register (ARR) is set to the maximum (65535). * *0:14:41 Input Capture Polarity:* TIM3 Channel 1 (Direct) is set to capture the Rising edge. TIM3 Channel 2 (Indirect) is set to capture the Falling edge of the same input signal (TIM3_CH1, pin PA6). *Key Takeaway: This setup uses the rising edge to reset the timer and capture the period (in CCR1 via DMA), and the falling edge to capture the pulse width (in CCR2 via DMA).* * *0:15:35 Hardware Modification:* A physical jumper wire is required on the Nucleo board (Connector CN10, pins 11 to 13) to connect the TIM1 PWM output (PA8) to the TIM3 Capture input (PA6). * *0:15:57 Code Implementation (Step 3):* Variables are defined to store the captured period and pulse width values from DMA. Initialization code is added to start TIM3 and its associated DMA channels. * *0:17:30 Debugging:* The code is built and downloaded, and a debug session is started to observe the variables being updated by DMA with the measured pulse width and period values (in microseconds, due to the 1 MHz TIM3 clock). I used gemini-2.5-pro-exp-03-25| input-price: 1.25 output-price: 10.0 max-context-length: 128_000 on rocketrecap dot com to summarize the transcript. Cost (if I didn't use the free tier): $0.05 Input tokens: 14036 Output tokens: 3646
Okay, here is the abstract and summary for the provided transcript, following the requested format.
Abstract:
This tutorial demonstrates using STM32 C0 series microcontroller peripherals, specifically Timers (TIM1, TIM16, TIM3) and Direct Memory Access (DMA), to generate a Pulse Width Modulated (PWM) signal and subsequently measure its frequency and duty cycle without requiring CPU core intervention. The process is broken down into three steps: first, generating a basic PWM signal on an onboard LED using TIM1 configured via STM32CubeMX/IDE with Low-Level (LL) libraries. Second, dynamically modifying the PWM duty cycle using TIM16 as a trigger source for DMA transfers that update TIM1's compare register. Third, measuring the generated PWM signal's period and pulse width using TIM3 in combined reset/trigger input capture mode, with two DMA channels automatically storing the captured rising and falling edge timings into memory variables. The tutorial highlights the use of hardware peripherals to offload timing-critical tasks from the CPU.
STM32 Timer & DMA Tutorial: PWM Generation and Measurement
Below, I will provide input for an example video (comprising of title, description, and transcript, in this order) and the corresponding abstract and summary I expect. Afterward, I will provide a new transcript that I want you to summarize in the same format. **Please give an abstract of the transcript and then summarize the transcript in a self-contained bullet list format.** Include starting timestamps, important details and key takeaways. Example Input: Fluidigm Polaris Part 2- illuminator and camera mikeselectricstuff 131K subscribers Subscribed 369 Share Download Clip Save 5,857 views Aug 26, 2024 Fluidigm Polaris part 1 : • Fluidigm Polaris (Part 1) - Biotech g... Ebay listings: https://www.ebay.co.uk/usr/mikeselect... Merch https://mikeselectricstuff.creator-sp... Transcript Follow along using the transcript. Show transcript mikeselectricstuff 131K subscribers Videos About Support on Patreon 40 Comments @robertwatsonbath 6 hours ago Thanks Mike. Ooof! - with the level of bodgery going on around 15:48 I think shame would have made me do a board re spin, out of my own pocket if I had to. 1 Reply @Muonium1 9 hours ago The green LED looks different from the others and uses phosphor conversion because of the "green gap" problem where green InGaN emitters suffer efficiency droop at high currents. Phosphide based emitters don't start becoming efficient until around 600nm so also can't be used for high power green emitters. See the paper and plot by Matthias Auf der Maur in his 2015 paper on alloy fluctuations in InGaN as the cause of reduced external quantum efficiency at longer (green) wavelengths. 4 Reply 1 reply @tafsirnahian669 10 hours ago (edited) Can this be used as an astrophotography camera? Reply mikeselectricstuff · 1 reply @mikeselectricstuff 6 hours ago Yes, but may need a shutter to avoid light during readout Reply @2010craggy 11 hours ago Narrowband filters we use in Astronomy (Astrophotography) are sided- they work best passing light in one direction so I guess the arrows on the filter frames indicate which way round to install them in the filter wheel. 1 Reply @vitukz 12 hours ago A mate with Channel @extractions&ire could use it 2 Reply @RobertGallop 19 hours ago That LED module says it can go up to 28 amps!!! 21 amps for 100%. You should see what it does at 20 amps! Reply @Prophes0r 19 hours ago I had an "Oh SHIT!" moment when I realized that the weird trapezoidal shape of that light guide was for keystone correction of the light source. Very clever. 6 Reply @OneBiOzZ 20 hours ago given the cost of the CCD you think they could have run another PCB for it 9 Reply @tekvax01 21 hours ago $20 thousand dollars per minute of run time! 1 Reply @tekvax01 22 hours ago "We spared no expense!" John Hammond Jurassic Park. *(that's why this thing costs the same as a 50-seat Greyhound Bus coach!) Reply @florianf4257 22 hours ago The smearing on the image could be due to the fact that you don't use a shutter, so you see brighter stripes under bright areas of the image as you still iluminate these pixels while the sensor data ist shifted out towards the top. I experienced this effect back at university with a LN-Cooled CCD for Spectroscopy. The stripes disapeared as soon as you used the shutter instead of disabling it in the open position (but fokussing at 100ms integration time and continuous readout with a focal plane shutter isn't much fun). 12 Reply mikeselectricstuff · 1 reply @mikeselectricstuff 12 hours ago I didn't think of that, but makes sense 2 Reply @douro20 22 hours ago (edited) The red LED reminds me of one from Roithner Lasertechnik. I have a Symbol 2D scanner which uses two very bright LEDs from that company, one red and one red-orange. The red-orange is behind a lens which focuses it into an extremely narrow beam. 1 Reply @RicoElectrico 23 hours ago PFG is Pulse Flush Gate according to the datasheet. Reply @dcallan812 23 hours ago Very interesting. 2x Reply @littleboot_ 1 day ago Cool interesting device Reply @dav1dbone 1 day ago I've stripped large projectors, looks similar, wonder if some of those castings are a magnesium alloy? Reply @kevywevvy8833 1 day ago ironic that some of those Phlatlight modules are used in some of the cheapest disco lights. 1 Reply 1 reply @bill6255 1 day ago Great vid - gets right into subject in title, its packed with information, wraps up quickly. Should get a YT award! imho 3 Reply @JAKOB1977 1 day ago (edited) The whole sensor module incl. a 5 grand 50mpix sensor for 49 £.. highest bid atm Though also a limited CCD sensor, but for the right buyer its a steal at these relative low sums. Architecture Full Frame CCD (Square Pixels) Total Number of Pixels 8304 (H) × 6220 (V) = 51.6 Mp Number of Effective Pixels 8208 (H) × 6164 (V) = 50.5 Mp Number of Active Pixels 8176 (H) × 6132 (V) = 50.1 Mp Pixel Size 6.0 m (H) × 6.0 m (V) Active Image Size 49.1 mm (H) × 36.8 mm (V) 61.3 mm (Diagonal), 645 1.1x Optical Format Aspect Ratio 4:3 Horizontal Outputs 4 Saturation Signal 40.3 ke− Output Sensitivity 31 V/e− Quantum Efficiency KAF−50100−CAA KAF−50100−AAA KAF−50100−ABA (with Lens) 22%, 22%, 16% (Peak R, G, B) 25% 62% Read Noise (f = 18 MHz) 12.5 e− Dark Signal (T = 60°C) 42 pA/cm2 Dark Current Doubling Temperature 5.7°C Dynamic Range (f = 18 MHz) 70.2 dB Estimated Linear Dynamic Range (f = 18 MHz) 69.3 dB Charge Transfer Efficiency Horizontal Vertical 0.999995 0.999999 Blooming Protection (4 ms Exposure Time) 800X Saturation Exposure Maximum Date Rate 18 MHz Package Ceramic PGA Cover Glass MAR Coated, 2 Sides or Clear Glass Features • TRUESENSE Transparent Gate Electrode for High Sensitivity • Ultra-High Resolution • Board Dynamic Range • Low Noise Architecture • Large Active Imaging Area Applications • Digitization • Mapping/Aerial • Photography • Scientific Thx for the tear down Mike, always a joy Reply @martinalooksatthings 1 day ago 15:49 that is some great bodging on of caps, they really didn't want to respin that PCB huh 8 Reply @RhythmGamer 1 day ago Was depressed today and then a new mike video dropped and now I’m genuinely happy to get my tear down fix 1 Reply @dine9093 1 day ago (edited) Did you transfrom into Mr Blobby for a moment there? 2 Reply @NickNorton 1 day ago Thanks Mike. Your videos are always interesting. 5 Reply @KeritechElectronics 1 day ago Heavy optics indeed... Spare no expense, cost no object. Splendid build quality. The CCD is a thing of beauty! 1 Reply @YSoreil 1 day ago The pricing on that sensor is about right, I looked in to these many years ago when they were still in production since it's the only large sensor you could actually buy. Really cool to see one in the wild. 2 Reply @snik2pl 1 day ago That leds look like from led projector Reply @vincei4252 1 day ago TDI = Time Domain Integration ? 1 Reply @wolpumba4099 1 day ago (edited) Maybe the camera should not be illuminated during readout. From the datasheet of the sensor (Onsemi): saturation 40300 electrons, read noise 12.5 electrons per pixel @ 18MHz (quite bad). quantum efficiency 62% (if it has micro lenses), frame rate 1 Hz. lateral overflow drain to prevent blooming protects against 800x (factor increases linearly with exposure time) saturation exposure (32e6 electrons per pixel at 4ms exposure time), microlens has +/- 20 degree acceptance angle i guess it would be good for astrophotography 4 Reply @txm100 1 day ago (edited) Babe wake up a new mikeselectricstuff has dropped! 9 Reply @vincei4252 1 day ago That looks like a finger-lakes filter wheel, however, for astronomy they'd never use such a large stepper. 1 Reply @MRooodddvvv 1 day ago yaaaaay ! more overcomplicated optical stuff ! 4 Reply 1 reply @NoPegs 1 day ago He lives! 11 Reply 1 reply Transcript 0:00 so I've stripped all the bits of the 0:01 optical system so basically we've got 0:03 the uh the camera 0:05 itself which is mounted on this uh very 0:09 complex 0:10 adjustment thing which obviously to set 0:13 you the various tilt and uh alignment 0:15 stuff then there's two of these massive 0:18 lenses I've taken one of these apart I 0:20 think there's something like about eight 0:22 or nine Optical elements in here these 0:25 don't seem to do a great deal in terms 0:26 of electr magnification they're obiously 0:28 just about getting the image to where it 0:29 uh where it needs to be just so that 0:33 goes like that then this Optical block I 0:36 originally thought this was made of some 0:37 s crazy heavy material but it's just 0:39 really the sum of all these Optical bits 0:41 are just ridiculously heavy those lenses 0:43 are about 4 kilos each and then there's 0:45 this very heavy very solid um piece that 0:47 goes in the middle and this is so this 0:49 is the filter wheel assembly with a 0:51 hilariously oversized steper 0:53 motor driving this wheel with these very 0:57 large narrow band filters so we've got 1:00 various different shades of uh 1:03 filters there five Al together that 1:06 one's actually just showing up a silver 1:07 that's actually a a red but fairly low 1:10 transmission orangey red blue green 1:15 there's an excess cover on this side so 1:16 the filters can be accessed and changed 1:19 without taking anything else apart even 1:21 this is like ridiculous it's like solid 1:23 aluminium this is just basically a cover 1:25 the actual wavelengths of these are um 1:27 488 525 570 630 and 700 NM not sure what 1:32 the suffix on that perhaps that's the uh 1:34 the width of the spectral line say these 1:37 are very narrow band filters most of 1:39 them are you very little light through 1:41 so it's still very tight narrow band to 1:43 match the um fluoresence of the dies 1:45 they're using in the biochemical process 1:48 and obviously to reject the light that's 1:49 being fired at it from that Illuminator 1:51 box and then there's a there's a second 1:53 one of these lenses then the actual sort 1:55 of samples below that so uh very serious 1:58 amount of very uh chunky heavy Optics 2:01 okay let's take a look at this light 2:02 source made by company Lumen Dynamics 2:04 who are now part of 2:06 excelitas self-contained unit power 2:08 connector USB and this which one of the 2:11 Cable Bundle said was a TTL interface 2:14 USB wasn't used in uh the fluid 2:17 application output here and I think this 2:19 is an input for um light feedback I 2:21 don't if it's regulated or just a measur 2:23 measurement facility and the uh fiber 2:27 assembly 2:29 Square Inlet there and then there's two 2:32 outputs which have uh lens assemblies 2:35 and this small one which goes back into 2:37 that small Port just Loops out of here 2:40 straight back in So on this side we've 2:42 got the electronics which look pretty 2:44 straightforward we've got a bit of power 2:45 supply stuff over here and we've got 2:48 separate drivers for each wavelength now 2:50 interesting this is clearly been very 2:52 specifically made for this application 2:54 you I was half expecting like say some 2:56 generic drivers that could be used for a 2:58 number of different things but actually 3:00 literally specified the exact wavelength 3:02 on the PCB there is provision here for 3:04 385 NM which isn't populated but this is 3:07 clearly been designed very specifically 3:09 so these four drivers look the same but 3:10 then there's two higher power ones for 3:12 575 and 3:14 520 a slightly bigger heat sink on this 3:16 575 section there a p 24 which is 3:20 providing USB interface USB isolator the 3:23 USB interface just presents as a comport 3:26 I did have a quick look but I didn't 3:27 actually get anything sensible um I did 3:29 dump the Pi code out and there's a few 3:31 you a few sort of commands that you 3:32 could see in text but I didn't actually 3:34 manage to get it working properly I 3:36 found some software for related version 3:38 but it didn't seem to want to talk to it 3:39 but um I say that wasn't used for the 3:41 original application it might be quite 3:42 interesting to get try and get the Run 3:44 hours count out of it and the TTL 3:46 interface looks fairly straightforward 3:48 we've got positions for six opto 3:50 isolators but only five five are 3:52 installed so that corresponds with the 3:54 unused thing so I think this hopefully 3:56 should be as simple as just providing a 3:57 ttrl signal for each color to uh enable 4:00 it a big heat sink here which is there I 4:03 think there's like a big S of metal 4:04 plate through the middle of this that 4:05 all the leads are mounted on the other 4:07 side so this is heat sinking it with a 4:09 air flow from a uh just a fan in here 4:13 obviously don't have the air flow 4:14 anywhere near the Optics so conduction 4:17 cool through to this plate that's then 4:18 uh air cooled got some pots which are 4:21 presumably power 4:22 adjustments okay let's take a look at 4:24 the other side which is uh much more 4:27 interesting see we've got some uh very 4:31 uh neatly Twisted cable assemblies there 4:35 a bunch of leads so we've got one here 4:37 475 up here 430 NM 630 575 and 520 4:44 filters and dcro mirrors a quick way to 4:48 see what's white is if we just shine 4:49 some white light through 4:51 here not sure how it is is to see on the 4:54 camera but shining white light we do 4:55 actually get a bit of red a bit of blue 4:57 some yellow here so the obstacle path 5:00 575 it goes sort of here bounces off 5:03 this mirror and goes out the 520 goes 5:07 sort of down here across here and up 5:09 there 630 goes basically straight 5:13 through 5:15 430 goes across there down there along 5:17 there and the 475 goes down here and 5:20 left this is the light sensing thing 5:22 think here there's just a um I think 5:24 there a photo diode or other sensor 5:26 haven't actually taken that off and 5:28 everything's fixed down to this chunk of 5:31 aluminium which acts as the heat 5:32 spreader that then conducts the heat to 5:33 the back side for the heat 5:35 sink and the actual lead packages all 5:38 look fairly similar except for this one 5:41 on the 575 which looks quite a bit more 5:44 substantial big spay 5:46 Terminals and the interface for this 5:48 turned out to be extremely simple it's 5:50 literally a 5V TTL level to enable each 5:54 color doesn't seem to be any tensity 5:56 control but there are some additional 5:58 pins on that connector that weren't used 5:59 in the through time thing so maybe 6:01 there's some extra lines that control 6:02 that I couldn't find any data on this uh 6:05 unit and the um their current product 6:07 range is quite significantly different 6:09 so we've got the uh blue these 6:13 might may well be saturating the camera 6:16 so they might look a bit weird so that's 6:17 the 430 6:18 blue the 575 6:24 yellow uh 6:26 475 light blue 6:29 the uh 520 6:31 green and the uh 630 red now one 6:36 interesting thing I noticed for the 6:39 575 it's actually it's actually using a 6:42 white lead and then filtering it rather 6:44 than using all the other ones are using 6:46 leads which are the fundamental colors 6:47 but uh this is actually doing white and 6:50 it's a combination of this filter and 6:52 the dichroic mirrors that are turning to 6:55 Yellow if we take the filter out and a 6:57 lot of the a lot of the um blue content 7:00 is going this way the red is going 7:02 straight through these two mirrors so 7:05 this is clearly not reflecting much of 7:08 that so we end up with the yellow coming 7:10 out of uh out of there which is a fairly 7:14 light yellow color which you don't 7:16 really see from high intensity leads so 7:19 that's clearly why they've used the 7:20 white to uh do this power consumption of 7:23 the white is pretty high so going up to 7:25 about 2 and 1 half amps on that color 7:27 whereas most of the other colors are 7:28 only drawing half an amp or so at 24 7:30 volts the uh the green is up to about 7:32 1.2 but say this thing is uh much 7:35 brighter and if you actually run all the 7:38 colors at the same time you get a fairly 7:41 reasonable um looking white coming out 7:43 of it and one thing you might just be 7:45 out to notice is there is some sort 7:46 color banding around here that's not 7:49 getting uh everything s completely 7:51 concentric and I think that's where this 7:53 fiber optic thing comes 7:58 in I'll 8:00 get a couple of Fairly accurately shaped 8:04 very sort of uniform color and looking 8:06 at What's um inside here we've basically 8:09 just got this Square Rod so this is 8:12 clearly yeah the lights just bouncing 8:13 off all the all the various sides to um 8:16 get a nice uniform illumination uh this 8:19 back bit looks like it's all potted so 8:21 nothing I really do to get in there I 8:24 think this is fiber so I have come 8:26 across um cables like this which are 8:27 liquid fill but just looking through the 8:30 end of this it's probably a bit hard to 8:31 see it does look like there fiber ends 8:34 going going on there and so there's this 8:36 feedback thing which is just obviously 8:39 compensating for the any light losses 8:41 through here to get an accurate 8:43 representation of uh the light that's 8:45 been launched out of these two 8:47 fibers and you see uh 8:49 these have got this sort of trapezium 8:54 shape light guides again it's like a 8:56 sort of acrylic or glass light guide 9:00 guess projected just to make the right 9:03 rectangular 9:04 shape and look at this Center assembly 9:07 um the light output doesn't uh change 9:10 whether you feed this in or not so it's 9:11 clear not doing any internal Clos Loop 9:14 control obviously there may well be some 9:16 facility for it to do that but it's not 9:17 being used in this 9:19 application and so this output just 9:21 produces a voltage on the uh outle 9:24 connector proportional to the amount of 9:26 light that's present so there's a little 9:28 diffuser in the back there 9:30 and then there's just some kind of uh 9:33 Optical sensor looks like a 9:35 chip looking at the lead it's a very 9:37 small package on the PCB with this lens 9:40 assembly over the top and these look 9:43 like they're actually on a copper 9:44 Metalized PCB for maximum thermal 9:47 performance and yeah it's a very small 9:49 package looks like it's a ceramic 9:51 package and there's a thermister there 9:53 for temperature monitoring this is the 9:56 475 blue one this is the 520 need to 9:59 Green which is uh rather different OB 10:02 it's a much bigger D with lots of bond 10:04 wise but also this looks like it's using 10:05 a phosphor if I shine a blue light at it 10:08 lights up green so this is actually a 10:10 phosphor conversion green lead which 10:12 I've I've come across before they want 10:15 that specific wavelength so they may be 10:17 easier to tune a phosphor than tune the 10:20 um semiconductor material to get the uh 10:23 right right wavelength from the lead 10:24 directly uh red 630 similar size to the 10:28 blue one or does seem to have a uh a 10:31 lens on top of it there is a sort of red 10:33 coloring to 10:35 the die but that doesn't appear to be 10:38 fluorescent as far as I can 10:39 tell and the white one again a little 10:41 bit different sort of much higher 10:43 current 10:46 connectors a makeer name on that 10:48 connector flot light not sure if that's 10:52 the connector or the lead 10:54 itself and obviously with the phosphor 10:56 and I'd imagine that phosphor may well 10:58 be tuned to get the maximum to the uh 5 11:01 cenm and actually this white one looks 11:04 like a St fairly standard product I just 11:06 found it in Mouse made by luminous 11:09 devices in fact actually I think all 11:11 these are based on various luminous 11:13 devices modules and they're you take 11:17 looks like they taking the nearest 11:18 wavelength and then just using these 11:19 filters to clean it up to get a precise 11:22 uh spectral line out of it so quite a 11:25 nice neat and um extreme 11:30 bright light source uh sure I've got any 11:33 particular use for it so I think this 11:35 might end up on 11:36 eBay but uh very pretty to look out and 11:40 without the uh risk of burning your eyes 11:43 out like you do with lasers so I thought 11:45 it would be interesting to try and 11:46 figure out the runtime of this things 11:48 like this we usually keep some sort 11:49 record of runtime cuz leads degrade over 11:51 time I couldn't get any software to work 11:52 through the USB face but then had a 11:54 thought probably going to be writing the 11:55 runtime periodically to the e s prom so 11:58 I just just scope up that and noticed it 12:00 was doing right every 5 minutes so I 12:02 just ran it for a while periodically 12:04 reading the E squ I just held the pick 12:05 in in reset and um put clip over to read 12:07 the square prom and found it was writing 12:10 one location per color every 5 minutes 12:12 so if one color was on it would write 12:14 that location every 5 minutes and just 12:16 increment it by one so after doing a few 12:18 tests with different colors of different 12:19 time periods it looked extremely 12:21 straightforward it's like a four bite 12:22 count for each color looking at the 12:24 original data that was in it all the 12:26 colors apart from Green were reading 12:28 zero and the green was reading four 12:30 indicating a total 20 minutes run time 12:32 ever if it was turned on run for a short 12:34 time then turned off that might not have 12:36 been counted but even so indicates this 12:37 thing wasn't used a great deal the whole 12:40 s process of doing a run can be several 12:42 hours but it'll only be doing probably 12:43 the Imaging at the end of that so you 12:46 wouldn't expect to be running for a long 12:47 time but say a single color for 20 12:50 minutes over its whole lifetime does 12:52 seem a little bit on the low side okay 12:55 let's look at the camera un fortunately 12:57 I managed to not record any sound when I 12:58 did this it's also a couple of months 13:00 ago so there's going to be a few details 13:02 that I've forgotten so I'm just going to 13:04 dub this over the original footage so um 13:07 take the lid off see this massive great 13:10 heat sink so this is a pel cool camera 13:12 we've got this blower fan producing a 13:14 fair amount of air flow through 13:16 it the connector here there's the ccds 13:19 mounted on the board on the 13:24 right this unplugs so we've got a bit of 13:27 power supply stuff on here 13:29 USB interface I think that's the Cyprus 13:32 microcontroller High speeded USB 13:34 interface there's a zyink spon fpga some 13:40 RAM and there's a couple of ATD 13:42 converters can't quite read what those 13:45 those are but anal 13:47 devices um little bit of bodgery around 13:51 here extra decoupling obviously they 13:53 have having some noise issues this is 13:55 around the ram chip quite a lot of extra 13:57 capacitors been added there 13:59 uh there's a couple of amplifiers prior 14:01 to the HD converter buffers or Andor 14:05 amplifiers taking the CCD 14:08 signal um bit more power spy stuff here 14:11 this is probably all to do with 14:12 generating the various CCD bias voltages 14:14 they uh need quite a lot of exotic 14:18 voltages next board down is just a 14:20 shield and an interconnect 14:24 boardly shielding the power supply stuff 14:26 from some the more sensitive an log 14:28 stuff 14:31 and this is the bottom board which is 14:32 just all power supply 14:34 stuff as you can see tons of capacitors 14:37 or Transformer in 14:42 there and this is the CCD which is a uh 14:47 very impressive thing this is a kf50 100 14:50 originally by true sense then codec 14:53 there ON 14:54 Semiconductor it's 50 megapixels uh the 14:58 only price I could find was this one 15:00 5,000 bucks and the architecture you can 15:03 see there actually two separate halves 15:04 which explains the Dual AZ converters 15:06 and two amplifiers it's literally split 15:08 down the middle and duplicated so it's 15:10 outputting two streams in parallel just 15:13 to keep the bandwidth sensible and it's 15:15 got this amazing um diffraction effects 15:18 it's got micro lenses over the pixel so 15:20 there's there's a bit more Optics going 15:22 on than on a normal 15:25 sensor few more bodges on the CCD board 15:28 including this wire which isn't really 15:29 tacked down very well which is a bit uh 15:32 bit of a mess quite a few bits around 15:34 this board where they've uh tacked 15:36 various bits on which is not super 15:38 impressive looks like CCD drivers on the 15:40 left with those 3 ohm um damping 15:43 resistors on the 15:47 output get a few more little bodges 15:50 around here some of 15:52 the and there's this separator the 15:54 silica gel to keep the moisture down but 15:56 there's this separator that actually 15:58 appears to be cut from piece of 15:59 antistatic 16:04 bag and this sort of thermal block on 16:06 top of this stack of three pel Cola 16:12 modules so as with any Stacks they get 16:16 um larger as they go back towards the 16:18 heat sink because each P's got to not 16:20 only take the heat from the previous but 16:21 also the waste heat which is quite 16:27 significant you see a little temperature 16:29 sensor here that copper block which 16:32 makes contact with the back of the 16:37 CCD and this's the back of the 16:40 pelas this then contacts the heat sink 16:44 on the uh rear there a few thermal pads 16:46 as well for some of the other power 16:47 components on this 16:51 PCB okay I've connected this uh camera 16:54 up I found some drivers on the disc that 16:56 seem to work under Windows 7 couldn't 16:58 get to install under Windows 11 though 17:01 um in the absence of any sort of lens or 17:03 being bothered to the proper amount I've 17:04 just put some f over it and put a little 17:06 pin in there to make a pinhole lens and 17:08 software gives a few options I'm not 17:11 entirely sure what all these are there's 17:12 obviously a clock frequency 22 MHz low 17:15 gain and with PFG no idea what that is 17:19 something something game programmable 17:20 Something game perhaps ver exposure 17:23 types I think focus is just like a 17:25 continuous grab until you tell it to 17:27 stop not entirely sure all these options 17:30 are obviously exposure time uh triggers 17:33 there ex external hardware trigger inut 17:35 you just trigger using a um thing on 17:37 screen so the resolution is 8176 by 17:40 6132 and you can actually bin those 17:42 where you combine multiple pixels to get 17:46 increased gain at the expense of lower 17:48 resolution down this is a 10sec exposure 17:51 obviously of the pin hole it's very uh 17:53 intensitive so we just stand still now 17:56 downloading it there's the uh exposure 17:59 so when it's 18:01 um there's a little status thing down 18:03 here so that tells you the um exposure 18:07 [Applause] 18:09 time it's this is just it 18:15 downloading um it is quite I'm seeing 18:18 quite a lot like smearing I think that I 18:20 don't know whether that's just due to 18:21 pixels overloading or something else I 18:24 mean yeah it's not it's not um out of 18:26 the question that there's something not 18:27 totally right about this camera 18:28 certainly was bodge wise on there um I 18:31 don't I'd imagine a camera like this 18:32 it's got a fairly narrow range of 18:34 intensities that it's happy with I'm not 18:36 going to spend a great deal of time on 18:38 this if you're interested in this camera 18:40 maybe for astronomy or something and 18:42 happy to sort of take the risk of it may 18:44 not be uh perfect I'll um I think I'll 18:47 stick this on eBay along with the 18:48 Illuminator I'll put a link down in the 18:50 description to the listing take your 18:52 chances to grab a bargain so for example 18:54 here we see this vertical streaking so 18:56 I'm not sure how normal that is this is 18:58 on fairly bright scene looking out the 19:02 window if I cut the exposure time down 19:04 on that it's now 1 second 19:07 exposure again most of the image 19:09 disappears again this is looks like it's 19:11 possibly over still overloading here go 19:14 that go down to say say quarter a 19:16 second so again I think there might be 19:19 some Auto gain control going on here um 19:21 this is with the PFG option let's try 19:23 turning that off and see what 19:25 happens so I'm not sure this is actually 19:27 more streaking or which just it's 19:29 cranked up the gain all the dis display 19:31 gray scale to show what um you know the 19:33 range of things that it's captured 19:36 there's one of one of 12 things in the 19:38 software there's um you can see of you 19:40 can't seem to read out the temperature 19:42 of the pelta cooler but you can set the 19:44 temperature and if you said it's a 19:46 different temperature you see the power 19:48 consumption jump up running the cooler 19:50 to get the temperature you requested but 19:52 I can't see anything anywhere that tells 19:54 you whether the cool is at the at the 19:56 temperature other than the power 19:57 consumption going down and there's no 19:59 temperature read out 20:03 here and just some yeah this is just 20:05 sort of very basic software I'm sure 20:07 there's like an API for more 20:09 sophisticated 20:10 applications but so if you know anything 20:12 more about these cameras please um stick 20:14 in the 20:15 comments um incidentally when I was 20:18 editing I didn't notice there was a bent 20:19 pin on the um CCD but I did fix that 20:22 before doing these tests and also 20:24 reactivated the um silica gel desicant 20:26 cuz I noticed it was uh I was getting 20:28 bit of condensation on the window but um 20:31 yeah so a couple of uh interesting but 20:34 maybe not particularly uh useful pieces 20:37 of Kit except for someone that's got a 20:38 very specific use so um I'll stick a 20:42 I'll stick these on eBay put a link in 20:44 the description and say hopefully 20:45 someone could actually make some uh good 20:47 use of these things Example Output: **Abstract:** This video presents Part 2 of a teardown focusing on the optical components of a Fluidigm Polaris biotechnology instrument, specifically the multi-wavelength illuminator and the high-resolution CCD camera. The Lumen Dynamics illuminator unit is examined in detail, revealing its construction using multiple high-power LEDs (430nm, 475nm, 520nm, 575nm, 630nm) combined via dichroic mirrors and filters. A square fiber optic rod is used to homogenize the light. A notable finding is the use of a phosphor-converted white LED filtered to achieve the 575nm output. The unit features simple TTL activation for each color, conduction cooling, and internal homogenization optics. Analysis of its EEPROM suggests extremely low operational runtime. The camera module teardown showcases a 50 Megapixel ON Semiconductor KAF-50100 CCD sensor with micro-lenses, cooled by a multi-stage Peltier stack. The control electronics include an FPGA and a USB interface. Significant post-manufacturing modifications ("bodges") are observed on the camera's circuit boards. Basic functional testing using vendor software and a pinhole lens confirms image capture but reveals prominent vertical streaking artifacts, the cause of which remains uncertain (potential overload, readout artifact, or fault). **Exploring the Fluidigm Polaris: A Detailed Look at its High-End Optics and Camera System** * **0:00 High-End Optics:** The system utilizes heavy, high-quality lenses and mirrors for precise imaging, weighing around 4 kilos each. * **0:49 Narrow Band Filters:** A filter wheel with five narrow band filters (488, 525, 570, 630, and 700 nm) ensures accurate fluorescence detection and rejection of excitation light. * **2:01 Customizable Illumination:** The Lumen Dynamics light source offers five individually controllable LED wavelengths (430, 475, 520, 575, 630 nm) with varying power outputs. The 575nm yellow LED is uniquely achieved using a white LED with filtering. * **3:45 TTL Control:** The light source is controlled via a simple TTL interface, enabling easy on/off switching for each LED color. * **12:55 Sophisticated Camera:** The system includes a 50-megapixel Kodak KAI-50100 CCD camera with a Peltier cooling system for reduced noise. * **14:54 High-Speed Data Transfer:** The camera features dual analog-to-digital converters to manage the high data throughput of the 50-megapixel sensor, which is effectively two 25-megapixel sensors operating in parallel. * **18:11 Possible Issues:** The video creator noted some potential issues with the camera, including image smearing. * **18:11 Limited Dynamic Range:** The camera's sensor has a limited dynamic range, making it potentially challenging to capture scenes with a wide range of brightness levels. * **11:45 Low Runtime:** Internal data suggests the system has seen minimal usage, with only 20 minutes of recorded runtime for the green LED. * **20:38 Availability on eBay:** Both the illuminator and camera are expected to be listed for sale on eBay. Here is the real transcript. Please summarize it: 00:00:04 hello and welcome in today hands on 00:00:04 about 00:00:05 C0 and 00:00:07 timers we will try generate 00:00:11 PWM and measure frequency without any 00:00:15 impact to core i show you in three steps 00:00:19 how it may be used first step will be 00:00:23 simple generation of PWM signal for 00:00:26 onboard then we try periodically change 00:00:30 dat cycle using second timer and DMA and 00:00:35 last part it's about measuring of dat 00:00:38 cycle and period using s timer and 00:00:43 DMA first we have to create new project 00:00:46 in STM32 cube mix or cube IDE 00:00:52 now we will create new SDM32 00:01:03 project we will select 00:01:03 C01 00:01:06 C6 and this one is the best for us on 00:01:10 the nuclo board 00:01:23 we set 00:01:23 name 00:01:26 and now we can create 00:01:37 project at the start we set timer one to 00:01:37 generate PWM on channel one 00:01:41 on this channel it's connected on board 00:01:44 light and it's necessary set internal 00:01:47 clock as a 00:01:49 source in practice we will select timer 00:01:53 one clock source will be internal clock 00:01:58 and on channel one we will generate 00:02:09 PWM now it's necessary move connection 00:02:09 to channel one to proper pad on the 00:02:12 microcontroller there is possible use 00:02:15 control 00:02:16 key if you press uh control and then 00:02:21 other possible pins are show by 00:02:25 blinking and you can also use control 00:02:30 and 00:02:32 drag and it's pos simply possible change 00:02:36 pin to make this example more attractive 00:02:41 we will use low-level libraries instead 00:02:44 of hull hull abstraction layer library 00:02:48 and we must to change 00:03:04 level now we can continue with the clock 00:03:04 settings 00:03:06 we will use internal 48 MHz 00:03:10 oscillator simple 00:03:17 setting 00:03:17 and only we change this press clearer 00:03:21 and we will go on maximum speed of the 00:03:24 microcontroller 00:03:26 now we will set the timer or one herz 00:03:31 frequency and that is cycle 00:03:46 4,799 counter period 00:03:46 4 00:03:51 9 00:03:51 and PWM with period 00:04:05 5,000 and now it's necessary use this 00:04:05 cheat sheet and to section user code 00:04:08 begin to we will copy the 00:04:11 code now press this icon to generate 00:04:15 code for application 00:04:24 we are here and section 00:04:24 two it's 00:04:27 here all code is here only start timer 00:04:31 and the generation of 00:04:34 PWM now we can 00:04:43 build and download it to the 00:04:43 microcontroller 00:05:02 and if is everything is okay the onboard 00:05:02 light is 00:05:05 flashing and now it's time to set 00:05:08 frequency of the timer for to one herz 00:05:12 or let 00:05:13 blinking because mine clock is 48 00:05:17 MGHertz we need to divide by 48 millions 00:05:22 and it is divide two parts 00:05:26 4,800 for press scaler and 10,000 for 00:05:30 the counter press scaler must be set 00:05:35 minus one then 00:05:46 4,799 for counter it's same 00:05:46 situation 10 minus 00:05:50 one 00:05:52 and for PWM we 00:05:56 set that cycle to 50% 00:06:04 now we can save 00:06:04 changes and generate 00:06:08 code and now it's necessary to 00:06:18 copy this code for 00:06:18 initialization of the 00:06:28 timer to user code section 00:06:28 two which is here 00:06:38 and it's all what is necessary now we 00:06:38 can build the application and download 00:06:41 it to 00:06:49 microcontroller and if everything is 00:06:49 okay to like slowly 00:07:05 blinking now in the second part of our 00:07:05 presentation we will change frequency of 00:07:08 timer one to higher and we will be 00:07:10 change dat cycle to change let bright 00:07:15 second timer will be used for timing of 00:07:19 changes and DMA will be used to change 00:07:23 that cycle first we must activate it 00:07:28 timer 16 and set DMA settings for this 00:07:32 timer 00:07:54 we add DMA 00:07:54 request for update event which is 00:07:59 shorted to up i don't like it 00:08:02 but because it's same 00:08:06 as 00:08:08 up as opposite to 00:08:11 down transfer will be 00:08:14 done now we set timer 00:08:19 16 and it's a DMA for work 00:08:24 first we must activate it this timer and 00:08:28 then set DMA settings be at DMA transfer 00:08:32 from up event which is 00:08:36 update transfer will be done from memory 00:08:40 to 00:08:43 peripheral word 00:08:46 white and we will use circular mode all 00:08:51 necessary settings are done and we can 00:08:56 continue by change frequency for timer 00:09:00 one to 1 kilohz which will be 00:09:18 here and 00:09:21 then we set initial value 00:09:30 for pulse to 00:09:30 zero and then we change settings for 00:09:34 timer 00:09:51 be same as for one 00:09:51 herz and because now we need two two 00:09:56 hertz the period will be 00:10:00 only 00:10:09 4,999 and now we can Save and generate 00:10:09 code and 00:10:12 copy two piece of code to start our 00:10:33 code now we are in part two 00:10:33 first is definition of data cycles in 00:10:37 array it will 00:10:41 be copied to the section 00:11:06 two it's 00:11:06 larger because we need to start timer 00:11:10 one and timer 00:11:13 16 00:11:23 and 00:11:23 DMA that's it 00:12:12 and now in last 00:12:12 set section we will try set timer three 00:12:17 to measure parameters of signal 00:12:20 generated by timer one 00:12:23 we will use combine reset trigger mode 00:12:27 with input from 00:12:29 channela we will be count internal clock 00:12:33 we will use two channels one to 00:12:35 capture rising edge of signal and second 00:12:40 one to capture falling edge 00:12:52 now we enable timer 00:12:52 three in the combined reset trigger 00:13:03 mode trigger source will be 00:13:03 [Music] 00:13:10 from channel 00:13:10 one clock source 00:13:19 internal and channel one input capture 00:13:19 direct mode and channel one indirect 00:13:24 mode for the other settings we are 00:13:27 return back to 00:13:29 presentation we will use two DMA 00:13:33 channels both from peripheral to memory 00:13:37 and half worldwide and both in circular 00:13:53 mode for channel one from peripheral to 00:13:53 memory half row and 00:14:01 circular 00:14:01 and second 00:14:04 one per half 00:14:12 volt that's all is 00:14:12 set and we can 00:14:16 continue for timer three we will be 00:14:20 count one megahertz we can Count up to 00:14:25 full 00:14:41 range input capture on first channel 00:14:41 it's will be done on rising edge and on 00:14:45 channel one and for channel da it will 00:14:50 be connected 00:14:52 bit to channel one pin and falling 00:15:04 edge racising edge direct and falling 00:15:04 edge 00:15:05 indirect set to the same 00:15:15 signal no division and now we can 00:15:15 go to check the pin where is 00:15:19 the timer input connected by default 00:15:24 it's on 00:15:27 PA6 00:15:28 and it's visible that it 00:15:32 is and now it's 00:15:35 necessary simple hardware modification 00:15:38 on board put the jumper on connector 10 00:15:43 between pins 11 and 00:15:45 13 like you see on this 00:15:57 picture now as in previous cases we add 00:15:57 some 00:15:58 code now we save our set changes in IOC 00:16:04 file and generate code 00:16:15 and now we can add new 00:16:15 code to control timer 3 in application 00:16:22 first we 00:16:23 add two variables where will be stored 00:16:29 captured 00:16:36 values to section 00:16:37 zero 00:16:45 and there is 00:16:45 code for section 00:17:07 complicated because we start timer 00:17:07 one we prepare the MA to change compare 00:17:10 capture register of timer one and start 00:17:14 timer 16 which is triggering this 00:17:17 transfer then we prepare to DMA channels 00:17:21 for timer 3 to capture 00:17:24 values and at the end we start timer 3 00:17:30 and now we can start 00:17:33 debug to see if values are as we 00:17:53 expected and now we can see in falling 00:17:53 edge the data cycle in the number of
identifier: 2084
model: gemini-2.5-pro-exp-03-25| input-price: 1.25 output-price: 10.0 max-context-length: 128_000
host: 185.109.152.7
https://youtu.be/nyo88Ljbx_Q?feature=sharedinclude_comments: None
include_timestamps: 1
include_glossary: None
output_language: en
cost: 0.049205
Okay, here is the abstract and summary for the provided transcript based on your specified format. *Abstract:* This video tutorial demonstrates how to utilize STM32 C0 microcontroller peripherals, specifically timers and Direct Memory Access (DMA), to generate a Pulse-Width Modulation (PWM) signal and subsequently measure its frequency and duty cycle without consuming CPU core resources. Using the STM32CubeIDE and Low-Level (LL) libraries, the tutorial proceeds in three stages: first, configuring Timer 1 to generate a basic PWM signal controlling an onboard LED; second, employing Timer 16 and DMA to periodically update Timer 1's duty cycle register from a memory array, creating a dynamic brightness effect; and third, setting up Timer 3 in Combined Reset Trigger mode with Input Capture on two channels (triggered by rising and falling edges) along with two DMA channels to capture the signal's timing characteristics (period and pulse width) into memory variables. A simple hardware modification (jumper wire) is required to route the PWM output to the measurement timer input. The process highlights the use of specific timer modes and DMA for efficient peripheral-to-peripheral and memory-to-peripheral operations. *STM32 Timer & DMA Tutorial: PWM Generation and Measurement* * *00:00:04 Introduction:* The goal is to generate PWM using one timer and measure its frequency/duty cycle using another timer and DMA, minimizing CPU core impact. The process involves three steps. * *00:00:43 Project Setup:* A new STM32 project is created in STM32CubeIDE for the STM32C011C6 microcontroller on a Nucleo board. * *00:01:37 Step 1 - Basic PWM Generation (Timer 1):* Timer 1 is configured with an internal clock source to generate PWM on Channel 1, which is connected to the onboard LED (LD2, likely on PA8). * *00:02:41 Library Choice:* The tutorial opts to use Low-Level (LL) libraries instead of the HAL (Hardware Abstraction Layer) for finer control. * *00:03:04 Clock Configuration:* The microcontroller's high-speed internal oscillator (HSI) is set to 48 MHz, and the system clock is configured to run at this maximum speed. * *00:03:26 Timer 1 Initial Config (1 Hz):* Timer 1 is initially set up for a 1 Hz frequency (Prescaler=4799, Period=9999) with a 50% duty cycle (Pulse=5000). * *00:04:05 Code Integration (Step 1):* LL code is copied into the `main.c` file (User Code Section 2) to initialize and start Timer 1 for PWM generation. After building and flashing, the onboard LED blinks slowly (1 Hz). * *00:07:05 Step 2 - Dynamic Duty Cycle (Timer 16 & DMA):* The objective shifts to changing Timer 1's frequency to 1 kHz and dynamically altering its duty cycle using Timer 16 as a trigger and DMA for the transfer. * *00:07:28 Timer 16 & DMA Config:* Timer 16 is enabled. A DMA request is configured for the Timer 16 Update event (TIM16_UP) to transfer data from memory to a peripheral (Timer 1's Capture/Compare Register) in circular mode. * *00:08:56 Timer 1 Re-Config (1 kHz):* Timer 1's prescaler and period are adjusted for 1 kHz operation, and the initial pulse value is set to 0. * *00:09:34 Timer 16 Config (2 Hz Trigger):* Timer 16 is configured to generate update events at 2 Hz (Prescaler=4799, Period=4999), triggering the DMA transfers. * *00:10:12 Code Integration (Step 2):* An array holding different duty cycle values (`datacycles`) is defined. LL code is added to initialize Timer 16, its associated DMA channel, and start both timers. The DMA continuously copies values from the `datacycles` array to Timer 1's CCR1 register. * *00:12:12 Step 3 - Signal Measurement (Timer 3 & DMA):* The goal is to measure the period and duty cycle of the signal generated by Timer 1 using Timer 3 and DMA. Timer 3 is set to Combined Reset Trigger Mode. * *00:12:52 Timer 3 Config:* Timer 3 is enabled in Combined Reset Trigger mode, triggered by the input signal on Channel 1 (TI1FP1). The clock source is internal. Channel 1 is set for Input Capture Direct mode (Rising Edge), and Channel 2 is set for Input Capture Indirect mode (via Channel 1, Falling Edge). * *00:13:29 DMA Config (Timer 3):* Two DMA channels are configured for Timer 3: one triggered by Channel 1 Capture (TIM3_CH1) and the other by Channel 2 Capture (TIM3_CH2). Both transfer data from the peripheral (Timer 3 CCR1/CCR2) to memory variables in circular mode. * *00:14:16 Timer 3 Clock/Capture Settings:* Timer 3's clock is set to 1 MHz (Prescaler=47) to measure time accurately. Input capture polarity is set (Rising for CH1, Falling for CH2). * *00:15:15 Hardware Modification:* A physical jumper wire is required on the Nucleo board (Connector CN10, pins 11 to 13) to connect the Timer 1 PWM output (PA8) to the Timer 3 Channel 1 input (PA6). * *00:15:57 Code Integration (Step 3):* Variables (`capture_ch1`, `capture_ch2`) are defined to store the captured timer values via DMA. LL code is added to initialize Timer 3, its DMA channels, and start the timer. * *00:17:30 Debugging:* The application is built and run in debug mode to observe the values captured by Timer 3's DMA channels into the variables, representing the signal's timing characteristics (period in `capture_ch1`, pulse width in `capture_ch2`). Error: value error I used gemini-2.5-pro-exp-03-25| input-price: 1.25 output-price: 10.0 max-context-length: 128_000 on rocketrecap dot com to summarize the transcript. Cost (if I didn't use the free tier): $0.05 Input tokens: 14036 Output tokens: 3166
Okay, here is the abstract and summary for the provided transcript based on your specified format.
Abstract:
This video tutorial demonstrates how to utilize STM32 C0 microcontroller peripherals, specifically timers and Direct Memory Access (DMA), to generate a Pulse-Width Modulation (PWM) signal and subsequently measure its frequency and duty cycle without consuming CPU core resources. Using the STM32CubeIDE and Low-Level (LL) libraries, the tutorial proceeds in three stages: first, configuring Timer 1 to generate a basic PWM signal controlling an onboard LED; second, employing Timer 16 and DMA to periodically update Timer 1's duty cycle register from a memory array, creating a dynamic brightness effect; and third, setting up Timer 3 in Combined Reset Trigger mode with Input Capture on two channels (triggered by rising and falling edges) along with two DMA channels to capture the signal's timing characteristics (period and pulse width) into memory variables. A simple hardware modification (jumper wire) is required to route the PWM output to the measurement timer input. The process highlights the use of specific timer modes and DMA for efficient peripheral-to-peripheral and memory-to-peripheral operations.
STM32 Timer & DMA Tutorial: PWM Generation and Measurement
Below, I will provide input for an example video (comprising of title, description, and transcript, in this order) and the corresponding abstract and summary I expect. Afterward, I will provide a new transcript that I want you to summarize in the same format. **Please give an abstract of the transcript and then summarize the transcript in a self-contained bullet list format.** Include starting timestamps, important details and key takeaways. Example Input: Fluidigm Polaris Part 2- illuminator and camera mikeselectricstuff 131K subscribers Subscribed 369 Share Download Clip Save 5,857 views Aug 26, 2024 Fluidigm Polaris part 1 : • Fluidigm Polaris (Part 1) - Biotech g... Ebay listings: https://www.ebay.co.uk/usr/mikeselect... Merch https://mikeselectricstuff.creator-sp... Transcript Follow along using the transcript. Show transcript mikeselectricstuff 131K subscribers Videos About Support on Patreon 40 Comments @robertwatsonbath 6 hours ago Thanks Mike. Ooof! - with the level of bodgery going on around 15:48 I think shame would have made me do a board re spin, out of my own pocket if I had to. 1 Reply @Muonium1 9 hours ago The green LED looks different from the others and uses phosphor conversion because of the "green gap" problem where green InGaN emitters suffer efficiency droop at high currents. Phosphide based emitters don't start becoming efficient until around 600nm so also can't be used for high power green emitters. See the paper and plot by Matthias Auf der Maur in his 2015 paper on alloy fluctuations in InGaN as the cause of reduced external quantum efficiency at longer (green) wavelengths. 4 Reply 1 reply @tafsirnahian669 10 hours ago (edited) Can this be used as an astrophotography camera? Reply mikeselectricstuff · 1 reply @mikeselectricstuff 6 hours ago Yes, but may need a shutter to avoid light during readout Reply @2010craggy 11 hours ago Narrowband filters we use in Astronomy (Astrophotography) are sided- they work best passing light in one direction so I guess the arrows on the filter frames indicate which way round to install them in the filter wheel. 1 Reply @vitukz 12 hours ago A mate with Channel @extractions&ire could use it 2 Reply @RobertGallop 19 hours ago That LED module says it can go up to 28 amps!!! 21 amps for 100%. You should see what it does at 20 amps! Reply @Prophes0r 19 hours ago I had an "Oh SHIT!" moment when I realized that the weird trapezoidal shape of that light guide was for keystone correction of the light source. Very clever. 6 Reply @OneBiOzZ 20 hours ago given the cost of the CCD you think they could have run another PCB for it 9 Reply @tekvax01 21 hours ago $20 thousand dollars per minute of run time! 1 Reply @tekvax01 22 hours ago "We spared no expense!" John Hammond Jurassic Park. *(that's why this thing costs the same as a 50-seat Greyhound Bus coach!) Reply @florianf4257 22 hours ago The smearing on the image could be due to the fact that you don't use a shutter, so you see brighter stripes under bright areas of the image as you still iluminate these pixels while the sensor data ist shifted out towards the top. I experienced this effect back at university with a LN-Cooled CCD for Spectroscopy. The stripes disapeared as soon as you used the shutter instead of disabling it in the open position (but fokussing at 100ms integration time and continuous readout with a focal plane shutter isn't much fun). 12 Reply mikeselectricstuff · 1 reply @mikeselectricstuff 12 hours ago I didn't think of that, but makes sense 2 Reply @douro20 22 hours ago (edited) The red LED reminds me of one from Roithner Lasertechnik. I have a Symbol 2D scanner which uses two very bright LEDs from that company, one red and one red-orange. The red-orange is behind a lens which focuses it into an extremely narrow beam. 1 Reply @RicoElectrico 23 hours ago PFG is Pulse Flush Gate according to the datasheet. Reply @dcallan812 23 hours ago Very interesting. 2x Reply @littleboot_ 1 day ago Cool interesting device Reply @dav1dbone 1 day ago I've stripped large projectors, looks similar, wonder if some of those castings are a magnesium alloy? Reply @kevywevvy8833 1 day ago ironic that some of those Phlatlight modules are used in some of the cheapest disco lights. 1 Reply 1 reply @bill6255 1 day ago Great vid - gets right into subject in title, its packed with information, wraps up quickly. Should get a YT award! imho 3 Reply @JAKOB1977 1 day ago (edited) The whole sensor module incl. a 5 grand 50mpix sensor for 49 £.. highest bid atm Though also a limited CCD sensor, but for the right buyer its a steal at these relative low sums. Architecture Full Frame CCD (Square Pixels) Total Number of Pixels 8304 (H) × 6220 (V) = 51.6 Mp Number of Effective Pixels 8208 (H) × 6164 (V) = 50.5 Mp Number of Active Pixels 8176 (H) × 6132 (V) = 50.1 Mp Pixel Size 6.0 m (H) × 6.0 m (V) Active Image Size 49.1 mm (H) × 36.8 mm (V) 61.3 mm (Diagonal), 645 1.1x Optical Format Aspect Ratio 4:3 Horizontal Outputs 4 Saturation Signal 40.3 ke− Output Sensitivity 31 V/e− Quantum Efficiency KAF−50100−CAA KAF−50100−AAA KAF−50100−ABA (with Lens) 22%, 22%, 16% (Peak R, G, B) 25% 62% Read Noise (f = 18 MHz) 12.5 e− Dark Signal (T = 60°C) 42 pA/cm2 Dark Current Doubling Temperature 5.7°C Dynamic Range (f = 18 MHz) 70.2 dB Estimated Linear Dynamic Range (f = 18 MHz) 69.3 dB Charge Transfer Efficiency Horizontal Vertical 0.999995 0.999999 Blooming Protection (4 ms Exposure Time) 800X Saturation Exposure Maximum Date Rate 18 MHz Package Ceramic PGA Cover Glass MAR Coated, 2 Sides or Clear Glass Features • TRUESENSE Transparent Gate Electrode for High Sensitivity • Ultra-High Resolution • Board Dynamic Range • Low Noise Architecture • Large Active Imaging Area Applications • Digitization • Mapping/Aerial • Photography • Scientific Thx for the tear down Mike, always a joy Reply @martinalooksatthings 1 day ago 15:49 that is some great bodging on of caps, they really didn't want to respin that PCB huh 8 Reply @RhythmGamer 1 day ago Was depressed today and then a new mike video dropped and now I’m genuinely happy to get my tear down fix 1 Reply @dine9093 1 day ago (edited) Did you transfrom into Mr Blobby for a moment there? 2 Reply @NickNorton 1 day ago Thanks Mike. Your videos are always interesting. 5 Reply @KeritechElectronics 1 day ago Heavy optics indeed... Spare no expense, cost no object. Splendid build quality. The CCD is a thing of beauty! 1 Reply @YSoreil 1 day ago The pricing on that sensor is about right, I looked in to these many years ago when they were still in production since it's the only large sensor you could actually buy. Really cool to see one in the wild. 2 Reply @snik2pl 1 day ago That leds look like from led projector Reply @vincei4252 1 day ago TDI = Time Domain Integration ? 1 Reply @wolpumba4099 1 day ago (edited) Maybe the camera should not be illuminated during readout. From the datasheet of the sensor (Onsemi): saturation 40300 electrons, read noise 12.5 electrons per pixel @ 18MHz (quite bad). quantum efficiency 62% (if it has micro lenses), frame rate 1 Hz. lateral overflow drain to prevent blooming protects against 800x (factor increases linearly with exposure time) saturation exposure (32e6 electrons per pixel at 4ms exposure time), microlens has +/- 20 degree acceptance angle i guess it would be good for astrophotography 4 Reply @txm100 1 day ago (edited) Babe wake up a new mikeselectricstuff has dropped! 9 Reply @vincei4252 1 day ago That looks like a finger-lakes filter wheel, however, for astronomy they'd never use such a large stepper. 1 Reply @MRooodddvvv 1 day ago yaaaaay ! more overcomplicated optical stuff ! 4 Reply 1 reply @NoPegs 1 day ago He lives! 11 Reply 1 reply Transcript 0:00 so I've stripped all the bits of the 0:01 optical system so basically we've got 0:03 the uh the camera 0:05 itself which is mounted on this uh very 0:09 complex 0:10 adjustment thing which obviously to set 0:13 you the various tilt and uh alignment 0:15 stuff then there's two of these massive 0:18 lenses I've taken one of these apart I 0:20 think there's something like about eight 0:22 or nine Optical elements in here these 0:25 don't seem to do a great deal in terms 0:26 of electr magnification they're obiously 0:28 just about getting the image to where it 0:29 uh where it needs to be just so that 0:33 goes like that then this Optical block I 0:36 originally thought this was made of some 0:37 s crazy heavy material but it's just 0:39 really the sum of all these Optical bits 0:41 are just ridiculously heavy those lenses 0:43 are about 4 kilos each and then there's 0:45 this very heavy very solid um piece that 0:47 goes in the middle and this is so this 0:49 is the filter wheel assembly with a 0:51 hilariously oversized steper 0:53 motor driving this wheel with these very 0:57 large narrow band filters so we've got 1:00 various different shades of uh 1:03 filters there five Al together that 1:06 one's actually just showing up a silver 1:07 that's actually a a red but fairly low 1:10 transmission orangey red blue green 1:15 there's an excess cover on this side so 1:16 the filters can be accessed and changed 1:19 without taking anything else apart even 1:21 this is like ridiculous it's like solid 1:23 aluminium this is just basically a cover 1:25 the actual wavelengths of these are um 1:27 488 525 570 630 and 700 NM not sure what 1:32 the suffix on that perhaps that's the uh 1:34 the width of the spectral line say these 1:37 are very narrow band filters most of 1:39 them are you very little light through 1:41 so it's still very tight narrow band to 1:43 match the um fluoresence of the dies 1:45 they're using in the biochemical process 1:48 and obviously to reject the light that's 1:49 being fired at it from that Illuminator 1:51 box and then there's a there's a second 1:53 one of these lenses then the actual sort 1:55 of samples below that so uh very serious 1:58 amount of very uh chunky heavy Optics 2:01 okay let's take a look at this light 2:02 source made by company Lumen Dynamics 2:04 who are now part of 2:06 excelitas self-contained unit power 2:08 connector USB and this which one of the 2:11 Cable Bundle said was a TTL interface 2:14 USB wasn't used in uh the fluid 2:17 application output here and I think this 2:19 is an input for um light feedback I 2:21 don't if it's regulated or just a measur 2:23 measurement facility and the uh fiber 2:27 assembly 2:29 Square Inlet there and then there's two 2:32 outputs which have uh lens assemblies 2:35 and this small one which goes back into 2:37 that small Port just Loops out of here 2:40 straight back in So on this side we've 2:42 got the electronics which look pretty 2:44 straightforward we've got a bit of power 2:45 supply stuff over here and we've got 2:48 separate drivers for each wavelength now 2:50 interesting this is clearly been very 2:52 specifically made for this application 2:54 you I was half expecting like say some 2:56 generic drivers that could be used for a 2:58 number of different things but actually 3:00 literally specified the exact wavelength 3:02 on the PCB there is provision here for 3:04 385 NM which isn't populated but this is 3:07 clearly been designed very specifically 3:09 so these four drivers look the same but 3:10 then there's two higher power ones for 3:12 575 and 3:14 520 a slightly bigger heat sink on this 3:16 575 section there a p 24 which is 3:20 providing USB interface USB isolator the 3:23 USB interface just presents as a comport 3:26 I did have a quick look but I didn't 3:27 actually get anything sensible um I did 3:29 dump the Pi code out and there's a few 3:31 you a few sort of commands that you 3:32 could see in text but I didn't actually 3:34 manage to get it working properly I 3:36 found some software for related version 3:38 but it didn't seem to want to talk to it 3:39 but um I say that wasn't used for the 3:41 original application it might be quite 3:42 interesting to get try and get the Run 3:44 hours count out of it and the TTL 3:46 interface looks fairly straightforward 3:48 we've got positions for six opto 3:50 isolators but only five five are 3:52 installed so that corresponds with the 3:54 unused thing so I think this hopefully 3:56 should be as simple as just providing a 3:57 ttrl signal for each color to uh enable 4:00 it a big heat sink here which is there I 4:03 think there's like a big S of metal 4:04 plate through the middle of this that 4:05 all the leads are mounted on the other 4:07 side so this is heat sinking it with a 4:09 air flow from a uh just a fan in here 4:13 obviously don't have the air flow 4:14 anywhere near the Optics so conduction 4:17 cool through to this plate that's then 4:18 uh air cooled got some pots which are 4:21 presumably power 4:22 adjustments okay let's take a look at 4:24 the other side which is uh much more 4:27 interesting see we've got some uh very 4:31 uh neatly Twisted cable assemblies there 4:35 a bunch of leads so we've got one here 4:37 475 up here 430 NM 630 575 and 520 4:44 filters and dcro mirrors a quick way to 4:48 see what's white is if we just shine 4:49 some white light through 4:51 here not sure how it is is to see on the 4:54 camera but shining white light we do 4:55 actually get a bit of red a bit of blue 4:57 some yellow here so the obstacle path 5:00 575 it goes sort of here bounces off 5:03 this mirror and goes out the 520 goes 5:07 sort of down here across here and up 5:09 there 630 goes basically straight 5:13 through 5:15 430 goes across there down there along 5:17 there and the 475 goes down here and 5:20 left this is the light sensing thing 5:22 think here there's just a um I think 5:24 there a photo diode or other sensor 5:26 haven't actually taken that off and 5:28 everything's fixed down to this chunk of 5:31 aluminium which acts as the heat 5:32 spreader that then conducts the heat to 5:33 the back side for the heat 5:35 sink and the actual lead packages all 5:38 look fairly similar except for this one 5:41 on the 575 which looks quite a bit more 5:44 substantial big spay 5:46 Terminals and the interface for this 5:48 turned out to be extremely simple it's 5:50 literally a 5V TTL level to enable each 5:54 color doesn't seem to be any tensity 5:56 control but there are some additional 5:58 pins on that connector that weren't used 5:59 in the through time thing so maybe 6:01 there's some extra lines that control 6:02 that I couldn't find any data on this uh 6:05 unit and the um their current product 6:07 range is quite significantly different 6:09 so we've got the uh blue these 6:13 might may well be saturating the camera 6:16 so they might look a bit weird so that's 6:17 the 430 6:18 blue the 575 6:24 yellow uh 6:26 475 light blue 6:29 the uh 520 6:31 green and the uh 630 red now one 6:36 interesting thing I noticed for the 6:39 575 it's actually it's actually using a 6:42 white lead and then filtering it rather 6:44 than using all the other ones are using 6:46 leads which are the fundamental colors 6:47 but uh this is actually doing white and 6:50 it's a combination of this filter and 6:52 the dichroic mirrors that are turning to 6:55 Yellow if we take the filter out and a 6:57 lot of the a lot of the um blue content 7:00 is going this way the red is going 7:02 straight through these two mirrors so 7:05 this is clearly not reflecting much of 7:08 that so we end up with the yellow coming 7:10 out of uh out of there which is a fairly 7:14 light yellow color which you don't 7:16 really see from high intensity leads so 7:19 that's clearly why they've used the 7:20 white to uh do this power consumption of 7:23 the white is pretty high so going up to 7:25 about 2 and 1 half amps on that color 7:27 whereas most of the other colors are 7:28 only drawing half an amp or so at 24 7:30 volts the uh the green is up to about 7:32 1.2 but say this thing is uh much 7:35 brighter and if you actually run all the 7:38 colors at the same time you get a fairly 7:41 reasonable um looking white coming out 7:43 of it and one thing you might just be 7:45 out to notice is there is some sort 7:46 color banding around here that's not 7:49 getting uh everything s completely 7:51 concentric and I think that's where this 7:53 fiber optic thing comes 7:58 in I'll 8:00 get a couple of Fairly accurately shaped 8:04 very sort of uniform color and looking 8:06 at What's um inside here we've basically 8:09 just got this Square Rod so this is 8:12 clearly yeah the lights just bouncing 8:13 off all the all the various sides to um 8:16 get a nice uniform illumination uh this 8:19 back bit looks like it's all potted so 8:21 nothing I really do to get in there I 8:24 think this is fiber so I have come 8:26 across um cables like this which are 8:27 liquid fill but just looking through the 8:30 end of this it's probably a bit hard to 8:31 see it does look like there fiber ends 8:34 going going on there and so there's this 8:36 feedback thing which is just obviously 8:39 compensating for the any light losses 8:41 through here to get an accurate 8:43 representation of uh the light that's 8:45 been launched out of these two 8:47 fibers and you see uh 8:49 these have got this sort of trapezium 8:54 shape light guides again it's like a 8:56 sort of acrylic or glass light guide 9:00 guess projected just to make the right 9:03 rectangular 9:04 shape and look at this Center assembly 9:07 um the light output doesn't uh change 9:10 whether you feed this in or not so it's 9:11 clear not doing any internal Clos Loop 9:14 control obviously there may well be some 9:16 facility for it to do that but it's not 9:17 being used in this 9:19 application and so this output just 9:21 produces a voltage on the uh outle 9:24 connector proportional to the amount of 9:26 light that's present so there's a little 9:28 diffuser in the back there 9:30 and then there's just some kind of uh 9:33 Optical sensor looks like a 9:35 chip looking at the lead it's a very 9:37 small package on the PCB with this lens 9:40 assembly over the top and these look 9:43 like they're actually on a copper 9:44 Metalized PCB for maximum thermal 9:47 performance and yeah it's a very small 9:49 package looks like it's a ceramic 9:51 package and there's a thermister there 9:53 for temperature monitoring this is the 9:56 475 blue one this is the 520 need to 9:59 Green which is uh rather different OB 10:02 it's a much bigger D with lots of bond 10:04 wise but also this looks like it's using 10:05 a phosphor if I shine a blue light at it 10:08 lights up green so this is actually a 10:10 phosphor conversion green lead which 10:12 I've I've come across before they want 10:15 that specific wavelength so they may be 10:17 easier to tune a phosphor than tune the 10:20 um semiconductor material to get the uh 10:23 right right wavelength from the lead 10:24 directly uh red 630 similar size to the 10:28 blue one or does seem to have a uh a 10:31 lens on top of it there is a sort of red 10:33 coloring to 10:35 the die but that doesn't appear to be 10:38 fluorescent as far as I can 10:39 tell and the white one again a little 10:41 bit different sort of much higher 10:43 current 10:46 connectors a makeer name on that 10:48 connector flot light not sure if that's 10:52 the connector or the lead 10:54 itself and obviously with the phosphor 10:56 and I'd imagine that phosphor may well 10:58 be tuned to get the maximum to the uh 5 11:01 cenm and actually this white one looks 11:04 like a St fairly standard product I just 11:06 found it in Mouse made by luminous 11:09 devices in fact actually I think all 11:11 these are based on various luminous 11:13 devices modules and they're you take 11:17 looks like they taking the nearest 11:18 wavelength and then just using these 11:19 filters to clean it up to get a precise 11:22 uh spectral line out of it so quite a 11:25 nice neat and um extreme 11:30 bright light source uh sure I've got any 11:33 particular use for it so I think this 11:35 might end up on 11:36 eBay but uh very pretty to look out and 11:40 without the uh risk of burning your eyes 11:43 out like you do with lasers so I thought 11:45 it would be interesting to try and 11:46 figure out the runtime of this things 11:48 like this we usually keep some sort 11:49 record of runtime cuz leads degrade over 11:51 time I couldn't get any software to work 11:52 through the USB face but then had a 11:54 thought probably going to be writing the 11:55 runtime periodically to the e s prom so 11:58 I just just scope up that and noticed it 12:00 was doing right every 5 minutes so I 12:02 just ran it for a while periodically 12:04 reading the E squ I just held the pick 12:05 in in reset and um put clip over to read 12:07 the square prom and found it was writing 12:10 one location per color every 5 minutes 12:12 so if one color was on it would write 12:14 that location every 5 minutes and just 12:16 increment it by one so after doing a few 12:18 tests with different colors of different 12:19 time periods it looked extremely 12:21 straightforward it's like a four bite 12:22 count for each color looking at the 12:24 original data that was in it all the 12:26 colors apart from Green were reading 12:28 zero and the green was reading four 12:30 indicating a total 20 minutes run time 12:32 ever if it was turned on run for a short 12:34 time then turned off that might not have 12:36 been counted but even so indicates this 12:37 thing wasn't used a great deal the whole 12:40 s process of doing a run can be several 12:42 hours but it'll only be doing probably 12:43 the Imaging at the end of that so you 12:46 wouldn't expect to be running for a long 12:47 time but say a single color for 20 12:50 minutes over its whole lifetime does 12:52 seem a little bit on the low side okay 12:55 let's look at the camera un fortunately 12:57 I managed to not record any sound when I 12:58 did this it's also a couple of months 13:00 ago so there's going to be a few details 13:02 that I've forgotten so I'm just going to 13:04 dub this over the original footage so um 13:07 take the lid off see this massive great 13:10 heat sink so this is a pel cool camera 13:12 we've got this blower fan producing a 13:14 fair amount of air flow through 13:16 it the connector here there's the ccds 13:19 mounted on the board on the 13:24 right this unplugs so we've got a bit of 13:27 power supply stuff on here 13:29 USB interface I think that's the Cyprus 13:32 microcontroller High speeded USB 13:34 interface there's a zyink spon fpga some 13:40 RAM and there's a couple of ATD 13:42 converters can't quite read what those 13:45 those are but anal 13:47 devices um little bit of bodgery around 13:51 here extra decoupling obviously they 13:53 have having some noise issues this is 13:55 around the ram chip quite a lot of extra 13:57 capacitors been added there 13:59 uh there's a couple of amplifiers prior 14:01 to the HD converter buffers or Andor 14:05 amplifiers taking the CCD 14:08 signal um bit more power spy stuff here 14:11 this is probably all to do with 14:12 generating the various CCD bias voltages 14:14 they uh need quite a lot of exotic 14:18 voltages next board down is just a 14:20 shield and an interconnect 14:24 boardly shielding the power supply stuff 14:26 from some the more sensitive an log 14:28 stuff 14:31 and this is the bottom board which is 14:32 just all power supply 14:34 stuff as you can see tons of capacitors 14:37 or Transformer in 14:42 there and this is the CCD which is a uh 14:47 very impressive thing this is a kf50 100 14:50 originally by true sense then codec 14:53 there ON 14:54 Semiconductor it's 50 megapixels uh the 14:58 only price I could find was this one 15:00 5,000 bucks and the architecture you can 15:03 see there actually two separate halves 15:04 which explains the Dual AZ converters 15:06 and two amplifiers it's literally split 15:08 down the middle and duplicated so it's 15:10 outputting two streams in parallel just 15:13 to keep the bandwidth sensible and it's 15:15 got this amazing um diffraction effects 15:18 it's got micro lenses over the pixel so 15:20 there's there's a bit more Optics going 15:22 on than on a normal 15:25 sensor few more bodges on the CCD board 15:28 including this wire which isn't really 15:29 tacked down very well which is a bit uh 15:32 bit of a mess quite a few bits around 15:34 this board where they've uh tacked 15:36 various bits on which is not super 15:38 impressive looks like CCD drivers on the 15:40 left with those 3 ohm um damping 15:43 resistors on the 15:47 output get a few more little bodges 15:50 around here some of 15:52 the and there's this separator the 15:54 silica gel to keep the moisture down but 15:56 there's this separator that actually 15:58 appears to be cut from piece of 15:59 antistatic 16:04 bag and this sort of thermal block on 16:06 top of this stack of three pel Cola 16:12 modules so as with any Stacks they get 16:16 um larger as they go back towards the 16:18 heat sink because each P's got to not 16:20 only take the heat from the previous but 16:21 also the waste heat which is quite 16:27 significant you see a little temperature 16:29 sensor here that copper block which 16:32 makes contact with the back of the 16:37 CCD and this's the back of the 16:40 pelas this then contacts the heat sink 16:44 on the uh rear there a few thermal pads 16:46 as well for some of the other power 16:47 components on this 16:51 PCB okay I've connected this uh camera 16:54 up I found some drivers on the disc that 16:56 seem to work under Windows 7 couldn't 16:58 get to install under Windows 11 though 17:01 um in the absence of any sort of lens or 17:03 being bothered to the proper amount I've 17:04 just put some f over it and put a little 17:06 pin in there to make a pinhole lens and 17:08 software gives a few options I'm not 17:11 entirely sure what all these are there's 17:12 obviously a clock frequency 22 MHz low 17:15 gain and with PFG no idea what that is 17:19 something something game programmable 17:20 Something game perhaps ver exposure 17:23 types I think focus is just like a 17:25 continuous grab until you tell it to 17:27 stop not entirely sure all these options 17:30 are obviously exposure time uh triggers 17:33 there ex external hardware trigger inut 17:35 you just trigger using a um thing on 17:37 screen so the resolution is 8176 by 17:40 6132 and you can actually bin those 17:42 where you combine multiple pixels to get 17:46 increased gain at the expense of lower 17:48 resolution down this is a 10sec exposure 17:51 obviously of the pin hole it's very uh 17:53 intensitive so we just stand still now 17:56 downloading it there's the uh exposure 17:59 so when it's 18:01 um there's a little status thing down 18:03 here so that tells you the um exposure 18:07 [Applause] 18:09 time it's this is just it 18:15 downloading um it is quite I'm seeing 18:18 quite a lot like smearing I think that I 18:20 don't know whether that's just due to 18:21 pixels overloading or something else I 18:24 mean yeah it's not it's not um out of 18:26 the question that there's something not 18:27 totally right about this camera 18:28 certainly was bodge wise on there um I 18:31 don't I'd imagine a camera like this 18:32 it's got a fairly narrow range of 18:34 intensities that it's happy with I'm not 18:36 going to spend a great deal of time on 18:38 this if you're interested in this camera 18:40 maybe for astronomy or something and 18:42 happy to sort of take the risk of it may 18:44 not be uh perfect I'll um I think I'll 18:47 stick this on eBay along with the 18:48 Illuminator I'll put a link down in the 18:50 description to the listing take your 18:52 chances to grab a bargain so for example 18:54 here we see this vertical streaking so 18:56 I'm not sure how normal that is this is 18:58 on fairly bright scene looking out the 19:02 window if I cut the exposure time down 19:04 on that it's now 1 second 19:07 exposure again most of the image 19:09 disappears again this is looks like it's 19:11 possibly over still overloading here go 19:14 that go down to say say quarter a 19:16 second so again I think there might be 19:19 some Auto gain control going on here um 19:21 this is with the PFG option let's try 19:23 turning that off and see what 19:25 happens so I'm not sure this is actually 19:27 more streaking or which just it's 19:29 cranked up the gain all the dis display 19:31 gray scale to show what um you know the 19:33 range of things that it's captured 19:36 there's one of one of 12 things in the 19:38 software there's um you can see of you 19:40 can't seem to read out the temperature 19:42 of the pelta cooler but you can set the 19:44 temperature and if you said it's a 19:46 different temperature you see the power 19:48 consumption jump up running the cooler 19:50 to get the temperature you requested but 19:52 I can't see anything anywhere that tells 19:54 you whether the cool is at the at the 19:56 temperature other than the power 19:57 consumption going down and there's no 19:59 temperature read out 20:03 here and just some yeah this is just 20:05 sort of very basic software I'm sure 20:07 there's like an API for more 20:09 sophisticated 20:10 applications but so if you know anything 20:12 more about these cameras please um stick 20:14 in the 20:15 comments um incidentally when I was 20:18 editing I didn't notice there was a bent 20:19 pin on the um CCD but I did fix that 20:22 before doing these tests and also 20:24 reactivated the um silica gel desicant 20:26 cuz I noticed it was uh I was getting 20:28 bit of condensation on the window but um 20:31 yeah so a couple of uh interesting but 20:34 maybe not particularly uh useful pieces 20:37 of Kit except for someone that's got a 20:38 very specific use so um I'll stick a 20:42 I'll stick these on eBay put a link in 20:44 the description and say hopefully 20:45 someone could actually make some uh good 20:47 use of these things Example Output: **Abstract:** This video presents Part 2 of a teardown focusing on the optical components of a Fluidigm Polaris biotechnology instrument, specifically the multi-wavelength illuminator and the high-resolution CCD camera. The Lumen Dynamics illuminator unit is examined in detail, revealing its construction using multiple high-power LEDs (430nm, 475nm, 520nm, 575nm, 630nm) combined via dichroic mirrors and filters. A square fiber optic rod is used to homogenize the light. A notable finding is the use of a phosphor-converted white LED filtered to achieve the 575nm output. The unit features simple TTL activation for each color, conduction cooling, and internal homogenization optics. Analysis of its EEPROM suggests extremely low operational runtime. The camera module teardown showcases a 50 Megapixel ON Semiconductor KAF-50100 CCD sensor with micro-lenses, cooled by a multi-stage Peltier stack. The control electronics include an FPGA and a USB interface. Significant post-manufacturing modifications ("bodges") are observed on the camera's circuit boards. Basic functional testing using vendor software and a pinhole lens confirms image capture but reveals prominent vertical streaking artifacts, the cause of which remains uncertain (potential overload, readout artifact, or fault). **Exploring the Fluidigm Polaris: A Detailed Look at its High-End Optics and Camera System** * **0:00 High-End Optics:** The system utilizes heavy, high-quality lenses and mirrors for precise imaging, weighing around 4 kilos each. * **0:49 Narrow Band Filters:** A filter wheel with five narrow band filters (488, 525, 570, 630, and 700 nm) ensures accurate fluorescence detection and rejection of excitation light. * **2:01 Customizable Illumination:** The Lumen Dynamics light source offers five individually controllable LED wavelengths (430, 475, 520, 575, 630 nm) with varying power outputs. The 575nm yellow LED is uniquely achieved using a white LED with filtering. * **3:45 TTL Control:** The light source is controlled via a simple TTL interface, enabling easy on/off switching for each LED color. * **12:55 Sophisticated Camera:** The system includes a 50-megapixel Kodak KAI-50100 CCD camera with a Peltier cooling system for reduced noise. * **14:54 High-Speed Data Transfer:** The camera features dual analog-to-digital converters to manage the high data throughput of the 50-megapixel sensor, which is effectively two 25-megapixel sensors operating in parallel. * **18:11 Possible Issues:** The video creator noted some potential issues with the camera, including image smearing. * **18:11 Limited Dynamic Range:** The camera's sensor has a limited dynamic range, making it potentially challenging to capture scenes with a wide range of brightness levels. * **11:45 Low Runtime:** Internal data suggests the system has seen minimal usage, with only 20 minutes of recorded runtime for the green LED. * **20:38 Availability on eBay:** Both the illuminator and camera are expected to be listed for sale on eBay. Here is the real transcript. Please summarize it: 00:00:04 hello and welcome in today hands on 00:00:04 about 00:00:05 C0 and 00:00:07 timers we will try generate 00:00:11 PWM and measure frequency without any 00:00:15 impact to core i show you in three steps 00:00:19 how it may be used first step will be 00:00:23 simple generation of PWM signal for 00:00:26 onboard then we try periodically change 00:00:30 dat cycle using second timer and DMA and 00:00:35 last part it's about measuring of dat 00:00:38 cycle and period using s timer and 00:00:43 DMA first we have to create new project 00:00:46 in STM32 cube mix or cube IDE 00:00:52 now we will create new SDM32 00:01:03 project we will select 00:01:03 C01 00:01:06 C6 and this one is the best for us on 00:01:10 the nuclo board 00:01:23 we set 00:01:23 name 00:01:26 and now we can create 00:01:37 project at the start we set timer one to 00:01:37 generate PWM on channel one 00:01:41 on this channel it's connected on board 00:01:44 light and it's necessary set internal 00:01:47 clock as a 00:01:49 source in practice we will select timer 00:01:53 one clock source will be internal clock 00:01:58 and on channel one we will generate 00:02:09 PWM now it's necessary move connection 00:02:09 to channel one to proper pad on the 00:02:12 microcontroller there is possible use 00:02:15 control 00:02:16 key if you press uh control and then 00:02:21 other possible pins are show by 00:02:25 blinking and you can also use control 00:02:30 and 00:02:32 drag and it's pos simply possible change 00:02:36 pin to make this example more attractive 00:02:41 we will use low-level libraries instead 00:02:44 of hull hull abstraction layer library 00:02:48 and we must to change 00:03:04 level now we can continue with the clock 00:03:04 settings 00:03:06 we will use internal 48 MHz 00:03:10 oscillator simple 00:03:17 setting 00:03:17 and only we change this press clearer 00:03:21 and we will go on maximum speed of the 00:03:24 microcontroller 00:03:26 now we will set the timer or one herz 00:03:31 frequency and that is cycle 00:03:46 4,799 counter period 00:03:46 4 00:03:51 9 00:03:51 and PWM with period 00:04:05 5,000 and now it's necessary use this 00:04:05 cheat sheet and to section user code 00:04:08 begin to we will copy the 00:04:11 code now press this icon to generate 00:04:15 code for application 00:04:24 we are here and section 00:04:24 two it's 00:04:27 here all code is here only start timer 00:04:31 and the generation of 00:04:34 PWM now we can 00:04:43 build and download it to the 00:04:43 microcontroller 00:05:02 and if is everything is okay the onboard 00:05:02 light is 00:05:05 flashing and now it's time to set 00:05:08 frequency of the timer for to one herz 00:05:12 or let 00:05:13 blinking because mine clock is 48 00:05:17 MGHertz we need to divide by 48 millions 00:05:22 and it is divide two parts 00:05:26 4,800 for press scaler and 10,000 for 00:05:30 the counter press scaler must be set 00:05:35 minus one then 00:05:46 4,799 for counter it's same 00:05:46 situation 10 minus 00:05:50 one 00:05:52 and for PWM we 00:05:56 set that cycle to 50% 00:06:04 now we can save 00:06:04 changes and generate 00:06:08 code and now it's necessary to 00:06:18 copy this code for 00:06:18 initialization of the 00:06:28 timer to user code section 00:06:28 two which is here 00:06:38 and it's all what is necessary now we 00:06:38 can build the application and download 00:06:41 it to 00:06:49 microcontroller and if everything is 00:06:49 okay to like slowly 00:07:05 blinking now in the second part of our 00:07:05 presentation we will change frequency of 00:07:08 timer one to higher and we will be 00:07:10 change dat cycle to change let bright 00:07:15 second timer will be used for timing of 00:07:19 changes and DMA will be used to change 00:07:23 that cycle first we must activate it 00:07:28 timer 16 and set DMA settings for this 00:07:32 timer 00:07:54 we add DMA 00:07:54 request for update event which is 00:07:59 shorted to up i don't like it 00:08:02 but because it's same 00:08:06 as 00:08:08 up as opposite to 00:08:11 down transfer will be 00:08:14 done now we set timer 00:08:19 16 and it's a DMA for work 00:08:24 first we must activate it this timer and 00:08:28 then set DMA settings be at DMA transfer 00:08:32 from up event which is 00:08:36 update transfer will be done from memory 00:08:40 to 00:08:43 peripheral word 00:08:46 white and we will use circular mode all 00:08:51 necessary settings are done and we can 00:08:56 continue by change frequency for timer 00:09:00 one to 1 kilohz which will be 00:09:18 here and 00:09:21 then we set initial value 00:09:30 for pulse to 00:09:30 zero and then we change settings for 00:09:34 timer 00:09:51 be same as for one 00:09:51 herz and because now we need two two 00:09:56 hertz the period will be 00:10:00 only 00:10:09 4,999 and now we can Save and generate 00:10:09 code and 00:10:12 copy two piece of code to start our 00:10:33 code now we are in part two 00:10:33 first is definition of data cycles in 00:10:37 array it will 00:10:41 be copied to the section 00:11:06 two it's 00:11:06 larger because we need to start timer 00:11:10 one and timer 00:11:13 16 00:11:23 and 00:11:23 DMA that's it 00:12:12 and now in last 00:12:12 set section we will try set timer three 00:12:17 to measure parameters of signal 00:12:20 generated by timer one 00:12:23 we will use combine reset trigger mode 00:12:27 with input from 00:12:29 channela we will be count internal clock 00:12:33 we will use two channels one to 00:12:35 capture rising edge of signal and second 00:12:40 one to capture falling edge 00:12:52 now we enable timer 00:12:52 three in the combined reset trigger 00:13:03 mode trigger source will be 00:13:03 [Music] 00:13:10 from channel 00:13:10 one clock source 00:13:19 internal and channel one input capture 00:13:19 direct mode and channel one indirect 00:13:24 mode for the other settings we are 00:13:27 return back to 00:13:29 presentation we will use two DMA 00:13:33 channels both from peripheral to memory 00:13:37 and half worldwide and both in circular 00:13:53 mode for channel one from peripheral to 00:13:53 memory half row and 00:14:01 circular 00:14:01 and second 00:14:04 one per half 00:14:12 volt that's all is 00:14:12 set and we can 00:14:16 continue for timer three we will be 00:14:20 count one megahertz we can Count up to 00:14:25 full 00:14:41 range input capture on first channel 00:14:41 it's will be done on rising edge and on 00:14:45 channel one and for channel da it will 00:14:50 be connected 00:14:52 bit to channel one pin and falling 00:15:04 edge racising edge direct and falling 00:15:04 edge 00:15:05 indirect set to the same 00:15:15 signal no division and now we can 00:15:15 go to check the pin where is 00:15:19 the timer input connected by default 00:15:24 it's on 00:15:27 PA6 00:15:28 and it's visible that it 00:15:32 is and now it's 00:15:35 necessary simple hardware modification 00:15:38 on board put the jumper on connector 10 00:15:43 between pins 11 and 00:15:45 13 like you see on this 00:15:57 picture now as in previous cases we add 00:15:57 some 00:15:58 code now we save our set changes in IOC 00:16:04 file and generate code 00:16:15 and now we can add new 00:16:15 code to control timer 3 in application 00:16:22 first we 00:16:23 add two variables where will be stored 00:16:29 captured 00:16:36 values to section 00:16:37 zero 00:16:45 and there is 00:16:45 code for section 00:17:07 complicated because we start timer 00:17:07 one we prepare the MA to change compare 00:17:10 capture register of timer one and start 00:17:14 timer 16 which is triggering this 00:17:17 transfer then we prepare to DMA channels 00:17:21 for timer 3 to capture 00:17:24 values and at the end we start timer 3 00:17:30 and now we can start 00:17:33 debug to see if values are as we 00:17:53 expected and now we can see in falling 00:17:53 edge the data cycle in the number of
identifier: 2083
model: gemini-2.5-pro-exp-03-25| input-price: 1.25 output-price: 10.0 max-context-length: 128_000
host: 185.109.152.7
https://youtu.be/nyo88Ljbx_Q?feature=sharedinclude_comments: None
include_timestamps: 1
include_glossary: None
output_language: en
cost: 0.052745
Okay, here is the abstract and summary for the provided transcript, following the requested format. *Abstract:* This tutorial demonstrates how to utilize STM32 C0 microcontroller peripherals, specifically timers and Direct Memory Access (DMA), to generate Pulse Width Modulation (PWM) signals and measure their characteristics without significant CPU core intervention. Using STM32CubeIDE and Low-Level (LL) libraries, the video guides through three steps: first, setting up Timer 1 to generate a basic PWM signal controlling an onboard LED; second, using Timer 16 and DMA to periodically update the duty cycle of the Timer 1 PWM signal, creating a fading effect; and third, configuring Timer 3 in Input Capture mode with DMA to measure both the period (frequency) and pulse width (duty cycle) of the generated PWM signal by capturing rising and falling edges. The process involves configuring clocks, timers, DMA channels, relevant GPIO pins, and requires a simple hardware modification (jumper wire) on the Nucleo board to loop the PWM output back to a timer input. *STM32 C0 Timers & DMA: PWM Generation and Measurement Tutorial* * *0:00 Introduction:* The video aims to show how to generate PWM and measure its frequency/duty cycle using STM32 C0 timers and DMA, minimizing core load. This will be done in three steps. * *0:41 Timer 1 Setup for PWM:* Timer 1 is configured to generate a PWM signal on Channel 1, specifically targeting the onboard LED pin (requires pin remapping). Low-Level (LL) libraries are selected over HAL. * *1:23 Clock Configuration:* The microcontroller's system clock is set to 48 MHz using the internal HSI48 oscillator. * *2:49 Step 1 Configuration (1 Hz PWM):* Timer 1 is configured with a prescaler (4799) and counter period (9999) to achieve a 1 Hz frequency from the 48 MHz clock. The pulse value is set for a 50% duty cycle (5000). * *3:49 Step 1 Test & Verification:* Code is generated, copied, built, and downloaded. Successful execution results in the onboard LED blinking slowly at 1 Hz. * *4:15 Step 2 Goal (Dynamic Duty Cycle):* Introduce Timer 16 and DMA to periodically update the Timer 1 duty cycle. Timer 16 will provide timing, and DMA will transfer new duty cycle values from memory to Timer 1's Capture/Compare Register (CCR1). * *5:15 Step 2 Configuration:* Timer 1 frequency is increased to 1 kHz (prescaler 47, period 999). Timer 16 is set up to trigger updates at 2 Hz (prescaler 4799, period 4999). DMA channel is configured for Timer 16 update event (memory-to-peripheral, word size, circular mode). * *5:56 Step 2 Code Implementation:* An array holding different duty cycle values is defined. Initialization code for Timer 16 and its associated DMA channel is added and started. * *7:05 Step 3 Goal (PWM Measurement):* Configure Timer 3 to measure the period and pulse width of the PWM signal generated by Timer 1 using Input Capture and DMA. The "Combined Reset Trigger Mode" is employed. * *8:19 Step 3 Configuration:* Timer 3 is set up with a 1 MHz counting frequency (prescaler 47). Input Capture is configured on Channel 1 (rising edge, direct mode) and Channel 2 (falling edge, indirect mode), both triggered by the same input pin (TI1FP1). Two DMA channels are set up (peripheral-to-memory, half-word, circular) to capture the timer values on each edge event. * *9:19 Hardware Modification:* A physical jumper wire is required on the Nucleo board (CN10, Pins 11 to 13 suggested) to connect the Timer 1 PWM output pin to the Timer 3 Input Capture pin (PA6). * *9:45 Step 3 Code Implementation:* Variables are declared to store the captured values from DMA. Initialization code for Timer 3 and its two DMA channels is added and started. * *10:30 Debugging & Verification:* The application is built and run in debug mode to observe the `capture_ch1` (period) and `capture_ch2` (pulse width) variables being updated automatically by DMA, confirming the measurement works as expected. I used gemini-2.5-pro-exp-03-25| input-price: 1.25 output-price: 10.0 max-context-length: 128_000 on rocketrecap dot com to summarize the transcript. Cost (if I didn't use the free tier): $0.05 Input tokens: 14036 Output tokens: 3520
Okay, here is the abstract and summary for the provided transcript, following the requested format.
Abstract:
This tutorial demonstrates how to utilize STM32 C0 microcontroller peripherals, specifically timers and Direct Memory Access (DMA), to generate Pulse Width Modulation (PWM) signals and measure their characteristics without significant CPU core intervention. Using STM32CubeIDE and Low-Level (LL) libraries, the video guides through three steps: first, setting up Timer 1 to generate a basic PWM signal controlling an onboard LED; second, using Timer 16 and DMA to periodically update the duty cycle of the Timer 1 PWM signal, creating a fading effect; and third, configuring Timer 3 in Input Capture mode with DMA to measure both the period (frequency) and pulse width (duty cycle) of the generated PWM signal by capturing rising and falling edges. The process involves configuring clocks, timers, DMA channels, relevant GPIO pins, and requires a simple hardware modification (jumper wire) on the Nucleo board to loop the PWM output back to a timer input.
STM32 C0 Timers & DMA: PWM Generation and Measurement Tutorial
Below, I will provide input for an example video (comprising of title, description, and transcript, in this order) and the corresponding abstract and summary I expect. Afterward, I will provide a new transcript that I want you to summarize in the same format. **Please give an abstract of the transcript and then summarize the transcript in a self-contained bullet list format.** Include starting timestamps, important details and key takeaways. Example Input: Fluidigm Polaris Part 2- illuminator and camera mikeselectricstuff 131K subscribers Subscribed 369 Share Download Clip Save 5,857 views Aug 26, 2024 Fluidigm Polaris part 1 : • Fluidigm Polaris (Part 1) - Biotech g... Ebay listings: https://www.ebay.co.uk/usr/mikeselect... Merch https://mikeselectricstuff.creator-sp... Transcript Follow along using the transcript. Show transcript mikeselectricstuff 131K subscribers Videos About Support on Patreon 40 Comments @robertwatsonbath 6 hours ago Thanks Mike. Ooof! - with the level of bodgery going on around 15:48 I think shame would have made me do a board re spin, out of my own pocket if I had to. 1 Reply @Muonium1 9 hours ago The green LED looks different from the others and uses phosphor conversion because of the "green gap" problem where green InGaN emitters suffer efficiency droop at high currents. Phosphide based emitters don't start becoming efficient until around 600nm so also can't be used for high power green emitters. See the paper and plot by Matthias Auf der Maur in his 2015 paper on alloy fluctuations in InGaN as the cause of reduced external quantum efficiency at longer (green) wavelengths. 4 Reply 1 reply @tafsirnahian669 10 hours ago (edited) Can this be used as an astrophotography camera? Reply mikeselectricstuff · 1 reply @mikeselectricstuff 6 hours ago Yes, but may need a shutter to avoid light during readout Reply @2010craggy 11 hours ago Narrowband filters we use in Astronomy (Astrophotography) are sided- they work best passing light in one direction so I guess the arrows on the filter frames indicate which way round to install them in the filter wheel. 1 Reply @vitukz 12 hours ago A mate with Channel @extractions&ire could use it 2 Reply @RobertGallop 19 hours ago That LED module says it can go up to 28 amps!!! 21 amps for 100%. You should see what it does at 20 amps! Reply @Prophes0r 19 hours ago I had an "Oh SHIT!" moment when I realized that the weird trapezoidal shape of that light guide was for keystone correction of the light source. Very clever. 6 Reply @OneBiOzZ 20 hours ago given the cost of the CCD you think they could have run another PCB for it 9 Reply @tekvax01 21 hours ago $20 thousand dollars per minute of run time! 1 Reply @tekvax01 22 hours ago "We spared no expense!" John Hammond Jurassic Park. *(that's why this thing costs the same as a 50-seat Greyhound Bus coach!) Reply @florianf4257 22 hours ago The smearing on the image could be due to the fact that you don't use a shutter, so you see brighter stripes under bright areas of the image as you still iluminate these pixels while the sensor data ist shifted out towards the top. I experienced this effect back at university with a LN-Cooled CCD for Spectroscopy. The stripes disapeared as soon as you used the shutter instead of disabling it in the open position (but fokussing at 100ms integration time and continuous readout with a focal plane shutter isn't much fun). 12 Reply mikeselectricstuff · 1 reply @mikeselectricstuff 12 hours ago I didn't think of that, but makes sense 2 Reply @douro20 22 hours ago (edited) The red LED reminds me of one from Roithner Lasertechnik. I have a Symbol 2D scanner which uses two very bright LEDs from that company, one red and one red-orange. The red-orange is behind a lens which focuses it into an extremely narrow beam. 1 Reply @RicoElectrico 23 hours ago PFG is Pulse Flush Gate according to the datasheet. Reply @dcallan812 23 hours ago Very interesting. 2x Reply @littleboot_ 1 day ago Cool interesting device Reply @dav1dbone 1 day ago I've stripped large projectors, looks similar, wonder if some of those castings are a magnesium alloy? Reply @kevywevvy8833 1 day ago ironic that some of those Phlatlight modules are used in some of the cheapest disco lights. 1 Reply 1 reply @bill6255 1 day ago Great vid - gets right into subject in title, its packed with information, wraps up quickly. Should get a YT award! imho 3 Reply @JAKOB1977 1 day ago (edited) The whole sensor module incl. a 5 grand 50mpix sensor for 49 £.. highest bid atm Though also a limited CCD sensor, but for the right buyer its a steal at these relative low sums. Architecture Full Frame CCD (Square Pixels) Total Number of Pixels 8304 (H) × 6220 (V) = 51.6 Mp Number of Effective Pixels 8208 (H) × 6164 (V) = 50.5 Mp Number of Active Pixels 8176 (H) × 6132 (V) = 50.1 Mp Pixel Size 6.0 m (H) × 6.0 m (V) Active Image Size 49.1 mm (H) × 36.8 mm (V) 61.3 mm (Diagonal), 645 1.1x Optical Format Aspect Ratio 4:3 Horizontal Outputs 4 Saturation Signal 40.3 ke− Output Sensitivity 31 V/e− Quantum Efficiency KAF−50100−CAA KAF−50100−AAA KAF−50100−ABA (with Lens) 22%, 22%, 16% (Peak R, G, B) 25% 62% Read Noise (f = 18 MHz) 12.5 e− Dark Signal (T = 60°C) 42 pA/cm2 Dark Current Doubling Temperature 5.7°C Dynamic Range (f = 18 MHz) 70.2 dB Estimated Linear Dynamic Range (f = 18 MHz) 69.3 dB Charge Transfer Efficiency Horizontal Vertical 0.999995 0.999999 Blooming Protection (4 ms Exposure Time) 800X Saturation Exposure Maximum Date Rate 18 MHz Package Ceramic PGA Cover Glass MAR Coated, 2 Sides or Clear Glass Features • TRUESENSE Transparent Gate Electrode for High Sensitivity • Ultra-High Resolution • Board Dynamic Range • Low Noise Architecture • Large Active Imaging Area Applications • Digitization • Mapping/Aerial • Photography • Scientific Thx for the tear down Mike, always a joy Reply @martinalooksatthings 1 day ago 15:49 that is some great bodging on of caps, they really didn't want to respin that PCB huh 8 Reply @RhythmGamer 1 day ago Was depressed today and then a new mike video dropped and now I’m genuinely happy to get my tear down fix 1 Reply @dine9093 1 day ago (edited) Did you transfrom into Mr Blobby for a moment there? 2 Reply @NickNorton 1 day ago Thanks Mike. Your videos are always interesting. 5 Reply @KeritechElectronics 1 day ago Heavy optics indeed... Spare no expense, cost no object. Splendid build quality. The CCD is a thing of beauty! 1 Reply @YSoreil 1 day ago The pricing on that sensor is about right, I looked in to these many years ago when they were still in production since it's the only large sensor you could actually buy. Really cool to see one in the wild. 2 Reply @snik2pl 1 day ago That leds look like from led projector Reply @vincei4252 1 day ago TDI = Time Domain Integration ? 1 Reply @wolpumba4099 1 day ago (edited) Maybe the camera should not be illuminated during readout. From the datasheet of the sensor (Onsemi): saturation 40300 electrons, read noise 12.5 electrons per pixel @ 18MHz (quite bad). quantum efficiency 62% (if it has micro lenses), frame rate 1 Hz. lateral overflow drain to prevent blooming protects against 800x (factor increases linearly with exposure time) saturation exposure (32e6 electrons per pixel at 4ms exposure time), microlens has +/- 20 degree acceptance angle i guess it would be good for astrophotography 4 Reply @txm100 1 day ago (edited) Babe wake up a new mikeselectricstuff has dropped! 9 Reply @vincei4252 1 day ago That looks like a finger-lakes filter wheel, however, for astronomy they'd never use such a large stepper. 1 Reply @MRooodddvvv 1 day ago yaaaaay ! more overcomplicated optical stuff ! 4 Reply 1 reply @NoPegs 1 day ago He lives! 11 Reply 1 reply Transcript 0:00 so I've stripped all the bits of the 0:01 optical system so basically we've got 0:03 the uh the camera 0:05 itself which is mounted on this uh very 0:09 complex 0:10 adjustment thing which obviously to set 0:13 you the various tilt and uh alignment 0:15 stuff then there's two of these massive 0:18 lenses I've taken one of these apart I 0:20 think there's something like about eight 0:22 or nine Optical elements in here these 0:25 don't seem to do a great deal in terms 0:26 of electr magnification they're obiously 0:28 just about getting the image to where it 0:29 uh where it needs to be just so that 0:33 goes like that then this Optical block I 0:36 originally thought this was made of some 0:37 s crazy heavy material but it's just 0:39 really the sum of all these Optical bits 0:41 are just ridiculously heavy those lenses 0:43 are about 4 kilos each and then there's 0:45 this very heavy very solid um piece that 0:47 goes in the middle and this is so this 0:49 is the filter wheel assembly with a 0:51 hilariously oversized steper 0:53 motor driving this wheel with these very 0:57 large narrow band filters so we've got 1:00 various different shades of uh 1:03 filters there five Al together that 1:06 one's actually just showing up a silver 1:07 that's actually a a red but fairly low 1:10 transmission orangey red blue green 1:15 there's an excess cover on this side so 1:16 the filters can be accessed and changed 1:19 without taking anything else apart even 1:21 this is like ridiculous it's like solid 1:23 aluminium this is just basically a cover 1:25 the actual wavelengths of these are um 1:27 488 525 570 630 and 700 NM not sure what 1:32 the suffix on that perhaps that's the uh 1:34 the width of the spectral line say these 1:37 are very narrow band filters most of 1:39 them are you very little light through 1:41 so it's still very tight narrow band to 1:43 match the um fluoresence of the dies 1:45 they're using in the biochemical process 1:48 and obviously to reject the light that's 1:49 being fired at it from that Illuminator 1:51 box and then there's a there's a second 1:53 one of these lenses then the actual sort 1:55 of samples below that so uh very serious 1:58 amount of very uh chunky heavy Optics 2:01 okay let's take a look at this light 2:02 source made by company Lumen Dynamics 2:04 who are now part of 2:06 excelitas self-contained unit power 2:08 connector USB and this which one of the 2:11 Cable Bundle said was a TTL interface 2:14 USB wasn't used in uh the fluid 2:17 application output here and I think this 2:19 is an input for um light feedback I 2:21 don't if it's regulated or just a measur 2:23 measurement facility and the uh fiber 2:27 assembly 2:29 Square Inlet there and then there's two 2:32 outputs which have uh lens assemblies 2:35 and this small one which goes back into 2:37 that small Port just Loops out of here 2:40 straight back in So on this side we've 2:42 got the electronics which look pretty 2:44 straightforward we've got a bit of power 2:45 supply stuff over here and we've got 2:48 separate drivers for each wavelength now 2:50 interesting this is clearly been very 2:52 specifically made for this application 2:54 you I was half expecting like say some 2:56 generic drivers that could be used for a 2:58 number of different things but actually 3:00 literally specified the exact wavelength 3:02 on the PCB there is provision here for 3:04 385 NM which isn't populated but this is 3:07 clearly been designed very specifically 3:09 so these four drivers look the same but 3:10 then there's two higher power ones for 3:12 575 and 3:14 520 a slightly bigger heat sink on this 3:16 575 section there a p 24 which is 3:20 providing USB interface USB isolator the 3:23 USB interface just presents as a comport 3:26 I did have a quick look but I didn't 3:27 actually get anything sensible um I did 3:29 dump the Pi code out and there's a few 3:31 you a few sort of commands that you 3:32 could see in text but I didn't actually 3:34 manage to get it working properly I 3:36 found some software for related version 3:38 but it didn't seem to want to talk to it 3:39 but um I say that wasn't used for the 3:41 original application it might be quite 3:42 interesting to get try and get the Run 3:44 hours count out of it and the TTL 3:46 interface looks fairly straightforward 3:48 we've got positions for six opto 3:50 isolators but only five five are 3:52 installed so that corresponds with the 3:54 unused thing so I think this hopefully 3:56 should be as simple as just providing a 3:57 ttrl signal for each color to uh enable 4:00 it a big heat sink here which is there I 4:03 think there's like a big S of metal 4:04 plate through the middle of this that 4:05 all the leads are mounted on the other 4:07 side so this is heat sinking it with a 4:09 air flow from a uh just a fan in here 4:13 obviously don't have the air flow 4:14 anywhere near the Optics so conduction 4:17 cool through to this plate that's then 4:18 uh air cooled got some pots which are 4:21 presumably power 4:22 adjustments okay let's take a look at 4:24 the other side which is uh much more 4:27 interesting see we've got some uh very 4:31 uh neatly Twisted cable assemblies there 4:35 a bunch of leads so we've got one here 4:37 475 up here 430 NM 630 575 and 520 4:44 filters and dcro mirrors a quick way to 4:48 see what's white is if we just shine 4:49 some white light through 4:51 here not sure how it is is to see on the 4:54 camera but shining white light we do 4:55 actually get a bit of red a bit of blue 4:57 some yellow here so the obstacle path 5:00 575 it goes sort of here bounces off 5:03 this mirror and goes out the 520 goes 5:07 sort of down here across here and up 5:09 there 630 goes basically straight 5:13 through 5:15 430 goes across there down there along 5:17 there and the 475 goes down here and 5:20 left this is the light sensing thing 5:22 think here there's just a um I think 5:24 there a photo diode or other sensor 5:26 haven't actually taken that off and 5:28 everything's fixed down to this chunk of 5:31 aluminium which acts as the heat 5:32 spreader that then conducts the heat to 5:33 the back side for the heat 5:35 sink and the actual lead packages all 5:38 look fairly similar except for this one 5:41 on the 575 which looks quite a bit more 5:44 substantial big spay 5:46 Terminals and the interface for this 5:48 turned out to be extremely simple it's 5:50 literally a 5V TTL level to enable each 5:54 color doesn't seem to be any tensity 5:56 control but there are some additional 5:58 pins on that connector that weren't used 5:59 in the through time thing so maybe 6:01 there's some extra lines that control 6:02 that I couldn't find any data on this uh 6:05 unit and the um their current product 6:07 range is quite significantly different 6:09 so we've got the uh blue these 6:13 might may well be saturating the camera 6:16 so they might look a bit weird so that's 6:17 the 430 6:18 blue the 575 6:24 yellow uh 6:26 475 light blue 6:29 the uh 520 6:31 green and the uh 630 red now one 6:36 interesting thing I noticed for the 6:39 575 it's actually it's actually using a 6:42 white lead and then filtering it rather 6:44 than using all the other ones are using 6:46 leads which are the fundamental colors 6:47 but uh this is actually doing white and 6:50 it's a combination of this filter and 6:52 the dichroic mirrors that are turning to 6:55 Yellow if we take the filter out and a 6:57 lot of the a lot of the um blue content 7:00 is going this way the red is going 7:02 straight through these two mirrors so 7:05 this is clearly not reflecting much of 7:08 that so we end up with the yellow coming 7:10 out of uh out of there which is a fairly 7:14 light yellow color which you don't 7:16 really see from high intensity leads so 7:19 that's clearly why they've used the 7:20 white to uh do this power consumption of 7:23 the white is pretty high so going up to 7:25 about 2 and 1 half amps on that color 7:27 whereas most of the other colors are 7:28 only drawing half an amp or so at 24 7:30 volts the uh the green is up to about 7:32 1.2 but say this thing is uh much 7:35 brighter and if you actually run all the 7:38 colors at the same time you get a fairly 7:41 reasonable um looking white coming out 7:43 of it and one thing you might just be 7:45 out to notice is there is some sort 7:46 color banding around here that's not 7:49 getting uh everything s completely 7:51 concentric and I think that's where this 7:53 fiber optic thing comes 7:58 in I'll 8:00 get a couple of Fairly accurately shaped 8:04 very sort of uniform color and looking 8:06 at What's um inside here we've basically 8:09 just got this Square Rod so this is 8:12 clearly yeah the lights just bouncing 8:13 off all the all the various sides to um 8:16 get a nice uniform illumination uh this 8:19 back bit looks like it's all potted so 8:21 nothing I really do to get in there I 8:24 think this is fiber so I have come 8:26 across um cables like this which are 8:27 liquid fill but just looking through the 8:30 end of this it's probably a bit hard to 8:31 see it does look like there fiber ends 8:34 going going on there and so there's this 8:36 feedback thing which is just obviously 8:39 compensating for the any light losses 8:41 through here to get an accurate 8:43 representation of uh the light that's 8:45 been launched out of these two 8:47 fibers and you see uh 8:49 these have got this sort of trapezium 8:54 shape light guides again it's like a 8:56 sort of acrylic or glass light guide 9:00 guess projected just to make the right 9:03 rectangular 9:04 shape and look at this Center assembly 9:07 um the light output doesn't uh change 9:10 whether you feed this in or not so it's 9:11 clear not doing any internal Clos Loop 9:14 control obviously there may well be some 9:16 facility for it to do that but it's not 9:17 being used in this 9:19 application and so this output just 9:21 produces a voltage on the uh outle 9:24 connector proportional to the amount of 9:26 light that's present so there's a little 9:28 diffuser in the back there 9:30 and then there's just some kind of uh 9:33 Optical sensor looks like a 9:35 chip looking at the lead it's a very 9:37 small package on the PCB with this lens 9:40 assembly over the top and these look 9:43 like they're actually on a copper 9:44 Metalized PCB for maximum thermal 9:47 performance and yeah it's a very small 9:49 package looks like it's a ceramic 9:51 package and there's a thermister there 9:53 for temperature monitoring this is the 9:56 475 blue one this is the 520 need to 9:59 Green which is uh rather different OB 10:02 it's a much bigger D with lots of bond 10:04 wise but also this looks like it's using 10:05 a phosphor if I shine a blue light at it 10:08 lights up green so this is actually a 10:10 phosphor conversion green lead which 10:12 I've I've come across before they want 10:15 that specific wavelength so they may be 10:17 easier to tune a phosphor than tune the 10:20 um semiconductor material to get the uh 10:23 right right wavelength from the lead 10:24 directly uh red 630 similar size to the 10:28 blue one or does seem to have a uh a 10:31 lens on top of it there is a sort of red 10:33 coloring to 10:35 the die but that doesn't appear to be 10:38 fluorescent as far as I can 10:39 tell and the white one again a little 10:41 bit different sort of much higher 10:43 current 10:46 connectors a makeer name on that 10:48 connector flot light not sure if that's 10:52 the connector or the lead 10:54 itself and obviously with the phosphor 10:56 and I'd imagine that phosphor may well 10:58 be tuned to get the maximum to the uh 5 11:01 cenm and actually this white one looks 11:04 like a St fairly standard product I just 11:06 found it in Mouse made by luminous 11:09 devices in fact actually I think all 11:11 these are based on various luminous 11:13 devices modules and they're you take 11:17 looks like they taking the nearest 11:18 wavelength and then just using these 11:19 filters to clean it up to get a precise 11:22 uh spectral line out of it so quite a 11:25 nice neat and um extreme 11:30 bright light source uh sure I've got any 11:33 particular use for it so I think this 11:35 might end up on 11:36 eBay but uh very pretty to look out and 11:40 without the uh risk of burning your eyes 11:43 out like you do with lasers so I thought 11:45 it would be interesting to try and 11:46 figure out the runtime of this things 11:48 like this we usually keep some sort 11:49 record of runtime cuz leads degrade over 11:51 time I couldn't get any software to work 11:52 through the USB face but then had a 11:54 thought probably going to be writing the 11:55 runtime periodically to the e s prom so 11:58 I just just scope up that and noticed it 12:00 was doing right every 5 minutes so I 12:02 just ran it for a while periodically 12:04 reading the E squ I just held the pick 12:05 in in reset and um put clip over to read 12:07 the square prom and found it was writing 12:10 one location per color every 5 minutes 12:12 so if one color was on it would write 12:14 that location every 5 minutes and just 12:16 increment it by one so after doing a few 12:18 tests with different colors of different 12:19 time periods it looked extremely 12:21 straightforward it's like a four bite 12:22 count for each color looking at the 12:24 original data that was in it all the 12:26 colors apart from Green were reading 12:28 zero and the green was reading four 12:30 indicating a total 20 minutes run time 12:32 ever if it was turned on run for a short 12:34 time then turned off that might not have 12:36 been counted but even so indicates this 12:37 thing wasn't used a great deal the whole 12:40 s process of doing a run can be several 12:42 hours but it'll only be doing probably 12:43 the Imaging at the end of that so you 12:46 wouldn't expect to be running for a long 12:47 time but say a single color for 20 12:50 minutes over its whole lifetime does 12:52 seem a little bit on the low side okay 12:55 let's look at the camera un fortunately 12:57 I managed to not record any sound when I 12:58 did this it's also a couple of months 13:00 ago so there's going to be a few details 13:02 that I've forgotten so I'm just going to 13:04 dub this over the original footage so um 13:07 take the lid off see this massive great 13:10 heat sink so this is a pel cool camera 13:12 we've got this blower fan producing a 13:14 fair amount of air flow through 13:16 it the connector here there's the ccds 13:19 mounted on the board on the 13:24 right this unplugs so we've got a bit of 13:27 power supply stuff on here 13:29 USB interface I think that's the Cyprus 13:32 microcontroller High speeded USB 13:34 interface there's a zyink spon fpga some 13:40 RAM and there's a couple of ATD 13:42 converters can't quite read what those 13:45 those are but anal 13:47 devices um little bit of bodgery around 13:51 here extra decoupling obviously they 13:53 have having some noise issues this is 13:55 around the ram chip quite a lot of extra 13:57 capacitors been added there 13:59 uh there's a couple of amplifiers prior 14:01 to the HD converter buffers or Andor 14:05 amplifiers taking the CCD 14:08 signal um bit more power spy stuff here 14:11 this is probably all to do with 14:12 generating the various CCD bias voltages 14:14 they uh need quite a lot of exotic 14:18 voltages next board down is just a 14:20 shield and an interconnect 14:24 boardly shielding the power supply stuff 14:26 from some the more sensitive an log 14:28 stuff 14:31 and this is the bottom board which is 14:32 just all power supply 14:34 stuff as you can see tons of capacitors 14:37 or Transformer in 14:42 there and this is the CCD which is a uh 14:47 very impressive thing this is a kf50 100 14:50 originally by true sense then codec 14:53 there ON 14:54 Semiconductor it's 50 megapixels uh the 14:58 only price I could find was this one 15:00 5,000 bucks and the architecture you can 15:03 see there actually two separate halves 15:04 which explains the Dual AZ converters 15:06 and two amplifiers it's literally split 15:08 down the middle and duplicated so it's 15:10 outputting two streams in parallel just 15:13 to keep the bandwidth sensible and it's 15:15 got this amazing um diffraction effects 15:18 it's got micro lenses over the pixel so 15:20 there's there's a bit more Optics going 15:22 on than on a normal 15:25 sensor few more bodges on the CCD board 15:28 including this wire which isn't really 15:29 tacked down very well which is a bit uh 15:32 bit of a mess quite a few bits around 15:34 this board where they've uh tacked 15:36 various bits on which is not super 15:38 impressive looks like CCD drivers on the 15:40 left with those 3 ohm um damping 15:43 resistors on the 15:47 output get a few more little bodges 15:50 around here some of 15:52 the and there's this separator the 15:54 silica gel to keep the moisture down but 15:56 there's this separator that actually 15:58 appears to be cut from piece of 15:59 antistatic 16:04 bag and this sort of thermal block on 16:06 top of this stack of three pel Cola 16:12 modules so as with any Stacks they get 16:16 um larger as they go back towards the 16:18 heat sink because each P's got to not 16:20 only take the heat from the previous but 16:21 also the waste heat which is quite 16:27 significant you see a little temperature 16:29 sensor here that copper block which 16:32 makes contact with the back of the 16:37 CCD and this's the back of the 16:40 pelas this then contacts the heat sink 16:44 on the uh rear there a few thermal pads 16:46 as well for some of the other power 16:47 components on this 16:51 PCB okay I've connected this uh camera 16:54 up I found some drivers on the disc that 16:56 seem to work under Windows 7 couldn't 16:58 get to install under Windows 11 though 17:01 um in the absence of any sort of lens or 17:03 being bothered to the proper amount I've 17:04 just put some f over it and put a little 17:06 pin in there to make a pinhole lens and 17:08 software gives a few options I'm not 17:11 entirely sure what all these are there's 17:12 obviously a clock frequency 22 MHz low 17:15 gain and with PFG no idea what that is 17:19 something something game programmable 17:20 Something game perhaps ver exposure 17:23 types I think focus is just like a 17:25 continuous grab until you tell it to 17:27 stop not entirely sure all these options 17:30 are obviously exposure time uh triggers 17:33 there ex external hardware trigger inut 17:35 you just trigger using a um thing on 17:37 screen so the resolution is 8176 by 17:40 6132 and you can actually bin those 17:42 where you combine multiple pixels to get 17:46 increased gain at the expense of lower 17:48 resolution down this is a 10sec exposure 17:51 obviously of the pin hole it's very uh 17:53 intensitive so we just stand still now 17:56 downloading it there's the uh exposure 17:59 so when it's 18:01 um there's a little status thing down 18:03 here so that tells you the um exposure 18:07 [Applause] 18:09 time it's this is just it 18:15 downloading um it is quite I'm seeing 18:18 quite a lot like smearing I think that I 18:20 don't know whether that's just due to 18:21 pixels overloading or something else I 18:24 mean yeah it's not it's not um out of 18:26 the question that there's something not 18:27 totally right about this camera 18:28 certainly was bodge wise on there um I 18:31 don't I'd imagine a camera like this 18:32 it's got a fairly narrow range of 18:34 intensities that it's happy with I'm not 18:36 going to spend a great deal of time on 18:38 this if you're interested in this camera 18:40 maybe for astronomy or something and 18:42 happy to sort of take the risk of it may 18:44 not be uh perfect I'll um I think I'll 18:47 stick this on eBay along with the 18:48 Illuminator I'll put a link down in the 18:50 description to the listing take your 18:52 chances to grab a bargain so for example 18:54 here we see this vertical streaking so 18:56 I'm not sure how normal that is this is 18:58 on fairly bright scene looking out the 19:02 window if I cut the exposure time down 19:04 on that it's now 1 second 19:07 exposure again most of the image 19:09 disappears again this is looks like it's 19:11 possibly over still overloading here go 19:14 that go down to say say quarter a 19:16 second so again I think there might be 19:19 some Auto gain control going on here um 19:21 this is with the PFG option let's try 19:23 turning that off and see what 19:25 happens so I'm not sure this is actually 19:27 more streaking or which just it's 19:29 cranked up the gain all the dis display 19:31 gray scale to show what um you know the 19:33 range of things that it's captured 19:36 there's one of one of 12 things in the 19:38 software there's um you can see of you 19:40 can't seem to read out the temperature 19:42 of the pelta cooler but you can set the 19:44 temperature and if you said it's a 19:46 different temperature you see the power 19:48 consumption jump up running the cooler 19:50 to get the temperature you requested but 19:52 I can't see anything anywhere that tells 19:54 you whether the cool is at the at the 19:56 temperature other than the power 19:57 consumption going down and there's no 19:59 temperature read out 20:03 here and just some yeah this is just 20:05 sort of very basic software I'm sure 20:07 there's like an API for more 20:09 sophisticated 20:10 applications but so if you know anything 20:12 more about these cameras please um stick 20:14 in the 20:15 comments um incidentally when I was 20:18 editing I didn't notice there was a bent 20:19 pin on the um CCD but I did fix that 20:22 before doing these tests and also 20:24 reactivated the um silica gel desicant 20:26 cuz I noticed it was uh I was getting 20:28 bit of condensation on the window but um 20:31 yeah so a couple of uh interesting but 20:34 maybe not particularly uh useful pieces 20:37 of Kit except for someone that's got a 20:38 very specific use so um I'll stick a 20:42 I'll stick these on eBay put a link in 20:44 the description and say hopefully 20:45 someone could actually make some uh good 20:47 use of these things Example Output: **Abstract:** This video presents Part 2 of a teardown focusing on the optical components of a Fluidigm Polaris biotechnology instrument, specifically the multi-wavelength illuminator and the high-resolution CCD camera. The Lumen Dynamics illuminator unit is examined in detail, revealing its construction using multiple high-power LEDs (430nm, 475nm, 520nm, 575nm, 630nm) combined via dichroic mirrors and filters. A square fiber optic rod is used to homogenize the light. A notable finding is the use of a phosphor-converted white LED filtered to achieve the 575nm output. The unit features simple TTL activation for each color, conduction cooling, and internal homogenization optics. Analysis of its EEPROM suggests extremely low operational runtime. The camera module teardown showcases a 50 Megapixel ON Semiconductor KAF-50100 CCD sensor with micro-lenses, cooled by a multi-stage Peltier stack. The control electronics include an FPGA and a USB interface. Significant post-manufacturing modifications ("bodges") are observed on the camera's circuit boards. Basic functional testing using vendor software and a pinhole lens confirms image capture but reveals prominent vertical streaking artifacts, the cause of which remains uncertain (potential overload, readout artifact, or fault). **Exploring the Fluidigm Polaris: A Detailed Look at its High-End Optics and Camera System** * **0:00 High-End Optics:** The system utilizes heavy, high-quality lenses and mirrors for precise imaging, weighing around 4 kilos each. * **0:49 Narrow Band Filters:** A filter wheel with five narrow band filters (488, 525, 570, 630, and 700 nm) ensures accurate fluorescence detection and rejection of excitation light. * **2:01 Customizable Illumination:** The Lumen Dynamics light source offers five individually controllable LED wavelengths (430, 475, 520, 575, 630 nm) with varying power outputs. The 575nm yellow LED is uniquely achieved using a white LED with filtering. * **3:45 TTL Control:** The light source is controlled via a simple TTL interface, enabling easy on/off switching for each LED color. * **12:55 Sophisticated Camera:** The system includes a 50-megapixel Kodak KAI-50100 CCD camera with a Peltier cooling system for reduced noise. * **14:54 High-Speed Data Transfer:** The camera features dual analog-to-digital converters to manage the high data throughput of the 50-megapixel sensor, which is effectively two 25-megapixel sensors operating in parallel. * **18:11 Possible Issues:** The video creator noted some potential issues with the camera, including image smearing. * **18:11 Limited Dynamic Range:** The camera's sensor has a limited dynamic range, making it potentially challenging to capture scenes with a wide range of brightness levels. * **11:45 Low Runtime:** Internal data suggests the system has seen minimal usage, with only 20 minutes of recorded runtime for the green LED. * **20:38 Availability on eBay:** Both the illuminator and camera are expected to be listed for sale on eBay. Here is the real transcript. Please summarize it: 00:00:04 hello and welcome in today hands on 00:00:04 about 00:00:05 C0 and 00:00:07 timers we will try generate 00:00:11 PWM and measure frequency without any 00:00:15 impact to core i show you in three steps 00:00:19 how it may be used first step will be 00:00:23 simple generation of PWM signal for 00:00:26 onboard then we try periodically change 00:00:30 dat cycle using second timer and DMA and 00:00:35 last part it's about measuring of dat 00:00:38 cycle and period using s timer and 00:00:43 DMA first we have to create new project 00:00:46 in STM32 cube mix or cube IDE 00:00:52 now we will create new SDM32 00:01:03 project we will select 00:01:03 C01 00:01:06 C6 and this one is the best for us on 00:01:10 the nuclo board 00:01:23 we set 00:01:23 name 00:01:26 and now we can create 00:01:37 project at the start we set timer one to 00:01:37 generate PWM on channel one 00:01:41 on this channel it's connected on board 00:01:44 light and it's necessary set internal 00:01:47 clock as a 00:01:49 source in practice we will select timer 00:01:53 one clock source will be internal clock 00:01:58 and on channel one we will generate 00:02:09 PWM now it's necessary move connection 00:02:09 to channel one to proper pad on the 00:02:12 microcontroller there is possible use 00:02:15 control 00:02:16 key if you press uh control and then 00:02:21 other possible pins are show by 00:02:25 blinking and you can also use control 00:02:30 and 00:02:32 drag and it's pos simply possible change 00:02:36 pin to make this example more attractive 00:02:41 we will use low-level libraries instead 00:02:44 of hull hull abstraction layer library 00:02:48 and we must to change 00:03:04 level now we can continue with the clock 00:03:04 settings 00:03:06 we will use internal 48 MHz 00:03:10 oscillator simple 00:03:17 setting 00:03:17 and only we change this press clearer 00:03:21 and we will go on maximum speed of the 00:03:24 microcontroller 00:03:26 now we will set the timer or one herz 00:03:31 frequency and that is cycle 00:03:46 4,799 counter period 00:03:46 4 00:03:51 9 00:03:51 and PWM with period 00:04:05 5,000 and now it's necessary use this 00:04:05 cheat sheet and to section user code 00:04:08 begin to we will copy the 00:04:11 code now press this icon to generate 00:04:15 code for application 00:04:24 we are here and section 00:04:24 two it's 00:04:27 here all code is here only start timer 00:04:31 and the generation of 00:04:34 PWM now we can 00:04:43 build and download it to the 00:04:43 microcontroller 00:05:02 and if is everything is okay the onboard 00:05:02 light is 00:05:05 flashing and now it's time to set 00:05:08 frequency of the timer for to one herz 00:05:12 or let 00:05:13 blinking because mine clock is 48 00:05:17 MGHertz we need to divide by 48 millions 00:05:22 and it is divide two parts 00:05:26 4,800 for press scaler and 10,000 for 00:05:30 the counter press scaler must be set 00:05:35 minus one then 00:05:46 4,799 for counter it's same 00:05:46 situation 10 minus 00:05:50 one 00:05:52 and for PWM we 00:05:56 set that cycle to 50% 00:06:04 now we can save 00:06:04 changes and generate 00:06:08 code and now it's necessary to 00:06:18 copy this code for 00:06:18 initialization of the 00:06:28 timer to user code section 00:06:28 two which is here 00:06:38 and it's all what is necessary now we 00:06:38 can build the application and download 00:06:41 it to 00:06:49 microcontroller and if everything is 00:06:49 okay to like slowly 00:07:05 blinking now in the second part of our 00:07:05 presentation we will change frequency of 00:07:08 timer one to higher and we will be 00:07:10 change dat cycle to change let bright 00:07:15 second timer will be used for timing of 00:07:19 changes and DMA will be used to change 00:07:23 that cycle first we must activate it 00:07:28 timer 16 and set DMA settings for this 00:07:32 timer 00:07:54 we add DMA 00:07:54 request for update event which is 00:07:59 shorted to up i don't like it 00:08:02 but because it's same 00:08:06 as 00:08:08 up as opposite to 00:08:11 down transfer will be 00:08:14 done now we set timer 00:08:19 16 and it's a DMA for work 00:08:24 first we must activate it this timer and 00:08:28 then set DMA settings be at DMA transfer 00:08:32 from up event which is 00:08:36 update transfer will be done from memory 00:08:40 to 00:08:43 peripheral word 00:08:46 white and we will use circular mode all 00:08:51 necessary settings are done and we can 00:08:56 continue by change frequency for timer 00:09:00 one to 1 kilohz which will be 00:09:18 here and 00:09:21 then we set initial value 00:09:30 for pulse to 00:09:30 zero and then we change settings for 00:09:34 timer 00:09:51 be same as for one 00:09:51 herz and because now we need two two 00:09:56 hertz the period will be 00:10:00 only 00:10:09 4,999 and now we can Save and generate 00:10:09 code and 00:10:12 copy two piece of code to start our 00:10:33 code now we are in part two 00:10:33 first is definition of data cycles in 00:10:37 array it will 00:10:41 be copied to the section 00:11:06 two it's 00:11:06 larger because we need to start timer 00:11:10 one and timer 00:11:13 16 00:11:23 and 00:11:23 DMA that's it 00:12:12 and now in last 00:12:12 set section we will try set timer three 00:12:17 to measure parameters of signal 00:12:20 generated by timer one 00:12:23 we will use combine reset trigger mode 00:12:27 with input from 00:12:29 channela we will be count internal clock 00:12:33 we will use two channels one to 00:12:35 capture rising edge of signal and second 00:12:40 one to capture falling edge 00:12:52 now we enable timer 00:12:52 three in the combined reset trigger 00:13:03 mode trigger source will be 00:13:03 [Music] 00:13:10 from channel 00:13:10 one clock source 00:13:19 internal and channel one input capture 00:13:19 direct mode and channel one indirect 00:13:24 mode for the other settings we are 00:13:27 return back to 00:13:29 presentation we will use two DMA 00:13:33 channels both from peripheral to memory 00:13:37 and half worldwide and both in circular 00:13:53 mode for channel one from peripheral to 00:13:53 memory half row and 00:14:01 circular 00:14:01 and second 00:14:04 one per half 00:14:12 volt that's all is 00:14:12 set and we can 00:14:16 continue for timer three we will be 00:14:20 count one megahertz we can Count up to 00:14:25 full 00:14:41 range input capture on first channel 00:14:41 it's will be done on rising edge and on 00:14:45 channel one and for channel da it will 00:14:50 be connected 00:14:52 bit to channel one pin and falling 00:15:04 edge racising edge direct and falling 00:15:04 edge 00:15:05 indirect set to the same 00:15:15 signal no division and now we can 00:15:15 go to check the pin where is 00:15:19 the timer input connected by default 00:15:24 it's on 00:15:27 PA6 00:15:28 and it's visible that it 00:15:32 is and now it's 00:15:35 necessary simple hardware modification 00:15:38 on board put the jumper on connector 10 00:15:43 between pins 11 and 00:15:45 13 like you see on this 00:15:57 picture now as in previous cases we add 00:15:57 some 00:15:58 code now we save our set changes in IOC 00:16:04 file and generate code 00:16:15 and now we can add new 00:16:15 code to control timer 3 in application 00:16:22 first we 00:16:23 add two variables where will be stored 00:16:29 captured 00:16:36 values to section 00:16:37 zero 00:16:45 and there is 00:16:45 code for section 00:17:07 complicated because we start timer 00:17:07 one we prepare the MA to change compare 00:17:10 capture register of timer one and start 00:17:14 timer 16 which is triggering this 00:17:17 transfer then we prepare to DMA channels 00:17:21 for timer 3 to capture 00:17:24 values and at the end we start timer 3 00:17:30 and now we can start 00:17:33 debug to see if values are as we 00:17:53 expected and now we can see in falling 00:17:53 edge the data cycle in the number of