Skip to the content
PCBKitNew board
2 layers76.7 × 57 mmShield, the printed circuit board in 3D

This repository houses the necessary components for a touchscreen-based controller/driver for the Picolas series of laser diode boards, including hardware schematics, embedded firmware, and a Python GUI.

Size
76.7 × 57 mm
Copper layers
2
Thickness
1.6 mm
Parts
82
Nets
59
Pads
233
Tracks, vias
377, 201
Pours
4
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
12 Oct 2022
Updated
11 Aug 2023

Overview

Shield is an open-source printed circuit board by diminDDL, from the diminDDL/PicoLasDriver repository on GitHub, published under the MIT licence. It is a 2-layer board of 76.7 × 57 mm with 82 parts on 59 nets, routed with 377 tracks and 201 vias.

It is built around the ARDUINO UNO R3, OPA2727AID and MIC5205-3.3YM5, with the BSS138 among its other parts. Its parts include 40 resistors, 12 capacitors, 8 diodes, 7 connectors and 6 transistors. It belongs with the AVR (ATmega, ATtiny) boards of this library.

Main components

4

README

README.md

Picolas Laser Diode Controller/Driver

This repository houses the necessary components for a touchscreen-based controller/driver for the Picolas series of laser diode boards, including hardware schematics, embedded firmware, and a Python GUI.

Features

  • Supports control of analog models with trigger pins and analog voltage for adjusting the current setpoint.
  • Designed to work seamlessly with a Raspberry Pi SBC and a touchscreen.
  • Configuration flexibility through JSON file.

Getting Started

Prerequisites

  • Raspberry Pi with a touchscreen
  • Picolas series laser diode board (analog models with trigger pins)

Installation

  1. Clone the repository.
  2. Follow the setups in howto.md
  3. Configure a startup script to initiate the Python program automatically on boot. Additionally, it's advisable to disable the touchscreen until the program starts.
  4. Consider enabling the overlay filesystem to safeguard your data.

GUI Layout & Functions

GUI

  • "+" and "-" buttons: Increase or decrease values. They accelerate when held.
  • "Single/Pulsed" modes: Toggle single pulse operation.
  • "Global/Local pulse count": View total pulse count and current session count.
  • "ADC readout": Display the raw 12-bit ADC value from the photodiode amplifier.
  • "Lock icon": Lock or unlock the device to prevent accidental value changes.
  • "IO1-4": IO pin toggle buttons.
  • "Enable/Disable": Control the pulse output.
  • Error readout: Reads out the errors and other state information.

⚠️ Important: It is recommended to turn off the output when adjusting settings to prevent potential glitches on the output.

Hardware & Communication

Schematic

  • The board connects to the Raspberry Pi via USB, with a communication frequency of every 100ms.
  • Auto-reconnect and fault indications in the Python GUI.
  • LED indicators for the board's internal states.
  • GPIO pins provide a high impedance 5V when active.
  • Over-voltage protection up to 5V.
  • Photodiode amplifier module design and guidance provided.

Pinout of the connector:

Schematic

Operating Mechanism

The board keeps the Picolas driver's enable pin high and uses the trigger pin to generate impulses. An analog DAC sets the voltage to control the output current limit. If the E-STOP pin is triggered, the system becomes non-functional until a power cycle.

License

This project is licensed under the MIT License.

Parts

82
QtyValueFootprintReferences
2110kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1, R10, R11, R18, R19, R21, R22, R24, R25, R27, R28, R30, R31, R34, R38, R39 +5
81kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR3, R4, R12, R13, R14, R15, R16, R17
7N.P.Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR6, R20, R23, R26, R29, R32, R33
6BSS138Package_TO_SOT_SMD:SOT-23Q1, Q2, Q3, Q4, Q5, Q6
510uCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC2, C3, C5, C8, C12
4100nCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC4, C6, C7, C10
31N4148Diode_SMD:D_SOD-123D1, D2, D3
2100Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR35, R36
250Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR2, R37
2INTRJumper:SolderJumper-2_P1.3mm_Bridged2Bar_RoundedPad1.0x1.5mmJP2, JP3
2MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2
11000uCapacitor_SMD:CP_Elec_10x10C1
13pCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC9
1470pCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC11
1Arduino_UNO_R3Module:Arduino_UNO_R3A1
1BREAKConnector_PinSocket_2.54mm:PinSocket_2x03_P2.54mm_VerticalJ7
1E-STOPTerminalBlock:TerminalBlock_Altech_AK300-3_P5.00mmJ2
1ERRLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderD5
1HW E-STOPJumper:SolderJumper-3_P1.3mm_Bridged12_RoundedPad1.0x1.5mm_NumberLabelsJP1
1IOTerminalBlock_Altech:Altech_AK300_1x06_P5.00mm_45-DegreeJ4
1LDP-C BOBConnector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_VerticalJ5
1LEDLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderD7
1MCP4725xxx-xCHPackage_TO_SOT_SMD:SOT-23-6U1
1MIC5205-3.3YM5Package_TO_SOT_SMD:SOT-23-5U3
1OPA2727Package_SO:SO-8_3.9x4.9mm_P1.27mmU2
1OUT_ENLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderD4
1SFH 213LED_THT:LED_D5.0mm_IRGreyD8
1TRGConnector_Coaxial:SMA_Amphenol_901-144_VerticalJ1
1TRGR'DLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderD6
1UARTConnector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_VerticalJ3
1VINTerminalBlock:TerminalBlock_Altech_AK300-2_P5.00mmJ6

Questions

How big is the Shield PCB?

It measures 76.7 × 57 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Shield use?

82 parts, built around the ARDUINO UNO R3, OPA2727AID, MIC5205-3.3YM5 and BSS138. 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 Shield KiCad files?

From the diminDDL/PicoLasDriver repository on GitHub, at the commit this page was made from: the board is HW/shield/shield.kicad_pcb and its schematic HW/shield/shield.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Shield design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 4 layers50 × 50 mmLoad, the printed circuit board in 3D

    Load

    AresEnsea/2324_Projet2A_AresCFR

    Ce repository GitHub regroupe l'ensemble des projets & documents réalisés par l'association Ares pour la Coupe de France de Robotique 2024 – Farming Mars.

    56 parts7
  • 2 layers100 × 100 mmOpenmower Brushed, the printed circuit board in 3D

    Openmower Brushed

    gk977246/Openmower_Brushed

    I have rebuilt a Bosch Indego800. It had no RPMSensor on the mowing motor, so i added magnet and hallsensor myself. It is easily possible, to convert any old mower with brushed motors, to openmower with RTK.

    139 parts1
  • 2 layers76.2 × 54 mmEUPLA CONE CORE V1.1.0, the printed circuit board in 3D

    EUPLA CONE CORE V1.1.0

    PineConeMechatronics/EUPLA_CONE_CORE

    Academic hardware development for the EUPLA_CONE_CORE project, including manufacturing files and sensor testing scripts.

    99 parts1CERN-OHL-P-2.0
  • 2 layers76.5 × 55.7 mmJanus pcb task, the printed circuit board in 3D

    Janus pcb task

    johntheseegler/janus_tasks

    task1atm1 is the ardiomo code for implementing moving average.

    19 parts
  • 2 layers55.4 × 33 mmWasd code upgrade, the printed circuit board in 3D

    Wasd code upgrade

    cbiffle/keybrain

    Drop-in replacement controller for WASD CODE v2B keyboard

    24 parts82
  • 2 layers65.2 × 100 mmGk midi module, the printed circuit board in 3D

    Gk midi module

    cycfi/nexus

    The Nexus breakout box

    115 parts20
  • 2 layers139 × 139 mmBreeze electronics design, the printed circuit board in 3D

    Breeze electronics design

    microdynamics-robot-quadcopter/breeze_electronics_design

    This project is created and managed by EDA softwares, which contains the breeze quadcopter's component library, footprint library, schematic, printed circuit boards, etc.

    107 parts13GPL-3.0