
SolenoidDriver
ubcbraincircuits/Mesoscope-Resources
Download Arduino IDE: Visit the official Arduino website: Arduino Software. Choose the appropriate version for your operating system (Windows, macOS, Linux), and download the installer.

Download Arduino IDE: Visit the official Arduino website: Arduino Software. Choose the appropriate version for your operating system (Windows, macOS, Linux), and download the installer.
555Trigger is an open-source printed circuit board by ubcbraincircuits, from the ubcbraincircuits/Mesoscope-Resources repository on GitHub. It is a 2-layer board of 63.5 × 112.3 mm with 41 parts on 30 nets, routed with 413 tracks and 47 vias.
It is built around the 74AHC2G00DC and 74LVC2G74DP. Its parts include 6 resistors, 5 ICs, 3 capacitors and 1 switch.
Installing Arduino IDE:
Download Arduino IDE:
Visit the official Arduino website: Arduino Software.
Choose the appropriate version for your operating system (Windows, macOS, Linux), and download the installer.
Install Arduino IDE:
Run the downloaded installer and follow the on-screen instructions.
On Windows, you might need to install drivers for the Arduino board during the installation process.
Open Arduino IDE:
Once installed, open the Arduino IDE.Installing and Running a Supplied Program:
Connect Arduino Board:
Connect your Arduino board to your computer using a USB cable.
Select Board and Port:
In the Arduino IDE, go to Tools > Board and select the appropriate Arduino board (e.g., Arduino Uno).
Also, go to Tools > Port and select the port to which your Arduino board is connected.
Open a Supplied Program (Sketch):
Download the sketch from TriggeringstrobingArduinoCode/
In the Arduino IDE, go to File > open and open the downloaded sketch
Verify the Sketch:
Click the checkmark icon (Verify) to check for any errors in the code. Fix any errors if they occur.
Upload the Sketch:
Click the right arrow icon (Upload) to compile and upload the sketch to the Arduino board.All the lens adapters are parametrically created using this onshape file:

Adjust these parameters to change the adapters parameters, the diameter is the inner diameter of the lens, pitch is usually 0.5 or 0.75




For the Master Clock in / power in pin out from left to right is
for Timing signal the pinout is
with the switches controlling in the same order.
In order to control the width of the timing signal supply a pwm signal to each of the width control signals, with the width corresponding to change in signal. The supplied signal should be greater than 1khz and ideally as high frequency as possible to reduce artifacts
the timing and output pots allow for manual control of timing and output voltage, although each of them can cause errors if pushed to their limits due to variation in their ranges from manufacturing. Never turn the timing pots all the way to the right as that might cause a short
To use supply a 50hz PWM signal to the master clock with as wide a PWM as possible, the width of the signal corresponding to the maximum possible exposure time.
Supply a 5khz PWM signal for each width control pin in to control the exposure for brain and the behaviour cameras independently. Make sure the switch is switched to ON for the control pin being used. The Width of the PWM signal corresponds with the timing, with the widest signal being the longest exposure time.
Simulation of the circuit can be found at: https://tinyurl.com/ykhpxhtl
import time
# Set GPIO mode and warning
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
# Define the pin numbers
master_clock_pin = 17
width_control_pin = 18
# Set the frequency for the master clock (50Hz)
master_clock_frequency = 50
# Set the duty cycle for the master clock (99% width)
master_clock_duty_cycle = 99
# Set the frequency for the width control (5kHz)
width_control_frequency = 5000
# Initialize the GPIO pins
GPIO.setup(master_clock_pin, GPIO.OUT)
GPIO.setup(width_control_pin, GPIO.OUT)
# Initialize PWM for master clockFor making the throughhole 555 trigger there is a .xlsx file with the digikey order needed to create one system. The list can also be found at this link: https://www.digikey.ca/en/mylists/list/3F61W3LRA3. Then the components can be placed on the board based on the silkscreen.


The Driver is based on using M7 Mosfet drivers, which max out at ~300 mA of current draw at 12V, anything higher will damage and burn out the driver over time. Not suitable for high power solenoids.

the Glass Slide Cutting Jig is parameterized by a variable table which determines the depth of the first and second cuts, made to cut 8mm diameter glass slides, should be 3d printed on fine print settings.
Clear Sided mouse cup for water reaching task. The sides should be laser cut out of 3mm acrylic, the main cup 3d printed.
Model and Drawing for headfix mount, should be tapped and machined. Used JLCPCB to order the Machined versions.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 10 | Conn_01x02_Socket | Connector_JST:JST_EH_S2B-EH_1x02_P2.50mm_Horizontal | Behavior1, Behavior2, Behavior3, Behavior4, Behavior5, Behavior6, Brain1, Brain2, Strobing1, Strobing2 |
| 4 | MountingHole | MountingHole:MountingHole_2.2mm_M2 | H1, H2, H3, H4 |
| 3 | 0-10k | Potentiometer_SMD:Potentiometer_Bourns_3314J_Vertical | Behav_Timing1, Brain_Timing1, Strobe_Timing1 |
| 3 | 10 nF | Capacitor_SMD:C_0603_1608Metric | C1, C2, C3 |
| 3 | 2.2uF | Capacitor_SMD:C_0805_2012Metric | Behav_Timing_C1, Brain_Timing_C1, Strobe_Timing_C1 |
| 3 | 32k | Resistor_SMD:R_0402_1005Metric | R1, R5, R6 |
| 3 | OPA2333xxD | Package_SO:TSSOP-8_3x3mm_P0.65mm | U1, U2, U9 |
| 3 | TLC555xD | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | Behav_555, Brain_555, Strobe_555 |
| 2 | 20k | Resistor_SMD:R_0402_1005Metric | R3, R4 |
| 2 | Conn_01x03_Socket | Connector_JST:JST_XA_B03B-XASK-1-A_1x03_P2.50mm_Vertical | Power_In1, WidthControlSignal1 |
| 1 | 10k | Resistor_SMD:R_0402_1005Metric | R2 |
| 1 | 10k | Potentiometer_SMD:Potentiometer_Bourns_3314J_Vertical | Output_Voltage1 |
| 1 | 74AHC2G00 | Package_SO:VSSOP-8_2.3x2mm_P0.5mm | U8 |
| 1 | 74LVC2G74 | Package_SO:SSOP-8_2.95x2.8mm_P0.65mm | U7 |
| 1 | SW_DIP_x03 | Button_Switch_SMD:SW_DIP_SPSTx03_Slide_9.78x9.8mm_W8.61mm_P2.54mm | SW1 |
It measures 63.5 × 112.3 mm and has 2 copper layers, 1.6 mm thick.
41 parts, built around the 74AHC2G00DC and 74LVC2G74DP. 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.
From the ubcbraincircuits/Mesoscope-Resources repository on GitHub, at the commit this page was made from: the board is 555Trigger/555Trigger.kicad_pcb and its schematic 555Trigger/555Trigger.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask ubcbraincircuits before reusing the design.

ubcbraincircuits/Mesoscope-Resources
Download Arduino IDE: Visit the official Arduino website: Arduino Software. Choose the appropriate version for your operating system (Windows, macOS, Linux), and download the installer.

snorklerjoe/useful6502
A homebrew 65c02s-based computer and custom operating system, with a handful of modern features.




angusgbishop/PnPCAM
An Open Source Vision Camera designed for pick-and-place machines.


hnz1102/shared-usb-memory
USB Memory with One-touch Switching Between Two Device Connections
SL-RU/svelotracker
Device for bicycle. It will show current position, track, speed, compass, direction to the destination or to start. It can save the track and etc