Sources
Info
Work in progress. This page will contain links to:
- Source files for hardware designs.
- Source files for firmware.
- Source files for software.
Licencing terms should be pointed out for each kind of content, and open source software/hardware used by the project.
The Pipettin Bot is an open-source hardware project that anyone can contribute to. Firmware and software sources are also available.
Licensing terms can be found here.
The project is built using open tools like FreeCAD. We want to make it easy for people to get involved and help us develop the project, and have developed it using open-source tools only.
Quick links:
- Full sources at GitLab.
- All sources are included in the main repository as git submodules.
- Third-party software.
- Sources for this documentation and MkDocs website.
Hardware¶
The Pipettin Bot project is open source; you can find all the hardware source files on GitLab and on this wiki, including schematics and FreeCAD files.
Since the Pipettin Bot is open source hardware, it was developed using open source tools, specifically FreeCAD for the hardware design. We developed our project using FreeCAD version 0.20.1 or greater.
We hope this will help you learn how the project works and contribute with your modifications.
Our Pipetting Bot's hardware and design documents are released under the CERN Open Hardware License S 2.0 (strongly reciprocal). If you have any questions about the license, please refer to the License text and the licensing section of this wiki.
Info
We are using Google Drive as temporary folders for storage, sharing, and collaboration. The "OLA documentation" drive is a cloud folder that we have used for quick and easy sharing of drawings, FreeCAD files, and other types of documentation. This is not, however, their final destination. All part models of Pipettin Bot will eventually live on GitLab.
CNC Firmware¶
Klipper¶
The project has moved from GRBL to Klipper, but will stick with Arduino UNO + CNC shield for the DIY version of the electronics.
Klipper will run on many more MCUs than the Arduino UNO, and is also Open Source Software. Using more expensive boards (e.g. the Duet2) with Klipper is very straightforward, as long as their microprocessors are supported.
Firmware source: https://gitlab.com/pipettin-bot/forks/firmware/klipper
Equipment¶
Warning
Work in progress. Most equipment mentioned below is not yet ready for automation.
Pipettin Bot can also interact with an active "benchtop" equipment, such as colorimeters, heater blocks, among others.
To learn more about Pipettin Bot's equipment visit here
Info
A guide on how to do this is due. In short, a "plugin" module must be added to piper, and custom actions must be added to protocols.
PocketPCR¶
Prototype adaptation of the PocketPCR to our system.
Info
Under development. Discord thread https://discord.com/channels/1042462799772782613/1130552183105015950/1130552183105015950 Issue: https://gitlab.com/pipettin-bot/pipettin-bot/-/issues/211
Thermocyclers, also known as PCR machines, are used in molecular biology for the polymerase chain reaction (PCR). The basic idea of a thermal cycler is that it provides a thermally controlled environment for PCR samples.
A thermal cycler usually contains a heating block with holes or depressions in it that receive sample tubes. For the PCR reactions to work properly, the block must change temperature at specific times, and spend specific durations of time at specific temperatures.
Source: https://gitlab.com/pipettin-bot/forks/labware/PocketPCR
Colorimeter¶
Prototype adaptation of a colorimeter to our system.
Info
Under development. Discord thread https://discord.com/channels/1042462799772782613/1125799842111832155 Issue for the task: https://gitlab.com/pipettin-bot/pipettin-bot/-/issues/200
Colorimeters are devices that measure the color of a sample. They do this by passing light through the sample and measuring how much of the light is absorbed at different wavelengths. The color of the sample is then determined by comparing the absorbance spectrum to a known standard.
Source: https://gitlab.com/pipettin-bot/forks/equipment/photo-colorimeter
Centrifuge¶
Prototype micro-centrifuge to our system.
More information here.
Info
Under development. Discord thread https://discord.com/channels/1042462799772782613/1128199805122920509 Issue for the task: https://gitlab.com/pipettin-bot/pipettin-bot/-/issues/212
Software¶
Controller: piper¶
In Pipettin-land, "controllers" are Python modules that coordinate and control hardware devices.
The main controller is the piper
module.
This module handles commands from the Pipettin Writer webapp/GUI. The events are received as socketio events by the GUI's backend, and proceeded into GCODE or other commands for hardware devices. The main program that piper
interacts with is Moonraker, which in turn controls a CNC Firmware called Klipper.
Info
SocketIO is a library that enables real-time, bidirectional and event-based communication between the browser and the server.
Info
Moonraker is a Python 3 based web server that exposes APIs with which client applications may use to interact with the 3D printing firmware Klipper.
Source: https://gitlab.com/pipettin-bot/pipettin-piper
Licensing terms can be found in the repositories.
Python API: newt¶
Info
Work in progress: the API is unfinished and non-functional. The JSON schemas for data validation and some low-level generator functions need more work.
Newt API is a module designed for the Pipettin project, and its purpose is to provide convenience functions for generating and validating JSON representations of pipetting objects. These objects include protocols, steps, labware, workspaces, platforms, and contents. The Newt API aims to create JSON "schemas" for each type of data, which can be used to ensure the consistency and correctness of the generated JSON objects.
Source: https://gitlab.com/pipettin-bot/pipettin-newt
Licensing terms can be found in the repositories.
Klipper stack¶
We also use other software components associated to the Klipper project, which we refer to as the "Klipper software stack".
Licensing terms can be found in the repositories.
- GitLab repositories:
- All-in-one repository: https://gitlab.com/pipettin-bot/forks/klipper-stack
- All firmware repositories
User Interface: Pipettin Writer¶
The "Pipettin Writer" is a web interface for writing and executing pipetting protocols. It is Open Source Software, with source files available and maintained on GitLab.
Specific and updated licensing terms can be found in the repositories.
- GUI repository: https://gitlab.com/pipettin-bot/pipettin-gui
Visual identity¶
Logos and all visual identity of the OLA and Pipettin Bot are not shared for free use.
All rights reserved.