Work in progress. Recorded from NI Measurement & Automation Explorer (NI-MAX) on the animal-facility rig PC.
- Device name:
Dev1 - Model: National Instruments PCIe-6321
- Serial number:
01C8BE45 - NI-MAX status during inventory: Present
- Device temperature during inventory: approximately 32.8 °C
- Earlier project notes incorrectly assumed PCIe-6251; use the live PCIe-6321 configuration as authoritative.
SimDev1is an NI simulated DAQ device, not the physical rig card; do not assign live tasks to it.
Calibration information shown by NI-MAX:
- External calibration: 13 September 2017
- Recommended next external calibration: 13 September 2019 (overdue)
- Last self-calibration: 13 August 2022
Do not initiate calibration during wiring/inventory. Flag the overdue external calibration to the lab and decide separately whether traceable analog accuracy is required before experiments.
NI-MAX device configuration:
- Connector 0 accessory setting: None
port0power-up state: all eight lines tristated (high-impedance)
Configuration backup:
- Full NI-DAQmx 17.0 configuration exported from
My Systemon 20/08/26 after the X/Y-order fix and successful GitHub-copy bench test. - Repository file:
ni-max/JoystickPushTask_NIMAX_2026-08-20.nce - This is a disaster-recovery snapshot, not a substitute for reviewing physical channels before import. Inline DAQmx channels created directly by LabVIEW may not appear as saved tasks.
Official PCIe-6321 capacity:
- 16 single-ended or 8 differential analog inputs
- 2 analog outputs
- 24 bidirectional digital I/O lines
- 4 general-purpose counters (
ctr0–ctr3)
Other devices visible in NI-MAX:
- PS3Eye Camera →
cam2 - DMK 37BUX287 camera →
cam3 - Serial port →
COM1 - USB3 Vision Device (unused) →
USB-0
joysticklickframejoysticklickframe_pushMagnets_Dev1MagnetPush_Dev1Water_Dev1SuccessCue_Dev1LickSpout_Dev1rest_pad_test_Dev1success_cue_test_Dev1lick_spout_motor_test_Dev1frame counter_Dev1MyPulseOutputTasktesting1blox_2labviews
- The edited behavioural-rig hierarchy was imported into the repository as
Push Behaviour_MCHALABI.vi; untouchedPull_Behaviour_march2020remains the fallback. - Screenshots confirm the expected parameter loader, five-case trial state machine, occurrence-driven water loop, and lower occurrence-driven perturbation/laser loop.
- The working push VI now performs:
cue HIGH → cue wait → cue LOW → reward delay → spout extend → settle → water HIGH → explicit watertime wait → water LOW → consumption wait → spout retract. - The lower occurrence loop contains both
Magnets_Dev1analog writes andDev1/ctr1laser-pulse generation. Magnet support was preserved but converted toMagnetPush_Dev1on AO0 only; the laser branch was not removed. avg joystick and frame trig lick3.viusesjoysticklickframewith DAQmx Analog 2DNChan NSamp, averages indexed channels 0–3, builds a four-value array, and enqueues it asjoystick pos. A push-specific copy of the NI-MAX task can addDev1/ai2as the third channel, making rest-pad voltage queue element index 2 without restructuring the acquisition loop.- Keep the original global
joysticklickframetask unchanged; point the working-copy subVI to a new task namedjoysticklickframe_push. - The attempted LabVIEW Duplicate hierarchy to new location copy was deleted because the expected
VI was not present in the selected folder. The entire containing folder was then copied manually
and marked with the suffix
- PushVersion - working. This is the push-task working hierarchy; the originalLabView filesfolder remains the untouched operational baseline. - Git cannot automatically merge independently changed
.vibinaries. - Core working-VI bench validation passed 18/08/26: first-trial rest-pad gating, cue, spout extension, primed water delivery, consumption wait and retraction all worked across three spaced successful trials. Fail/timeout behavior was also reported working. Abort-path output cleanup has not been specifically validated.
- Fresh GitHub-copy validation passed on the rig PC 20/08/26 after correcting the NI-MAX X/Y channel
order and replacing the repository's unusable
frame counter.viwith the compatible copy from the working hierarchy. The main VI opened with a healthy Run arrow and completed the full bench sequence. - Safe startup/normal shutdown validated 20/08/26:
- one-shot startup sequence commands
Water_Dev1=False,SuccessCue_Dev1=False,LickSpoutMotor_Dev1=0 VandMagnetPush_Dev1=0 V; - stale runtime task references
Magnetsandframe counterwere corrected toMagnetPush_Dev1andframe counter_Dev1; - invalid UI-control references could not stop the asynchronous acquisition/frame-counter VIs, so
required helper
PushTask Globals.vinow distributes one Booleanstop allsignal; - the canonical main Stop now ends all parallel loops and returns the Run arrow to idle without DAQ errors. Idle, reward-delay and spout-extended Stop tests passed with water/cue OFF and final spout retraction.
- one-shot startup sequence commands
- Toolbar Abort Execution remains emergency-only: it bypasses remaining LabVIEW sequence frames. If used after a hang, first make outputs safe when possible and rerun the initializer afterward.
- Purpose: reads the existing joystick position.
X_POS→Dev1/ai0Y_POS→Dev1/ai1- Input range: −10 V to +10 V
- Terminal configuration: Differential
- Acquisition: Continuous Samples
- Sample rate: 10 kHz
Do not assign ai0 or ai1 to the new FSR rest-pad sensor.
- New independent AI task created for the working push-task hierarchy; original
joysticklickframeremains unchanged. - Corrected channel order confirmed 20/08/26 as
Dev1/ai1,Dev1/ai0,Dev1/ai2(Y_POS,X_POS, FSR). The first push-task configuration usedai0,ai1,ai2, which swapped X/Y relative to the unchanged LabVIEW array-index convention inherited from the old task. - Final channel configuration:
ai0andai1differential ±10 V;ai2RSE, 0–5 V. - Final timing: Continuous Samples, 10 samples/read, 10 kHz.
- Saved NI-MAX test passed 12/08/26: joystick X, joystick Y, and FSR signals were all visible simultaneously; FSR responded as expected.
- Working-copy
avg joystick and frame trig lick3.viwas updated and saved to selectjoysticklickframe_push; original hierarchy remains pointed atjoysticklickframe. - Working-copy main VI Case 0 now reads queue element index 2 into a
rest pad voltageindicator;rest pad voltage > rest pad threshold (V)now drives apaw on rest padBoolean indicator. Starting threshold is 0.10 V pending animal-mounted calibration. - A new AND combines the original X/Y home-ROI result with
paw on rest padbefore the existinghome TOhold logic. The separate inter-trial timeout gate is unchanged. - Runtime test passed: index-2 FSR voltage and
paw on rest padchanged correctly when Case 0 became active after a completed/rewarded trial. The apparent initial failure was expected Case Structure behavior—the indicator does not update while another case executes. - Working-VI state shift-register initializer changed from 1 to 0 so sessions start in Case 0. Fresh-run validation passed 12/08/26: the first trial remained gated until paw contact.
- Purpose: controls the existing two-axis magnetic perturbation hardware.
VoltageOut→Dev1/ao0VoltageOut_0→Dev1/ao1- Output range: −10 V to +10 V
- Generation mode: 1 Sample (On Demand)
- Both available PCIe-6321 analog outputs are currently included in this task.
- The NI-MAX screen showed 1.1 V as the configured test value for both channels; the task was not run.
Magnets_Dev1 is retained only as an original/legacy task. The working push VI no longer references
it. Its replacement is MagnetPush_Dev1 on AO0 only, leaving AO1 exclusively available to
LickSpout_Dev1.
- Purpose: controls the existing water-solenoid output.
DigitalOut→Dev1/port0/line0- Output type: Digital Line Output
- Generation mode: 1 Sample (On Demand)
Invert Line: unchecked
Physical active-high behavior is verified: NI-MAX False→True→False and the LabVIEW sequence both produce valve clicks and water. The line must be primed and bubble-free before short pulses are reliable. Bench duration is currently 200 ms, pending delivered-volume calibration.
- Purpose: counts incoming frame/synchronization pulses.
- Counter resource:
Dev1/ctr0 - Input terminal:
PFI8 - Active edge: Rising
- Initial count: 0
- Direction: Count Up
- Acquisition: 1 Sample (On Demand)
Each LOW→HIGH transition arriving on PFI8 increments counter 0. Keep both ctr0 and PFI8
reserved for the existing frame synchronization.
- Purpose: not yet traced physically; likely an existing synchronization/trigger pulse output.
- Counter resource:
Dev1/ctr1 - Output terminal:
PFI13 - Generation: Continuous Pulses
- Idle state: Low
- Initial delay: 0 s
- HIGH time: 10 ms
- LOW time: 10 ms
- Resulting pulse frequency: 50 Hz
Keep both ctr1 and PFI13 reserved until the task's physical destination and LabVIEW use are
identified. The PCIe-6321 has four counters: saved tasks account for ctr0 and ctr1; ctr2 and
ctr3 are not represented in the saved-task list. The active success buzzer still only needs a
spare ordinary digital-output line.
- Likely purpose: legacy/diagnostic analog-input test; confirm before deleting or ignoring.
Voltage_0→Dev1/ai0Voltage_1→Dev1/ai1- Input range: −10 V to +10 V
- Terminal configuration: Differential
- Acquisition: N Samples
- Samples to read: 100
- Sample rate: 1 kHz
This task duplicates the same physical AI channels used by joysticklickframe. Saved tasks may
overlap resources; they conflict only if software attempts to reserve/run them simultaneously.
Its finite 100-sample configuration and name suggest a test task, but check LabVIEW references
before removing it.
- Model: NI SCB-68A shielded connector block, 68 screw terminals
- Box label:
rig1 - Connects to
Dev1via the 68-pin cable; NI-MAX itself still lists the accessory as "None" - Contains a custom breadboard/component area already populated with user-added circuitry
- The lid label shows S1/S2 switch diagrams for the onboard temperature sensor. Because the joystick uses AI0/AI8 in differential mode, the temp sensor must be in the disabled (factory default) position; confirm the physical switches before touching AI0.
Traced 04/08/26. This is an adjustable DC-DC converter mounted in the breadboard area:
IN+← red wire from terminal 14 (+5 V)IN−← black wire from terminal 50 (D GND)OUT+→ yellow wire into the rig enclosure, entering the joystick baseOUT−→ grey wire into the rig enclosure, entering the joystick base
This supplies the joystick's excitation voltage, and its trim pot is almost certainly what sets the documented ~2.55 V resting output. Do not remove, repower or re-trim this module — doing so would silently recalibrate every position reading. Note that this consumes terminal 14, so the second +5 V terminal (8) must be used for the FSR excitation.
Terminal 42 (PFI 3 / P1.3), with terminal 7 (D GND) as its return, is wired to a unit labelled
MDL-III-635L-200mW (DC30041). That is a 200 mW, 635 nm laser — Class 3B, driven from the
black key-switched supply beside the breakout box.
- No saved NI-MAX task references PFI 3, so this line is commanded directly from LabVIEW code.
- Never toggle PFI 3 / P1.3, and never run an unknown digital task, while the laser key is enabled.
- Keep the laser supply keyed off during all bench testing of the new hardware.
PFI 3 is physically wired to the laser but appears in no saved NI-MAX task. LabVIEW therefore creates at least some DAQmx channels inline. Treat the saved-task list as incomplete and confirm channel usage against the VI before claiming any line is free.
Analog input (differential pairs AI x+ with AI x+8):
| Signal | Terminal | Signal | Terminal |
|---|---|---|---|
| AI 0 (AI 0+) | 68 | AI 8 (AI 0−) | 34 |
| AI 1 (AI 1+) | 33 | AI 9 (AI 1−) | 66 |
| AI 2 (AI 2+) | 65 | AI 10 (AI 2−) | 31 |
| AI 3 (AI 3+) | 30 | AI 11 (AI 3−) | 63 |
| AI 4 (AI 4+) | 28 | AI 12 (AI 4−) | 61 |
| AI 5 (AI 5+) | 60 | AI 13 (AI 5−) | 26 |
| AI 6 (AI 6+) | 25 | AI 14 (AI 6−) | 58 |
| AI 7 (AI 7+) | 57 | AI 15 (AI 7−) | 23 |
- AI GND: 67, 32, 64, 29, 27, 24, 56, 59
- AI SENSE: 62
Analog output:
- AO 0 → 22, AO GND → 55
- AO 1 → 21, AO GND → 54
Digital port 0:
| Line | Terminal | Line | Terminal |
|---|---|---|---|
| P0.0 | 52 | P0.4 | 19 |
| P0.1 | 17 | P0.5 | 51 |
| P0.2 | 49 | P0.6 | 16 |
| P0.3 | 47 | P0.7 | 48 |
- +5 V: 14 and 8
- D GND: 53, 18, 50, 15, 13, 12, 44, 9, 7, 4, 36, 35
- PFI 8 / P2.0 → 37 (frame counter input); PFI 13 / P2.5 → 40 (pulse output)
| Terminal | Signal | Connected to |
|---|---|---|
| 68 | AI 0 (AI 0+) | joystick X position |
| 34 | AI 8 (AI 0−) | joystick X position, differential return |
| 33 | AI 1 (AI 1+) | joystick Y position |
| 66 | AI 9 (AI 1−) | joystick Y position, differential return |
| 67 | AI GND | analog ground |
| 27 | AI GND | analog ground |
| 8 | +5 V | FSR divider excitation |
| 65 | AI 2 | FSR rest-pad signal |
| 64 | AI GND | FSR divider return |
| 21 | AO 1 | Actuonix 0–5 V position command |
| 54 | AO GND | Actuonix command/external-PSU common |
| 52 | P0.0 | water solenoid |
| 18 | D GND | water solenoid return |
| 17 | P0.1 | Adafruit success buzzer positive |
| 15 | D GND | Adafruit success buzzer return |
| 14 | +5 V | red regulator module IN+ |
| 50 | D GND | red regulator module IN− |
| 42 | PFI 3 / P1.3 | 635 nm 200 mW laser control |
| 7 | D GND | laser return |
- 22 (AO 0) — reserved for a future axial-resistance magnet; currently no wire landed
- 37 (PFI 8) and 40 (PFI 13) — not in the occupied list
- AI10 terminal 31 remains unused because FSR AI2 uses RSE, not differential
- Remaining unused P0 lines: P0.2–P0.7
AO1 terminal 21 is now physically wired to the Actuonix command input. AO0 terminal 22 remains
physically empty because this training rig has no magnet. The old Magnets_Dev1 task still contains
both channels but is not used by the working push VI; MagnetPush_Dev1 owns AO0 and
LickSpout_Dev1 owns AO1.
Consequences:
- An AO channel is available for the Actuonix, so the lick spout is no longer blocked.
- Confirmed 12/08/26: this behavioural training rig has no perturbation magnet hardware.
- Perturbation magnet hardware exists only on the separate rig under the mesoscope.
- Preserve training-rig magnet support for possible later installation, but
Magnets_Dev1must no longer reserve AO1. Target split: one-channel on-demand magnet task on AO0 and one-channel on-demand Actuonix task on AO1. - NI documentation permits one software-timed/on-demand AO task per physical AO channel. Both current outputs use on-demand writes, so magnet AO0 and spout AO1 can coexist; hardware-timed AO would require a combined task because the PCIe-6321 has one AO timing engine.
- Live LabVIEW magnet-loop audit 18/08/26 shows two
Analog 1D DBL NChan 1Sampwrites usingMagnets_Dev1: one command write and one later reset write. Both can be converted to a new one-channel AO0 task without altering the separate counter/laser logic. MagnetPush_Dev1created 18/08/26:Dev1/ao0only, ±10 V, 1 Sample (On Demand). Saved but not physically exercised because no magnet is connected on this rig.- Working-copy LabVIEW magnet task constant changed to
MagnetPush_Dev1; its two DAQmx Write nodes were converted toAnalog DBL 1Chan 1Samp. Activation writes scalarmag; reset writes scalar zero; both retain auto-start=True. Magnet code now addresses AO0 only and cannot command AO1. Working VI retained a solid Run arrow after the refactor. - Live water-loop audit 18/08/26 confirms its existing Flat Sequence performs
Water_Dev1 HIGH → wait watertime → Water_Dev1 LOW; new cue/spout frames should wrap these without replacing them. - Final output tasks created 18/08/26:
SuccessCue_Dev1→Dev1/port0/line1, digital one-sample/on-demandLickSpout_Dev1→Dev1/ao1, 0–5 V, one-sample/on-demand Existing test tasks remain saved but must not run concurrently on the same lines.
- Working water loop now begins with
SuccessCue_Dev1 HIGH → 50 ms wait → SuccessCue_Dev1 LOWbefore the preserved water sequence. Runtime test passed 18/08/26: one brief cue occurred per successful trial and stopped cleanly. - Spout/reward frames added with initial bench defaults: reward delay 0 ms; extend command 1.0 V;
settle 3000 ms; consumption 2000 ms; retract command 0 V. Both
LickSpout_Dev1analog writes use scalarAnalog DBL 1Chan 1Sampwith auto-start=True. - First LabVIEW sequence test 18/08/26: actuator made the expected coarse 1.0 V extension, followed by slight continued fine extension coincident with its familiar audible settling sound. The L12-I requires a continuously held setpoint and uses a fixed internal digital position controller; time repeated trials to confirm all fine motion/noise stops within the 3000 ms settle window.
- Bench controls later set to extend=3.0 V, settle=2000 ms, consumption=2000 ms, retract=0 V, reward delay=0 ms and cue=50 ms; settling sound/fine movement accepted provisionally.
- Automated reward sequence currently produces cue and spout motion but no visible water delivery;
watertimeis 200 ms but no solenoid click occurs. NI-MAXWater_Dev1False→True→False produces clicks and water, and LabVIEW visibly writes True then False. Inspect Water HIGH DAQmx error; if clear, verify the middle frame contains a real 200 ms Wait rather than only a sequence local. - Water HIGH returned no DAQmx error. A 200 ms Wait added inside the same frame as HIGH produced a click but no water. User reports it was already placed in a dedicated frame, while the untouched original VI delivers water without the added Wait. Exact timing-node/frame placement is unresolved; compare readable close-ups before further modification.
- A dedicated 1000 ms HIGH test then produced automated water successfully. This rules out the task/channel/valve and shows either 200 ms is currently below the reliable delivery threshold or the line needed priming. Retest short pulses after priming and calibrate delivered volume before animal use; 1000 ms is diagnostic only.
- Immediate post-prime retest at 200 ms worked. Multiple air bubbles were observed in the tubing; failed short-pulse delivery was therefore caused by an unprimed/air-filled water path, not DAQ or LabVIEW. Inspect and prime until bubble-free before each session; calibrate 200 ms output in µL.
- Three spaced complete trials then passed with cue, extension, water and retraction on every trial.
The explicit 200 ms Wait is nominally the same intended duration as original
watertime=200, but exact pulse equivalence has not been electrically measured; functional calibration should use delivered water mass/volume. - Random/Fixed perturbation blocks cannot be physically bench-tested on this training rig; their hardware mapping and sign must be validated separately on the mesoscope rig.
- The joystick task runs in differential mode, so it physically consumes AI 0, AI 8, AI 1 and
AI 9 (terminals 68, 34, 33, 66).
ai2and above are the genuinely free analog inputs. P0.0(terminal 52) is the water valve.P0.1–P0.7are candidate buzzer lines.- Port 0 lines can source up to 24 mA; PFI lines only 16 mA. The Adafruit #1536 buzzer draws roughly 24 mA at 5 V, so it must use a port 0 line, and even then it sits at the specification limit — add a small transistor/MOSFET driver if the tone is weak or the line is loaded.
- Terminal 14 (+5 V) is taken by the regulator module; use terminal 8 for FSR excitation.
-
Magnets_Dev1:Dev1/ao0+Dev1/ao1, −10 V to +10 V, on-demand - AO terminals 21 and 22 confirmed physically empty; magnet drive not currently wired
- Confirmed: no perturbation magnet on training rig; magnet exists on mesoscope rig only
-
Water_Dev1:Dev1/port0/line0, digital line output, on-demand, not inverted in NI-MAX -
frame counter_Dev1:Dev1/ctr0, rising edges fromPFI8 -
MyPulseOutputTask:Dev1/ctr1output onPFI13, continuous 50 Hz pulse train - Confirm whether PFI 8 / PFI 13 are only connected when the imaging system is attached
-
testing1blox_2labviews: duplicate AI test onDev1/ai0+Dev1/ai1, 100 samples at 1 kHz - Search LabVIEW/project references before classifying
testing1blox_2labviewsas unused - Device capacity checked against PCIe-6321 specification: 16 SE/8 differential AI, 2 AO, 24 DIO, 4 counters
- Physical connector/breakout-box model: NI SCB-68A, labelled
rig1 - Recorded which SCB-68A screw terminals physically have wires landed in them
- Red breadboard module identified as the joystick supply regulator
- PFI 3 traced to a Class 3B 635 nm laser
- Audit the VI for inline DAQmx channels not represented in saved NI-MAX tasks
- Confirm S1/S2 temperature-sensor switch positions
| Component | Channel | SCB-68A terminals | Status |
|---|---|---|---|
| FSR 402 rest pad | Dev1/ai2 |
signal → 65, ground → AI GND (64), excitation → +5 V (8, not 14) | installed; NI-MAX and first-trial LabVIEW gating passed; animal-safe cap/calibration remain |
| Adafruit #1536 buzzer | Dev1/port0/line1 |
+ → 17 (P0.1), − → 15 (D GND) |
installed; NI-MAX and 50 ms LabVIEW success-cue tests passed |
| Actuonix lick spout | Dev1/ao1 |
signal → 21, reference → AO GND (54), motor power from separate 12 V PSU with shared ground | installed; LickSpout_Dev1 and full extend/water/retract sequence passed across three spaced trials |
Leave ao0 (terminal 22) reserved for the axial-resistance perturbation.
- Adafruit #1536 manufacturing wash seal removed; buzzer was not washed.
- Positive/long lead wired to terminal 17 (
P0.1). - Negative/short lead wired to terminal 15 (
D GND). - Direct-drive test chosen for initial prototype. Official nominal current is 15 mA, but independent measurements report up to approximately 24 mA at 5 V, equal to the PCIe-6321 P0 per-line limit. Treat direct drive as provisional; stop on DAQ error, weak/unstable output or excessive voltage drop.
- Saved NI-MAX task:
success_cue_test_Dev1- Physical channel:
Dev1/port0/line1 - Digital line output, not inverted
- Generation: 1 Sample (On Demand)
- Physical channel:
- Final task:
SuccessCue_Dev1on the same line, one-sample/on-demand. - Direct LOW→HIGH→LOW test passed on 06/08/26: HIGH produced a loud, clear high-pitched tone and LOW silenced it; no NI-MAX error reported.
- Buzzer leads subsequently soldered and insulated, connected permanently to terminals 17/15, and the LOW→HIGH→LOW NI-MAX test passed again.
- Working VI writes HIGH, waits a configurable 50 ms bench duration, then writes LOW immediately on success. End-to-end runtime test passed.
- Exact model:
L12-30-50-12-I(30 mm stroke, 50:1, 12 V, integrated controller) - Six manufacturer leads split across two three-pin female connectors:
| Wire | Function | Planned use |
|---|---|---|
| Green | 4–20 mA current-command input | Unused; insulate |
| Blue | 0–5 V voltage/PWM command input | Dev1/ao1, terminal 21 |
| Purple | 0–3.3 V position-feedback output | Optional future AI logging |
| White | RC-servo command input | Unused; insulate |
| Red | 12 V motor/controller power | External regulated +12 V |
| Black | Ground | External PSU negative + shared DAQ AO GND terminal 54 |
The L12-I scans green, blue and white at power-up and locks to the first valid interface. For 0–5 V mode, connect blue and shared ground before applying 12 V; leave the current and RC inputs isolated. The blue command must remain driven after reaching position. Never power the actuator before its command wiring is defined and the rod has unobstructed travel.
AO command verification 06/08/26:
- Saved NI-MAX task:
lick_spout_motor_test_Dev1 - Physical channel:
Dev1/ao1 - Range: 0–5 V
- Generation: 1 Sample (On Demand)
- Terminal 21 (
ao1) measured relative to terminal 54 (AO GND) - Commands 0, 1, 2.5 and 5 V all matched the multimeter as expected
- AO1 returned to 0 V after testing
Actuator wiring paused at end of 06/08/26:
- Both double-ended 3-pin headers inserted into the actuator's female connectors
- Female jumper attached to the exposed header pin aligned with the actuator black/ground lead
- Jumper's free end remains a female socket; it has not yet been cut/stripped
- Red power and blue command leads remain disconnected
- Actuator has never been powered
- Resume by converting the black jumper's loose end to bare wire, then building the shared ground
connection with barrel-adapter
−and SCB terminal 54
Actuator bench wiring assembled 12/08/26:
- Actuator black lead and SCB terminal 54 (
AO GND) share barrel-adapter− - Actuator red lead connects to barrel-adapter
+ - Actuator blue 0–5 V command lead connects temporarily via insulated alligator connection to the
wire from SCB terminal 21 (
ao1) - Green current input, purple feedback and white RC input remain disconnected/isolated
- Wiring visually checked by user; actuator still unpowered at this checkpoint
- Alligator connection is bench-test-only and must be replaced by a soldered/connectorized harness before mounting or animal use
First controlled actuator power-up 12/08/26:
- AO1 explicitly written to 0 V before applying 12 V power
- No unexpected motion, noise or fault at 0 V power-up
- Command changed to 1.0 V; actuator extended a small amount as expected (~20% command)
- Confirms correct power polarity, shared ground, blue voltage-command wiring and successful automatic selection of the 0–5 V interface mode
- Command returned to 0 V; actuator retracted fully and smoothly without abnormal noise.
- 2.5 V commanded approximately half stroke and returned correctly to 0 V.
- 5.0 V commanded the full measured 30 mm stroke and returned correctly to 0 V.
- For command changes of roughly 2 V or greater, actuator emits a tone/whine for approximately 1–2 seconds after reaching the commanded position, then stops. No failure reported.
- Likely internal position-loop settling, but re-evaluate after replacing the temporary blue alligator connection. Treat as abnormal if accompanied by visible hunting, persistent noise, repeated clicking, heating or failure to stop.
- Datasheet maximum duty cycle is 20%; avoid rapid repeated full-stroke cycling and allow cooling.
- Temporary blue alligator command connection replaced on 12/08/26 by a soldered, heat-shrunk splice between the blue-header female jumper and the wire from SCB terminal 21.
- Unused green, purple and white interface pins insulated; connector wiring strain-relieved.
- Post-solder 0 → 2.5 → 0 V motion test passed smoothly.
- Actuator electrical bench installation was complete at this checkpoint; mechanical mounting was completed later the same day. Remaining work is animal-specific calibration and final cable cleanup.
Mechanical lick-spout installation — 12/08/26:
- Actuator mounted on the rig and attached to the lick spout.
- User confirmed unobstructed motion with no mechanical interference across the tested movement.
- Mounted system responds correctly when powered/commanded.
- Still to record/validate:
- Final retracted and extended command voltages
- Spout position relative to the mouse
- Tubing and cable strain relief across the full movement
- Repeated-cycle reliability within the actuator's 20% duty-cycle limit
- Tubing/wire routing checked through motion: no obstruction or impedance; final cable cleanup remains.
- Existing water-valve delivery through the mounted moving spout tested successfully with no reported leak/snag.
- Final NI-MAX task
LickSpout_Dev1: AO1, 0–5 V, one-sample/on-demand. - Working-VI bench controls on 18/08/26: retract 0 V, extend 3.0 V, settle 2000 ms, consumption 2000 ms, reward delay 0 ms. These are bench values, not final mouse-specific settings.
- Full cue → delay → extend → settle → 200 ms water → consumption → retract sequence passed across three spaced trials after tubing was primed bubble-free.
Power status:
- No dedicated 12 V supply was included with the actuator.
- A Goobay 3–12 V universal supply was found on 06/08/26:
- Model
MW MB10EU - Selectable 12 V output rated 1 A / 12 W
- Capacity is sufficient for the L12-I
- Voltage selector and connector polarity must be independently verified before connection
- Model
- The actuator cannot be powered from a DAQ AO, DAQ +5 V terminal or USB.
- Required supply capacity is at least 0.5 A (1 A recommended); the located Goobay unit meets this.
- Do not repurpose the laser driver, joystick regulator or an unidentified rig supply.
- One three-pin male-to-male adapter and mechanical screws/attachments were supplied; photograph and inventory connector hardware before wiring.
- Supply verification 06/08/26:
- Selector set to 12 V
- Initial reversible-tip orientation measured −11.97 V with red probe at centre
- Tip rotated 180°
- Final output measured +11.97 V centre-positive (red probe centre, black probe outer sleeve)
- Supply unplugged again after verification
- Connector hardware found 06/08/26:
- Matching female DC barrel-jack to two-screw adapter, labelled
+and−; plug fit confirmed - Two double-ended 3-pin male headers, sufficient to break out both actuator female connectors
- Barrel adapter measured approximately +11.97 V with red probe on
+screw and black probe on−screw; adapter polarity verified - At this checkpoint the actuator remained unpowered; subsequent AO1, powered-motion and full LabVIEW sequence tests passed as documented above
- Matching female DC barrel-jack to two-screw adapter, labelled
- 10 kΩ divider resistor measured approximately 9.88 kΩ.
- FSR measured open circuit when unloaded.
- Direct multimeter measurement across the two solder tabs produced a resistance value when the sensing area was pressed, confirming that the sensor responds to force.
- Two flexible leads were soldered to the factory solder tabs. The completed joints passed the same unloaded/pressed resistance test.
- Breadboard divider assembled using the FSR and 9.88 kΩ resistor.
- Breadboard resistor branch measured correctly across the signal/ground nodes.
- Breadboard FSR branch measured open unloaded and force-responsive when pressed.
- Divider connected to SCB-68A: yellow terminal 8→A10, green terminal 65→A11, blue/black terminal 64→A15; FSR at E10/E11; resistor D11→D15.
- With the rig PC powered, the divider supply measured 5.06 V between the +5 V and AI GND nodes.
- Divider signal measured relative to AI GND:
- Unpressed: 0.000 V
- Light/intermediate pressure: approximately 0.2–1.5 V
- Hard pressure: approximately 4.7–4.8 V
- Signal rises monotonically with applied pressure. Electrical bench test passed; NI-MAX
ai2acquisition test passed. - On 05/08/26 the temporary breadboard divider was replaced with an inline soldered harness and the yellow/green/blue leads were reattached to SCB terminals 8/65/64 respectively.
- On 06/08/26 the permanent harness passed its post-solder
rest_pad_test_Dev1verification: released baseline near zero, graded pressure peaks, and no large artifacts during gentle cable movement. Electrical installation is complete; the FSR remains mechanically loose beside the rig.
- Saved task:
rest_pad_test_Dev1 - Physical channel:
Dev1/ai2 - Input range: 0–5 V
- Terminal configuration: RSE
- Acquisition: Continuous Samples
- Samples to read: 100
- Rate: 1 kHz
- Result: stable near-zero released baseline and graded upward voltage peaks under increasing force.
- Working push task uses
joysticklickframe_push; rest-pad voltage is queue element index 2. - Case 0 requires joystick home X/Y AND
paw on rest pad, then applies the existing home hold. - State initializer changed from 1 to 0 so the first trial cannot bypass the gate; fresh-start test passed. Current bench threshold shown on 18/08/26 was 0.01 V and must be recalibrated with the final paw-contact cap and animal.
The PCIe-6321 has one analog-input timing engine, so this standalone test task is for bench testing
only. For the experiment, ai2 must be appended to the existing joystick analog-input acquisition
task; do not attempt to run rest_pad_test_Dev1 simultaneously with joysticklickframe.
- Selected location: fixed black horizontal rail immediately in front of the head-fixation tube, beside the future push-object position.
- FSR circular active area sits flat on the rail; tail routes laterally away from the paw and object.
- This location preserves the intended sequence: paw on fixed pad → leave pad → contact push object.
- Temporary geometry testing may use removable tape on the inactive tail/perimeter only.
- Final animal-ready mounting requires a small protective paw-contact cap/puck, tail strain relief, and protection from claws/moisture; do not glue or preload the active sensing circle.
- FSR mounted face-up on the selected fixed rail in front of the head tube.
- Inactive tail and cable secured laterally with removable tape/strain relief.
- Mounted sensor retained a near-zero unloaded baseline and graded pressure response in
rest_pad_test_Dev1. - Temporary mount passed bench testing.
- Not yet animal-ready: active sensing face remains exposed and needs a centred protective paw-contact cap/puck plus final cleanable mounting.