This page documents the LED-based optogenetic stimulator modules, which use the shared modular electronics platform to drive LEDs for optogenetic experiments (e.g. CsChrimson activation in Drosophila).

<aside> ℹ️

For PCB design, Arduino wiring, and Darlington array details, see New modular structure and new electronics. For motor assembly (relevant to MODULE 3), see The new Modular SD Device.

</aside>

Overview

Two MODULE types support LED outputs:

MODULE Name Outputs Python Class
3 — mAGOLED Motor + LED 10 motors (odd channels) + 10 LEDs (even channels) OptomotorSleepDepriver
4 — LED LED only 20 LEDs (all channels) OptoSleepDepriver

LED Wiring

LEDs connect to the same Darlington array output pins as motors or valves would. Each channel can sink up to 500 mA through the ULN2803 arrays. Typical optogenetic LEDs draw far less than this.

For MODULE 3 (mAGOLED): LEDs are wired to the even-numbered connector positions (V1–V10 on the PCB, channels 0, 2, 4, 6, 8, 10, 12, 14, 16, 18). Motors use the odd channels (M1–M10).

For MODULE 4 (LED only): All 20 connector positions drive LEDs (channels 0–19). Use both the M and V connectors on the PCB.

Each LED requires a current-limiting resistor appropriate for the LED's forward voltage and desired current. Wire the LED + resistor in series between the positive power rail and the Darlington array output.

Channel Mapping to ROIs

MODULE 3 — OptomotorSleepDepriver

Motors and LEDs are paired per ROI. Each ROI has an associated motor channel (odd) and an LED channel (even):

ROI Motor Channel LED Channel
1 1 0
3 3 2
5 5 4
7 7 6
9 9 8
12 11 10
14 13 12
16 15 14
18 17 16
20 19 18

MODULE 4 — OptoSleepDepriver

All 20 channels are LEDs, with mAGO-style numbering (two LEDs per physical position, one on each side):

ROI LED Channel
1 0
2 10
3 2
4 12
5 4
6 14
7 6
8 16
9 8
10 18

Serial Commands

The Arduino firmware supports two LED control commands:

P — Simple Pulse