Skip to the content
PCBKitNew board
2 layers153.7 × 52.1 mmLed panel split, the printed circuit board in 3D

New behavioral paradigm for multisensory stimulation. Modified from SpatialSparrow paradigm.

Size
153.7 × 52.1 mm
Copper layers
2
Thickness
1.6 mm
Parts
64
Nets
120
Pads
270
Tracks, vias
0, 0
Pours
2
Routed
Not yet
KiCad
KiCad 5 (file 20171130)
Created
15 Sep 2021
Updated
21 May 2026

Overview

Led panel split is an open-source printed circuit board by musallGroup, from the musallGroup/PuffyPenguin repository on GitHub. It is a 2-layer board of 153.7 × 52.1 mm with 64 parts on 120 nets.

Its parts include 42 resistors, 4 diodes and 2 ICs. It belongs with the NXP (LPC, Kinetis, i.MX RT) boards of this library.

README

README.md

SpatialSparrow

Multimodal rate discriminaton behavioral task for mice.

Description of the setup

This should show a labeled picture of the setup.

Data saving and automatic copy

This should say what gets saved where and what is automatically copied and when.

The TouchShaker teensy module reports lick and handle touch times, these get communicated and logged by Bpod.

SessionData.RawEvents

Event list correspondence :

TouchShaker byteEvent
TouchShaker1_1left_spout_touch
TouchShaker1_2right_spout_touch
TouchShaker1_3left_spout_release
TouchShaker1_4right_spout_release
TouchShaker1_5left_handle_touch
TouchShaker1_6right_handle_touch
TouchShaker1_7both_handle_touch
TouchShaker1_8left_handle_release
TouchShaker1_9right_handle_release
TouchShaker1_14acknowledge
TouchShaker1_15error

State list correspondence:

Settings and description

Settings can be set from Bpod (mat files in Bpod Local/Settings). Default settings are in SpatialSparrow.m

Settings for training control:

SettingDefaultDescription
SubjectNameName of the mouse
RewardedModalityAudioVisual'Vision', 'Audio', Somatossensory, 'AudioVisual', 'Mixed'
leftRewardVolume2 ulAmount of water per left reward
rightRewardVolume2 ulAmount of water per right reward
AutoRewardOFFPre-load rewarded spout
TrainingModeOFFMove spouts to the correct side
autoRewardVision1Fraction of self-performed trials (Vision)
autoRewardAudio1Fraction of self-performed trials (Auditory)
autoRewardPiezo1Fraction of self-performed trials (Somatossensory)
autoRewardMixed1Fraction of self-performed trials (Mixed)
LeverSoundtruePlay a sound when the mouse touches the handles
RegularStimfalseProduce regular stimuli sequences
biasSeqLength3nr of trials on one side after which the oposite side is switched with 50% probability

Settings for trial timing :

SettingDefaultDescription
preStimDelay1 (s)time on handle before stimuli presentation
StimDuration1 (s)duration of the stimulus
happyTime0.5 (s)duration of the last state (gives time to collect reward)
varStimDur0 (s)variable stim duration (StimDuration + varStimDur) is the actual stim duration
optoDur0.5 (s)duration of the optogenetics stimuli
optoRmp0.2 (s)duration of the optogenetics ramp down (optoDur = 0.5 and optoRamp = 0.2 makes a 500ms stimulus that ramps down after 300ms) ???????
minITI1 (s)min inter trial interval (additional)
maxITI2 (s)max inter trial interval (additional)
ITIlambda10 (AU)bariability between minITI and maxITI. High lambda -> closer to minITI
WaitingTime1 (s)minimum waiting time before a response can be made, early licks are ignored
TimeToChoose3 (s)how long to wait for choice report
TimeToConfirm0.5 (s)how long to wait for a 2nd (confirmation) lick
Timeout3 (s)timeout to punish wrong responses
LeverWait10 (s)time to wait for handle grasp
MoveLeverTRUEmove levers or not (set to FALSE during habituation)
UseBothLeversFALSEWhether both handles need to be touched to initiate trials
WaitBeforeLever1 (s)Wait time before handles are moved in after trial onset

Settings for stimuli parameters :

SettingDefaultDescription
TargRate10 (Hz)Rate of the target sequence
ProbRight0.5Fraction of targets on the right
DistFractions0Distractor pulses (fraction of the target sequence). Can be a scalar [0-1] or a vector
DistProb0Probability of presenting a distractor
TestModality0Modality to be used with discrimination (1=vis, 2=aud, 4=ss). Zero is inactive. Other values are detection only
BinSize50 (ms)Stimuli refractory period (min interval between pulses)
StimCoherenceTRUEDetermines whether multisensory stimuli are correlated
UseNoiseFALSEUse noise burst (TRUE) of clicks (FALSE) as auditory stimuli
varStimOn[0 0.125 0.25] (s)Variable onset time for stimulus after lever grab in s. This can be a vector of values. Have to be 0 and higher.
StimGap0 (s)Duration of the gap in the middle of stimulus presentation in s; if >0 the stim duration is of stimDuration*2 + stimGap long
DecisionGap[0.3 1.5] (s)Range of the interval between the stimulus and the decision period
BeepDuration20 (ms)Beep (auditory) duration
StimLoudness0.5Strength of auditory stimuli
FlashDuration20 (ms)Flash (visual) duration
StimBrightness20Brightness of flashes. Multiplier of the base frequency, default is 100Hz (????)
BuzzDuration20 (ms)Buzz (somatossensory) duration
BuzzStrength1Strength of buzzes
ProbAudio0Probability of presenting an auditory-only trial (for multimodal)
ProbVisual0Probability of presenting a visual-only trial (for multimodal)
ProbPiezo0Probability of presenting a somatossensory-only trial (for multimodal)
sRate20000Sampling rate of the AnalogOutput module
PunishSoundDur0 (s)Duration of the white noise punishment sound
optoProb0Fraction of optogenetics trials
optoTimesStimulus/DelayPart of the trial where optogenetic stimulus should be presented
optoRight0.5Probability for occurence of an optogenetic stimulus on the right
optoBoth1Probability for occurence of an optogenetic stimulus on both sides. This comes after determining a single HS target ???
optoPower5Fraction of optogenetics stimuli

Settings for hardware control and sync :

SettingDefaultDescription
SpoutSpeed25 (ms)Duration of spout movement
rMaxSpoutIn30Right spout inner position (value between 0 and 100)
lMaxSpoutIn30Left spout outer position (value between 0 and 100)
spoutOffset10Distance from inner spout position
lOuterLim3.5Left spout outer position (value between 0 and 100)
LeverSpeed150 (ms)Duration of handle movement (ms)
LeverIn20Inner position of the handles
LeverOut0Position of handle out of reach
TouchThresh5 (SDUs)Threshold for capacitive touch lines
WaitForCamfalseTrials wait for a camera trigger to start.

To check: rInnerLim, lInnerLim, rOuterLim, lOuterLim

Settings for paths and data copy :

SettingDefaultDescription
widefieldPath...path to widefield data on server
serverPath...path to behavioral data on server
videoDriveC:path to behavioral data on server
bonsaiEXE...path to bonsai.exe
bonsaiParadim...path to the bonsai workflow ('' to skip bonsai)
labcamsAddresslocalhost:9999address to connect to labcams for video acquisition (leave empty to skip)
wavePortCOM18COM port of the AnalogOutput Module

Plot settings:

VariableDefaultDescription
PerformanceSwitchPerformedShow performance over all trials or only self-performed trials
DoFitfalseShow curve fitting in the performance plot
modSelectorCombinedWhich data to show in the performance plot

Operational variables:

VariableDefaultDescription
SaveSettingsfalseSaves the current settings
AdjustSpouts0Pause for spout adjustment
StartTime?Start time of the current session
cTrialNumber of the current trial
runTimeDuration of the current session
servoPos[0 0]position of left and right spout, relative to their inner limit. these values will be changed by anti-bias correction to correct spout position

Instalation and build instructions

Clone the repository to Bpod Local/Protocols. If you make changes; create a branch and remember to commit changes regularly.

Build instructions coming here soon.

Video

There are 2 options for recording video with SpatialSparrow: using Bonsai or using labcams. This readme should show you how to sync the cameras to the BPod (work in progress).

Parts

64
QtyValueFootprintReferences
42RResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P2.54mm_VerticalR1, R2, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23 +26
4HDSP-4830_2Display:HDSP-4830BAR1, BAR2, BAR3, BAR4
25VConnector_Pin:Pin_D0.7mm_L6.5mm_W1.8mm_FlatFork5v1, 5v2
2GNDConnector_Pin:Pin_D0.7mm_L6.5mm_W1.8mm_FlatForkgnd1, gnd2
2LEDTerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_HorizontalD1, D2
2LOGOlib:churchland_lab_logoG1, G2
2Teensy3.2lib:Teensy30_31_32_LCU1, U2
1Audio leftlib:speakerAudioLeft01
1Audio rightlib:speakerAudioRight01
1LED1 testConnector_Pin:Pin_D0.7mm_L6.5mm_W1.8mm_FlatForkled1
1LED2 testConnector_Pin:Pin_D0.7mm_L6.5mm_W1.8mm_FlatForkled2
1Left screw terminalTerminalBlock_4Ucon:TerminalBlock_4Ucon_1x06_P3.50mm_HorizontalLeftJ1
1Right screw terminalTerminalBlock_4Ucon:TerminalBlock_4Ucon_1x06_P3.50mm_HorizontalRightJ1
1left triggerConnector_Pin:Pin_D0.7mm_L6.5mm_W1.8mm_FlatForklefttrigger1
1right triggerConnector_Pin:Pin_D0.7mm_L6.5mm_W1.8mm_FlatForkrighttrigger1

Questions

How big is the Led panel split PCB?

It measures 153.7 × 52.1 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Led panel split use?

64 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Led panel split KiCad files?

From the musallGroup/PuffyPenguin repository on GitHub, at the commit this page was made from: the board is pcb/led_panel_split/led_panel_split.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Led panel split design in my own project?

Its repository states no licence, so its author keeps all rights: ask musallGroup before reusing the design.

More from musallGroup/PuffyPenguin

4
  • 2 layers160 × 40.1 mmLed panel, the printed circuit board in 3D

    Led panel

    musallGroup/PuffyPenguin

    New behavioral paradigm for multisensory stimulation. Modified from SpatialSparrow paradigm.

    62 parts1
  • 2 layers222.3 × 73.7 mmController, the printed circuit board in 3D

    Controller

    musallGroup/PuffyPenguin

    New behavioral paradigm for multisensory stimulation. Modified from SpatialSparrow paradigm.

    38 parts1
  • 2 layers52 × 52 mmLed panel left, the printed circuit board in 3D

    Led panel left

    musallGroup/PuffyPenguin

    New behavioral paradigm for multisensory stimulation. Modified from SpatialSparrow paradigm.

    33 parts1
  • 2 layers52 × 52 mmLed panel right, the printed circuit board in 3D

    Led panel right

    musallGroup/PuffyPenguin

    New behavioral paradigm for multisensory stimulation. Modified from SpatialSparrow paradigm.

    33 parts1

Similar boards

  • 2 layers76.5 × 120 mmNumpad project, the printed circuit board in 3D

    Numpad project

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    64 parts915
  • 2 layers160 × 99.1 mmFlat hierarchy, the printed circuit board in 3D

    Flat hierarchy

    drandyhaas/KiCadRoutingTools

    A set of Python/Rust tools to aid routing in KiCad

    64 parts744MIT
  • 2 layers49 × 53.2 mmDB25 External, the printed circuit board in 3D

    DB25 External

    BlueSCSI/BlueSCSI-v2

    BlueSCSI v2/Ultra - an open source, open hardware, SCSI emulator using the Pi Pico PR2040 and Pico 2 RP2350

    64 parts459GPL-3.0
  • 2 layers90 × 71 mmTd hv, the printed circuit board in 3D

    Td hv

    tdaede/td-crt

    tubes

    64 parts373
  • 2 layers28 × 30 mmOtterIron Devkit, the printed circuit board in 3D

    OtterIron Devkit

    Jana-Marie/Otter-Iron-PRO

    USB-PD soldering station for JBC C245 handles.

    64 parts321
  • 2 layers192.9 × 59.5 mmAlpha pro micro, the printed circuit board in 3D

    Alpha pro micro

    PyrooL/Alpha

    A 28-key semi-ortholinear mechanical keyboard designed by PyroL

    64 parts298MIT
  • 2 layers128 × 88 mmFireball revD, the printed circuit board in 3D

    Fireball revD

    ugcs/ddc

    Drone Show Software is software designed for drone shows, allowing flight path planning as well as control of dozens of drones simultaneously in a synchronized manner.

    64 parts223
  • 2 layers78 × 81 mmEncoder, the printed circuit board in 3D

    Encoder

    eddyem/stm32samples

    Code samples and ready projects based on bare-metal STM32

    64 parts208