Arduino firmware for controlling LED illumination systems in fluorescence microscopy applications, particularly for FRET (Förster Resonance Energy Transfer) experiments.
This repository contains Arduino sketches that work in conjunction with the EnhancedLEDControl MATLAB application to provide precise hardware-level control of LED systems.
The main Arduino firmware for the enhanced LED control system.
Key Components:
Enhanced_LEDControl_Arduino.ino- Main sketch fileFRET.ino- FRET-specific illumination sequencesFRETwPulse.ino- FRET with pulsed illumination supportLight.ino- Basic LED control functionscomplexLight.ino- Advanced illumination patternsFunctions.ino- Utility functions and helpers
Updated version with additional features and bug fixes for FRET applications.
Original FRET LED control implementation.
- Serial communication with MATLAB/computer control software
- Multi-channel LED control
- PWM-based intensity adjustment
- Support for complex illumination sequences
- FRET-optimized timing protocols
- Pulsed illumination capabilities
- Arduino board (Mega or compatible)
- LED driver circuits
- Power supply for LEDs
- Serial USB connection to computer
For detailed hardware setup, refer to the arduinoLEDcontrolunit repository.
- Install the Arduino IDE
- Clone or download this repository
- Open the desired sketch folder (recommended:
Enhanced_LEDControl_Arduino) - Upload to your Arduino board
- Connect the Arduino to your LED control hardware
The Arduino firmware receives commands via serial communication from the MATLAB control software:
- Upload the firmware to your Arduino
- Connect LEDs according to your hardware configuration
- Launch the EnhancedLEDControl MATLAB application
- Configure the serial port in the software
- Control LEDs through the graphical interface
The firmware listens for serial commands to control LED states, intensities, and timing sequences. Commands are sent from the host computer application.
Works with:
- EnhancedLEDControl - MATLAB-based control software
Contributions, bug reports, and feature requests are welcome. Please open an issue or submit a pull request.
Please refer to the repository license file for usage terms and conditions.