From e2580a1c89cb6e4c378cd25cef524cae699a1d65 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 29 Dec 2023 23:54:13 +0000 Subject: [PATCH] Deploy https://github.com/PlanktoScope/PlanktoScope/commit/b92c949350ffa78d18fa3da30b581decf946b905 --- .../social/reference/software/changelog.png | Bin 41307 -> 0 bytes site/community/code-of-conduct/index.html | 2 +- .../contribute/documentation/index.html | 2 +- site/community/contribute/github/index.html | 2 +- site/community/contribute/hardware/index.html | 2 +- site/community/contribute/software/index.html | 2 +- site/community/index.html | 2 +- site/community/license/index.html | 2 +- site/community/trainings/index.html | 2 +- site/faq/index.html | 2 +- site/index.html | 2 +- site/operation/index.html | 2 +- site/operation/maintenance/index.html | 2 +- site/operation/sample-collection/index.html | 2 +- site/operation/user-interface/index.html | 2 +- site/reference/hardware/changelog/index.html | 2 +- site/reference/hardware/hat/index.html | 2 +- site/reference/index.html | 2 +- site/reference/software/changelog/index.html | 2 +- site/reference/software/mqtt-api/index.html | 2 +- site/search/search_index.json | 2 +- site/setup/hardware/index-noguides/index.html | 2 +- site/setup/hardware/index.html | 2 +- site/setup/hardware/v2.1/index.html | 2 +- site/setup/hardware/v2.5/assembly/index.html | 2 +- site/setup/hardware/v2.5/index.html | 2 +- site/setup/hardware/v2.5/kit/index.html | 2 +- site/setup/index.html | 2 +- site/setup/software/config/index.html | 2 +- site/setup/software/create-sd/index.html | 2 +- site/setup/software/index.html | 2 +- .../software/nonstandard-install/index.html | 2 +- .../software/standard-install/index.html | 2 +- site/sitemap.xml | 64 +++++++++--------- site/sitemap.xml.gz | Bin 459 -> 459 bytes site/troubleshooting/index.html | 2 +- 36 files changed, 65 insertions(+), 65 deletions(-) diff --git a/site/assets/images/social/reference/software/changelog.png b/site/assets/images/social/reference/software/changelog.png index 99f3efa67bedf0d8fed37a3fcba01dd9cd269691..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 GIT binary patch literal 0 HcmV?d00001 literal 41307 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

{v0ydmL5#5s%0p$r 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

Contributor Covenant Code of Conduct🔗

Our Pledge🔗

We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

Our Standards🔗

Examples of behavior that contributes to a positive environment for our community include:

  • Demonstrating empathy and kindness toward other people
  • Being respectful of differing opinions, viewpoints, and experiences
  • Giving and gracefully accepting constructive feedback
  • Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
  • Focusing on what is best not just for us as individuals, but for the overall community

Examples of unacceptable behavior include:

  • The use of sexualized language or imagery, and sexual attention or advances of any kind
  • Trolling, insulting or derogatory comments, and personal or political attacks
  • Public or private harassment
  • Publishing others' private information, such as a physical or email address, without their explicit permission
  • Other conduct which could reasonably be considered inappropriate in a professional setting

Enforcement Responsibilities🔗

Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.

Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.

Scope🔗

This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.

Enforcement🔗

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at < thibaut at fairscope.com > . All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the reporter of any incident.

Enforcement Guidelines🔗

Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:

1. Correction🔗

Community Impact: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.

Consequence: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.

2. Warning🔗

Community Impact: A violation through a single incident or series of actions.

Consequence: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.

3. Temporary Ban🔗

Community Impact: A serious violation of community standards, including sustained inappropriate behavior.

Consequence: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.

4. Permanent Ban🔗

Community Impact: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.

Consequence: A permanent ban from any sort of public interaction within the community.

Attribution🔗

This Code of Conduct is adapted from the Contributor Covenant, version 2.1, available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.

Community Impact Guidelines were inspired by Mozilla's code of conduct enforcement ladder.

For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.

Contributor Covenant Code of Conduct🔗

Our Pledge🔗

We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

Our Standards🔗

Examples of behavior that contributes to a positive environment for our community include:

  • Demonstrating empathy and kindness toward other people
  • Being respectful of differing opinions, viewpoints, and experiences
  • Giving and gracefully accepting constructive feedback
  • Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
  • Focusing on what is best not just for us as individuals, but for the overall community

Examples of unacceptable behavior include:

  • The use of sexualized language or imagery, and sexual attention or advances of any kind
  • Trolling, insulting or derogatory comments, and personal or political attacks
  • Public or private harassment
  • Publishing others' private information, such as a physical or email address, without their explicit permission
  • Other conduct which could reasonably be considered inappropriate in a professional setting

Enforcement Responsibilities🔗

Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.

Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.

Scope🔗

This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.

Enforcement🔗

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at < thibaut at fairscope.com > . All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the reporter of any incident.

Enforcement Guidelines🔗

Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:

1. Correction🔗

Community Impact: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.

Consequence: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.

2. Warning🔗

Community Impact: A violation through a single incident or series of actions.

Consequence: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.

3. Temporary Ban🔗

Community Impact: A serious violation of community standards, including sustained inappropriate behavior.

Consequence: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.

4. Permanent Ban🔗

Community Impact: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.

Consequence: A permanent ban from any sort of public interaction within the community.

Attribution🔗

This Code of Conduct is adapted from the Contributor Covenant, version 2.1, available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.

Community Impact Guidelines were inspired by Mozilla's code of conduct enforcement ladder.

For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.

Writing Documentation🔗

The source files are in the main github repository, in the docs folder.

They are simple Markdown files, that you can edit in any text editor of your choice.

The local development and test is made using mkdocs. This allows you to test your documentation changes for styling issues and see what it will look like once rendered.

hatch run docs:serve
-

After installing mkdocs, you can use mkdocs serve in the main folder of this repository to start the development server.

If you want to include pictures and diagrams in the documentation, please set the pictures in a dedicated folder to the name of the page you are creating (for example, if your page is named expert_setup.md, please put all the related pictures in the docs/expert_setup/ folder). Each picture should be named with a simple yet descriptive name, using jpg or png format if possible. Try to limit the size of the file by limiting the resolution to what is necessary for the picture to be clear on screen.

Contributions should be made by creating pull requests on Github directly.

Extensions available🔗

In addition to the common markdown syntax, several extensions are activated. If you want more information on any of them, please follow the linked guides.

  • SmartyPants: Converts ASCII dashes, quotes and ellipses to their HTML entity equivalents.
  • Sane Lists: Alters the behavior of the Markdown List syntax to be less surprising.
  • Admonition: Adds rST-style admonitions to Markdown documents.
  • Table of contents: Generates a Table of Contents from a Markdown document and adds it into the resulting HTML document.
  • Metadata: Adds a syntax for defining meta-data about a document.
  • Tables: Adds the ability to create tables in Markdown documents.
  • Fenced Code Blocks: Adds a secondary way to define code blocks.

Contributing🔗

First of all, thank you for contributing to the PlanktoScope! The goal of this document is to provide everything you need to know in order to contribute to PlanktoScope.

There are several ways to join the development effort, share your progress with your build or just ask for help.

We are using slack as a communication platform between interested parties. You can request to join by filling this form.

This repository is also a good way to get involved. Please fill in an issue if you witnessed a bug in the software or hardware. If you are able, you can also join the development effort. Look through the issues opened and choose one that piques your interest. Let us know you want to work on it in the comments, we may even be able to guide your beginnings around the code.

Assumptions🔗

  1. You're familiar with git and the Merge Request(PR) workflow.
  2. **You've read the PlanktoScope documentation.
  3. You know about the PlanktoScope community on Slack. Please use this for help.

How to Contribute🔗

  1. Make sure that the contribution you want to make is explained or detailed in a GitHub issue! Find an existing issue or open a new one.
  2. Once done, fork the PlanktoScope repository in your Github account. Ask a mastertainer if you want your issue to be checked before making a PR.
  3. Create a new Git branch.
  4. Review the Development Workflow section that describes the steps to mastertain the repository.
  5. Make the changes on your branch.
  6. Submit the branch as a PR pointing to the master branch of the master fabcity-os-core-chart repository. A mastertainer should comment and/or review your Pull Request within a few days. Although depending on the circumstances, it may take longer. We do not enforce a naming convention for the PRs, but please use something descriptive of your changes, having in mind that the title of your PR will be automatically added to the next release changelog.

Git Guidelines🔗

Git Branches🔗

All changes must be made in a branch and submitted as PR. We do not enforce any branch naming style, but please use something descriptive of your changes.

Git Commits🔗

As minimal requirements, your commit message should:

  • be capitalized
  • not finish by a dot or any other punctuation character (!,?)
  • start with a verb so that we can read your commit message this way: "This commit will ...", where "..." is the commit message. e.g.: "Fix the home page button" or "Add more tests for create_index method"

We don't follow any other convention, but if you want to use one, we recommend this one.

Pull Requests🔗

Some notes on PRs:

  • Convert your PR as a draft if your changes are a work in progress: no one will review it until you pass your PR as ready for review.
    The draft PR can be very useful if you want to show that you are working on something and make your work visible.
  • The branch related to the PR must be up-to-date with master before merging. Fortunately, this project integrates a bot to automatically enforce this requirement without the PR author having to do it manually.
  • All PRs must be reviewed and approved by at least one mastertainer.
  • The PR title should be accurate and descriptive of the changes. The title of the PR will be indeed automatically added to the next release changelogs.

Release Process (for internal team only)🔗

PlanktoScope tools follow the Semantic Versioning Convention.

Automation to Rebase and Merge the PRs🔗

This project integrates a bot that helps us manage pull requests merging.
Read more about this.

How to Publish the Release🔗

⚠️ Before doing anything, make sure you got through the guide about Releasing an Integration.

⚠️ Every PR that is merged to master introducing changes to the PlanktoScope needs to modify the file ``, by increasing the version of the chart accordingly.

Every PR that is merged to master triggers the automated release process, as specified at ``. A GitHub Action will be triggered and publish a new release on the GitHub repository releases. This will enable users to start using the new version of the chart immediately after publishing.

Thank you again for reading this through, we can not wait to begin to work with you if you made your way through this contributing guide ❤️

Contributing🔗

First of all, thank you for contributing to the PlanktoScope! The goal of this document is to provide everything you need to know in order to contribute to PlanktoScope.

There are several ways to join the development effort, share your progress with your build or just ask for help.

We are using slack as a communication platform between interested parties. You can request to join by filling this form.

This repository is also a good way to get involved. Please fill in an issue if you witnessed a bug in the software or hardware. If you are able, you can also join the development effort. Look through the issues opened and choose one that piques your interest. Let us know you want to work on it in the comments, we may even be able to guide your beginnings around the code.

Assumptions🔗

  1. You're familiar with git and the Merge Request(PR) workflow.
  2. **You've read the PlanktoScope documentation.
  3. You know about the PlanktoScope community on Slack. Please use this for help.

How to Contribute🔗

  1. Make sure that the contribution you want to make is explained or detailed in a GitHub issue! Find an existing issue or open a new one.
  2. Once done, fork the PlanktoScope repository in your Github account. Ask a mastertainer if you want your issue to be checked before making a PR.
  3. Create a new Git branch.
  4. Review the Development Workflow section that describes the steps to mastertain the repository.
  5. Make the changes on your branch.
  6. Submit the branch as a PR pointing to the master branch of the master fabcity-os-core-chart repository. A mastertainer should comment and/or review your Pull Request within a few days. Although depending on the circumstances, it may take longer. We do not enforce a naming convention for the PRs, but please use something descriptive of your changes, having in mind that the title of your PR will be automatically added to the next release changelog.

Git Guidelines🔗

Git Branches🔗

All changes must be made in a branch and submitted as PR. We do not enforce any branch naming style, but please use something descriptive of your changes.

Git Commits🔗

As minimal requirements, your commit message should:

  • be capitalized
  • not finish by a dot or any other punctuation character (!,?)
  • start with a verb so that we can read your commit message this way: "This commit will ...", where "..." is the commit message. e.g.: "Fix the home page button" or "Add more tests for create_index method"

We don't follow any other convention, but if you want to use one, we recommend this one.

Pull Requests🔗

Some notes on PRs:

  • Convert your PR as a draft if your changes are a work in progress: no one will review it until you pass your PR as ready for review.
    The draft PR can be very useful if you want to show that you are working on something and make your work visible.
  • The branch related to the PR must be up-to-date with master before merging. Fortunately, this project integrates a bot to automatically enforce this requirement without the PR author having to do it manually.
  • All PRs must be reviewed and approved by at least one mastertainer.
  • The PR title should be accurate and descriptive of the changes. The title of the PR will be indeed automatically added to the next release changelogs.

Release Process (for internal team only)🔗

PlanktoScope tools follow the Semantic Versioning Convention.

Automation to Rebase and Merge the PRs🔗

This project integrates a bot that helps us manage pull requests merging.
Read more about this.

How to Publish the Release🔗

⚠️ Before doing anything, make sure you got through the guide about Releasing an Integration.

⚠️ Every PR that is merged to master introducing changes to the PlanktoScope needs to modify the file ``, by increasing the version of the chart accordingly.

Every PR that is merged to master triggers the automated release process, as specified at ``. A GitHub Action will be triggered and publish a new release on the GitHub repository releases. This will enable users to start using the new version of the chart immediately after publishing.

Thank you again for reading this through, we can not wait to begin to work with you if you made your way through this contributing guide ❤️

Hardware Development🔗

planktoscope_hero

PlanktoScope Case🔗

autodesk_fusion_360

As a hardware engineer working on the PlanktoScope Case, you will be using Autodesk Fusion 360 for the development of the case design. Fusion 360 is a comprehensive computer-aided design (CAD) software that allows you to create and analyze complex 3D models, perform simulations and stress tests, and collaborate with team members in real-time.

To get started with the project, you will need to install a development environment on your computer. Here are the steps to follow:

  • Download and install Fusion 360 from the Autodesk website.
  • Create a free Autodesk account and log in to Fusion 360.
  • Join the PlanktoScope Case team in Fusion 360. This will give you access to all of the project files and allow you to collaborate with other team members.
  • Familiarize yourself with the Fusion 360 interface and tools. There are many resources available online, including tutorials and user guides, to help you get up to speed.
  • Start designing and testing your case components in Fusion 360. You can use the software to create 3D models, run simulations and stress tests, and collaborate with other team members in real-time.

By following these steps, you will be able to successfully install a development environment and participate in the PlanktoScope Case using Autodesk Fusion 360.

PlanktoScope Hat🔗

autodesk_eagle

As a hardware engineer working on the PlanktoScope Hat, you will be using Autodesk Eagle to design and develop the electronic components of the hat. Autodesk Eagle is a powerful and widely used software platform for designing and laying out printed circuit boards (PCBs).

To participate in the project, you will need to install a development environment on your computer that includes Autodesk Eagle and any other necessary tools and libraries. Here are the steps you can follow to set up your development environment:

  • Download and install Autodesk Eagle from the official website. Make sure to select the appropriate version for your operating system (Windows, Mac, or Linux).
  • Follow the instructions provided by Autodesk to complete the installation process. This may involve entering a license key or activating the software through your Autodesk account.
  • Once Autodesk Eagle is installed, you may need to install additional libraries or tools depending on the specific requirements of the PlanktoScope Hat. These may include libraries for communicating with specific hardware components, or tools for debugging and testing your designs.
  • Once you have installed all the necessary tools and libraries, you should be ready to start working on the PlanktoScope Hat using Autodesk Eagle. You can begin by opening the project files and familiarizing yourself with the existing design, or by creating new designs as needed.

By following these steps, you can set up a development environment that allows you to contribute to the PlanktoScope Hat using Autodesk Eagle.

Hardware Development🔗

planktoscope_hero

PlanktoScope Case🔗

autodesk_fusion_360

As a hardware engineer working on the PlanktoScope Case, you will be using Autodesk Fusion 360 for the development of the case design. Fusion 360 is a comprehensive computer-aided design (CAD) software that allows you to create and analyze complex 3D models, perform simulations and stress tests, and collaborate with team members in real-time.

To get started with the project, you will need to install a development environment on your computer. Here are the steps to follow:

  • Download and install Fusion 360 from the Autodesk website.
  • Create a free Autodesk account and log in to Fusion 360.
  • Join the PlanktoScope Case team in Fusion 360. This will give you access to all of the project files and allow you to collaborate with other team members.
  • Familiarize yourself with the Fusion 360 interface and tools. There are many resources available online, including tutorials and user guides, to help you get up to speed.
  • Start designing and testing your case components in Fusion 360. You can use the software to create 3D models, run simulations and stress tests, and collaborate with other team members in real-time.

By following these steps, you will be able to successfully install a development environment and participate in the PlanktoScope Case using Autodesk Fusion 360.

PlanktoScope Hat🔗

autodesk_eagle

As a hardware engineer working on the PlanktoScope Hat, you will be using Autodesk Eagle to design and develop the electronic components of the hat. Autodesk Eagle is a powerful and widely used software platform for designing and laying out printed circuit boards (PCBs).

To participate in the project, you will need to install a development environment on your computer that includes Autodesk Eagle and any other necessary tools and libraries. Here are the steps you can follow to set up your development environment:

  • Download and install Autodesk Eagle from the official website. Make sure to select the appropriate version for your operating system (Windows, Mac, or Linux).
  • Follow the instructions provided by Autodesk to complete the installation process. This may involve entering a license key or activating the software through your Autodesk account.
  • Once Autodesk Eagle is installed, you may need to install additional libraries or tools depending on the specific requirements of the PlanktoScope Hat. These may include libraries for communicating with specific hardware components, or tools for debugging and testing your designs.
  • Once you have installed all the necessary tools and libraries, you should be ready to start working on the PlanktoScope Hat using Autodesk Eagle. You can begin by opening the project files and familiarizing yourself with the existing design, or by creating new designs as needed.

By following these steps, you can set up a development environment that allows you to contribute to the PlanktoScope Hat using Autodesk Eagle.

How to help development for the PlanktoScope code🔗

We are using the Github Flow approach for our development efforts.

If you want to join us, have a look at the currently opened issues and pick one where you feel like you can have an impact. Let us know you want to work it in the comments and get started.

For working on Node-Red, we recommend to install it directly on your development machine to allow for faster cycles of testing (and ease of use). But feel free to setup a Pi Zero as a portable and compact development environment! (One of us is using one configured as usb gadget to do so!)

Node-Red🔗

Node-Red is our main process. We use the flow to manage our user interface through a dashboard instance.

node-red

As a software engineer, you may need to set up a Node-RED development environment on a Debian operating system. Node-RED is an open-source programming tool for wiring together hardware devices, APIs, and online services in new and interesting ways. It provides a visual, drag-and-drop interface for building applications, and can be used to develop a wide range of IoT, automation, and data processing projects.

To set up a Node-RED development environment on a Debian operating system, you will need to follow these steps:

  1. Install Node.js: Node-RED requires Node.js to be installed on your system. You can install Node.js using the package manager by running the following command: sudo apt-get install nodejs
  2. Install npm (Node Package Manager): npm is a package manager for Node.js that is used to install and manage Node-RED and its dependencies. You can install npm by running the following command: sudo apt-get install npm
  3. Install Node-RED: Once Node.js and npm are installed, you can install Node-RED by running the following command: sudo npm install -g --unsafe-perm node-red
  4. Start the Node-RED server: You can start the Node-RED server by running the following command: node-red
  5. Access the Node-RED editor: You can access the Node-RED editor by opening a web browser and going to the URL http://localhost:1880.

By following these steps, you will be able to set up a Node-RED development environment on your Debian operating system and start building applications with the visual, drag-and-drop interface.

Python🔗

python

The python code is separated in four main processes, each with a specific set of responsibilities:

  • The main process controls all the others, starts everything up and cleans up on shutdown
  • The stepper process manages the stepper movements.
  • The imager process controls the camera and the streaming server via a state machine.
  • The segmenter process manages the segmentation and its outputs.

Those processes all communicates together using MQTT and json messages. Each message is adressed to one topic. The high level topic controls which process receives the message. The details of each topic is at the end of this commit message. You can learn more about the MQTT Messages here.

The code is architectured around 6 modules and about 10 classes. I encourage you to have a look at the files, they're pretty straightforward to understand.

How to help development for the PlanktoScope code🔗

We are using the Github Flow approach for our development efforts.

If you want to join us, have a look at the currently opened issues and pick one where you feel like you can have an impact. Let us know you want to work it in the comments and get started.

For working on Node-Red, we recommend to install it directly on your development machine to allow for faster cycles of testing (and ease of use). But feel free to setup a Pi Zero as a portable and compact development environment! (One of us is using one configured as usb gadget to do so!)

Node-Red🔗

Node-Red is our main process. We use the flow to manage our user interface through a dashboard instance.

node-red

As a software engineer, you may need to set up a Node-RED development environment on a Debian operating system. Node-RED is an open-source programming tool for wiring together hardware devices, APIs, and online services in new and interesting ways. It provides a visual, drag-and-drop interface for building applications, and can be used to develop a wide range of IoT, automation, and data processing projects.

To set up a Node-RED development environment on a Debian operating system, you will need to follow these steps:

  1. Install Node.js: Node-RED requires Node.js to be installed on your system. You can install Node.js using the package manager by running the following command: sudo apt-get install nodejs
  2. Install npm (Node Package Manager): npm is a package manager for Node.js that is used to install and manage Node-RED and its dependencies. You can install npm by running the following command: sudo apt-get install npm
  3. Install Node-RED: Once Node.js and npm are installed, you can install Node-RED by running the following command: sudo npm install -g --unsafe-perm node-red
  4. Start the Node-RED server: You can start the Node-RED server by running the following command: node-red
  5. Access the Node-RED editor: You can access the Node-RED editor by opening a web browser and going to the URL http://localhost:1880.

By following these steps, you will be able to set up a Node-RED development environment on your Debian operating system and start building applications with the visual, drag-and-drop interface.

Python🔗

python

The python code is separated in four main processes, each with a specific set of responsibilities:

  • The main process controls all the others, starts everything up and cleans up on shutdown
  • The stepper process manages the stepper movements.
  • The imager process controls the camera and the streaming server via a state machine.
  • The segmenter process manages the segmentation and its outputs.

Those processes all communicates together using MQTT and json messages. Each message is adressed to one topic. The high level topic controls which process receives the message. The details of each topic is at the end of this commit message. You can learn more about the MQTT Messages here.

The code is architectured around 6 modules and about 10 classes. I encourage you to have a look at the files, they're pretty straightforward to understand.

The PlanktoScope Community🔗

PlanktoScope is a completely open platform. The core of the PlanktoScope project is a basis in an evolving network of designers and users collaborating to increase the impact and availability of the tools. Building a community of users will enable PlanktoScope to grow with capabilities not yet imagined.

For around $800, and with parts freely available in most parts of the globe, any person with the desire to engage can begin building a PlanktoScope. This website contains the information needed to assemble, test, and begin collecting data on your PlanktoScope.

Engage on GitHub🔗

Feel free to visit the GitHub and engage if you want.

GitHub

GitHub is a web-based platform that is widely used in the PlanktoScope Community for version control and collaboration. It allows members to easily share, track, and manage code and other project files. The platform is built around the Git version control system, which allows multiple contributors to work on the same codebase simultaneously while keeping a record of every change made.

In the PlanktoScope Community, members can use GitHub to collaborate on the development of the Planktoscope project. They created a central repository where they can share and track the code, documentation, and other project files.

Chat on Slack🔗

The community is using Slack to communicate.

Slack

Slack is a communication and collaboration tool that is widely used in the PlanktoScope Community. It allows members to communicate and work together in real-time, providing a central hub for all conversations related to Planktoscope project. The platform offers features such as direct messaging, group channels, video conferencing, and file sharing, making it easy for members to stay informed and on the same page.

The PlanktoScope community has created a dedicated Slack workspace for the community members to share their findings, ask for help, and discuss project-related topics.

Classify on EcoTaxa🔗

To join EcoTaxa, you just need to create an account.

EcoTaxa

EcoTaxa is a web-based platform that enables researchers, educators, and citizen scientists to identify, classify and share images of microorganisms. The platform is designed to support biodiversity research and education by providing a user-friendly interface for browsing and analyzing images of microorganisms, as well as a collaborative environment for sharing images and data. EcoTaxa allows users to upload their own images, and the platform's machine learning algorithms can automatically identify and classify the organisms in the images.

The platform also offers a variety of tools for analyzing and visualizing data, including image annotation, statistical analysis, and data export. Additionally, EcoTaxa has a community feature where researchers can share their findings, and have a discussion on the data, and contribute to the knowledge base. Overall, EcoTaxa is a valuable resource for anyone interested in microorganism biodiversity research and education.

The PlanktoScope Community🔗

PlanktoScope is a completely open platform. The core of the PlanktoScope project is a basis in an evolving network of designers and users collaborating to increase the impact and availability of the tools. Building a community of users will enable PlanktoScope to grow with capabilities not yet imagined.

For around $800, and with parts freely available in most parts of the globe, any person with the desire to engage can begin building a PlanktoScope. This website contains the information needed to assemble, test, and begin collecting data on your PlanktoScope.

Engage on GitHub🔗

Feel free to visit the GitHub and engage if you want.

GitHub

GitHub is a web-based platform that is widely used in the PlanktoScope Community for version control and collaboration. It allows members to easily share, track, and manage code and other project files. The platform is built around the Git version control system, which allows multiple contributors to work on the same codebase simultaneously while keeping a record of every change made.

In the PlanktoScope Community, members can use GitHub to collaborate on the development of the Planktoscope project. They created a central repository where they can share and track the code, documentation, and other project files.

Chat on Slack🔗

The community is using Slack to communicate.

Slack

Slack is a communication and collaboration tool that is widely used in the PlanktoScope Community. It allows members to communicate and work together in real-time, providing a central hub for all conversations related to Planktoscope project. The platform offers features such as direct messaging, group channels, video conferencing, and file sharing, making it easy for members to stay informed and on the same page.

The PlanktoScope community has created a dedicated Slack workspace for the community members to share their findings, ask for help, and discuss project-related topics.

Classify on EcoTaxa🔗

To join EcoTaxa, you just need to create an account.

EcoTaxa

EcoTaxa is a web-based platform that enables researchers, educators, and citizen scientists to identify, classify and share images of microorganisms. The platform is designed to support biodiversity research and education by providing a user-friendly interface for browsing and analyzing images of microorganisms, as well as a collaborative environment for sharing images and data. EcoTaxa allows users to upload their own images, and the platform's machine learning algorithms can automatically identify and classify the organisms in the images.

The platform also offers a variety of tools for analyzing and visualizing data, including image annotation, statistical analysis, and data export. Additionally, EcoTaxa has a community feature where researchers can share their findings, and have a discussion on the data, and contribute to the knowledge base. Overall, EcoTaxa is a valuable resource for anyone interested in microorganism biodiversity research and education.

Our work is fully open source🔗

That's the headline, yes.

Hardware files🔗

We released our hardware files (everything in the hardware directory) under a CERN OHL-S license.

Software source🔗

Our source code (everything in the directories flows and scripts) is released under a GPL-3.0 license.

Everything else (documentation, pictures, etc...)🔗

Everything else is released under a Creative Commons CC-BY-SA license.

Our work is fully open source🔗

That's the headline, yes.

Hardware files🔗

We released our hardware files (everything in the hardware directory) under a CERN OHL-S license.

Software source🔗

Our source code (everything in the directories flows and scripts) is released under a GPL-3.0 license.

Everything else (documentation, pictures, etc...)🔗

Everything else is released under a Creative Commons CC-BY-SA license.

Trainings🔗

The success of the PlanktoScope community depends on the people who generously share their knowledge and expertise about its production and use with others, helping to promote its widespread adoption and use. By actively participating in the community and sharing their insights and experiences, individuals can contribute to the growth and success of the PlanktoScope, ultimately benefiting not just the community but also the broader field of study.

The Train the trainer program🔗

The train the trainer program is a training program designed to equip individuals with the knowledge and skills needed to deliver training to others. The goal of a train the trainer program is to build capacity within the PlanktoScope community by volunteers to become trainers themselves.

This guide is intended to provide you with a solid foundation of knowledge and understanding about the PlanktoScope, enabling you to confidently develop and deliver your own training program for others. Whether you are an experienced user looking to share your expertise with others or a newcomer to the PlanktoScope looking to learn more about its capabilities and applications, this guide is designed to help you gain the necessary skills and knowledge to successfully teach others about this powerful tool.

Event types🔗

Build workshop🔗

Organizing a build workshop can be a challenging but rewarding experience. It requires careful planning and execution to ensure that the workshop is successful. This trainer manual is designed to guide you through the process of organizing a build workshop.

Selecting the production site🔗

Choosing the right production site for preparing and manufacturing the PlanktoScope Kits is an important step in the workshop planning process. The production site should have the necessary tools and equipment, as well as the knowledge and expertise to manufacture the PlanktoScope Kits. Here are a few things to consider when choosing a production site:

  1. Check the Manufacturing and Assembly Guides: Before choosing a production site, make sure to review the PlanktoScope Kit Manufacturing Guide and the Device Assembly Guide. These guides will provide detailed information on the necessary tools and equipment required for the production of the PlanktoScope Kits.
  2. Visit Fablab and Hackspaces: Consider visiting Fablabs or Hackspaces in your region. These organizations often have a culture of openness and may be willing to support you with your project. They may have the necessary tools and equipment to produce the PlanktoScope Kits, as well as the knowledge and expertise to guide you through the production process.
  3. Commercial Manufacturing: Look for a facility that has the capability to handle small scale production runs, a good quality control process and a logistic plan to ship the product to the final destination. Many

Tip

For the PlanktoScope case, for example, you can look for woodworking companies. They often have a CNC machine and are familiar with the process of ditigal production.

Material procurement🔗

Building a PlanktoScope requires a specific set of materials. In order to ensure that the workshop runs smoothly and that all attendees are able to successfully build their own PlanktoScope, it is important to properly plan and execute the procurement of materials. The following is a step-by-step guide on how to properly plan and execute the procurement of materials for a workshop:

  1. Prepare the order list: Use the bill of materials (BOM) as a starting point to create a comprehensive list of all materials needed for the workshop. Expand it with additional columns for suppliers, delivery dates, prices, shipping costs, and import taxes.
  2. Plan for packaging: Plan for extra packaging so you can assemble the parts as shown in the instructions. Try to minimize plastic as much as possible.
  3. Research suppliers: Research suppliers and see if there are local options, if you can consolidate orders to save costs and ensure timely delivery.
  4. Compare prices: Compare the prices of different suppliers to minimize the total cost.
  5. Plan for spare parts: Plan for spare parts in case something is broken or lost.
  6. Check your Budget: Check your budget and ensure that you have enough funds to cover the cost of all materials, shipping, and any additional expenses before placing your orders.
  7. Place orders: Once you have identified the best suppliers, place orders for all of the materials that you need. Be sure to factor in lead time when placing orders to ensure that the materials will arrive in time for the workshop.
  8. Track orders: Keep track of your orders and expected delivery dates, mark a component when it arrives. Contact suppliers if there are any delays or problems with delivery.
  9. Communicate: Communicate with participants if there are issues with timely delivery. It may make sense to postpone the workshop if there is not enough time to prepare and test everything. The participants will be grateful and will understand if it helps to ensure that everything runs smoothly.

By following this process, you can ensure that all materials are procured and organized well in advance of the workshop, to avoid any last-minute delays or complications.

Note

If you have difficulty finding the components you need, contact us and we will be happy to help you find the right alternative.

Warning

Have a backup plan and be prepared for unexpected events that may occur during the procurement process. Allow two months for delivery, as some specialty parts may travel a long way and require additional time for customs inspection.

Tip

Let us know your results, we would love to hear what solutions you found and how cost effective you were able to make the PlanktoScope.

Prepare the Kit🔗

Kit preparation for the workshop is an important step in the preparation process. This ensures that participants have the materials and equipment they need to complete the workshop and build their own PlanktoScope. Here are a few things to keep in mind when preparing the kits:

  1. Review the Bill of Materials (BOM): Review the Bill of Materials (BOM) for the PlanktoScope to ensure that you have all the necessary parts and materials for the workshop. The parts list can be found in the Device Assembly Guide and lists all components and quantities needed to build a microscope.
  2. Divide the kit components according to the BOM: Once the materials have been received, divide the kit components from the orders according to the Bill of Materials (BOM) of the PlanktoScope. This will ensure that each participant receives the correct components and that there are no missing parts.
  3. Have extra components: Have extra components on hand in case of any missing or damaged parts during the workshop.
  4. Package the kits: Package the kits in a way that makes it easy for the participants to find and use the components during the workshop.
  5. Label materials: Label the packages as described in Device Assembly Guide so that they are easy to find and distribute during the workshop.
  6. Preparation of the housing parts: Prepare the housing parts by applying the surface sealant and insert the nuts to screw the housing as described in the Kit Manufacturing Guide.
  7. Cutting and soldering of electronic cables: Cut and solder the electronic cables for the PlanktoScope. This will save time during the workshop and ensure that the participants have all the necessary cables to complete the assembly.
  8. Setting up the embedded development environment: Set up the embedded development environment and flash the eeprom of the PlanktoScope hat. This will ensure that the PlanktoScope hat is ready to be used during the workshop.
  9. Download the Raspberry Pi image: Download the Raspberry Pi image and flash it to the SD card. This will ensure that the participants have a ready to use image for the PlanktoScope.
  10. Test the kits: Test the kits before the workshop to ensure that all components are working correctly and that the instructions are clear and easy to follow. This will help to ensure that the participants have a positive and productive experience during the workshop.

Tip

Identify any items that are time consuming during the workshop and not particularly important or complex to explain. These tasks can be completed in advance to save time during the workshop. This will make it easier for the participants to assemble the PlanktoScope during the workshop.

Conducting the workshop🔗

It's finally here! After all the planning, preparation, and anticipation, the build workshop is about to begin. Take a deep breath and let's go!

  1. Prepare the presentation: Prepare the presentation device and start your slides.
  2. Check-In: Once the Participants arrive, complete the check-in, share the agenda and set expectations for the workshop.
  3. Venue: Provide information about the venue, including where to find restrooms and where to buy food.
  4. Digital tools: Provide information about the digital tools that will be used during the workshop, such as the platform for collaboration, the survey tool and the chat channel, and how to access them.
  5. Data privacy: Inform about the privacy policy and the forms that need to be signed by the participants if you want to take photos.
  6. Introduction round: Begin with a round of introductions and give everyone a chance to introduce themselves, their background, and their interest in the project.
  7. Provide an overview: Provide details about the project, including the general mode of operation, the working materials such as the kit, the documentation and the git repository.
  8. Provide the Kits and Tools: Provide the Kit and Tools to each participant with a kit and the necessary tools.
  9. Follow the build instructions: Depending on the format you have chosen, start implementing by following the Kit Manufacturing guide or Device Assembly guide
  10. Follow the operation instructions: Now that you have successfully assembled the PlanktoScope, you can proceed to operation of the PlanktoScope by following the Getting started and User interface instructions.
  11. Final Test: For a final test you can use for example pure cultures or a sample taken with a Plankton net from a surrounding waters.

Field trip🔗

Are you an expert in organizing field trips? Share your skills with the PlanktoScope community by documenting the process! By documenting how you organize a field trip, you can help others create successful events and bring more event options to the PlanktoScope community. Your documentation will be a valuable resource for anyone looking to plan a field trip, and it will also help to grow and strengthen the PlanktoScope community. Don't miss this opportunity to contribute to the community, start documenting your process today!

Hackathon🔗

Are you a master at organizing Hackathons? Share your knowledge with the PlanktoScope community by documenting the process! By documenting how you organize a Hackathon, you can help others create successful events and bring more event options to the PlanktoScope community. Your documentation will be a valuable resource for anyone looking to host a Hackathon, and it will also help to grow and strengthen the PlanktoScope community. Don't miss this opportunity to contribute to the community, start documenting your process today!

General planning methods🔗

Organizing a workshop can be a challenging but rewarding experience. It requires careful planning and execution to ensure that the workshop is successful. This trainer module is designed to guide you through the process of organizing any type of event.

By following the guidelines, you will be able to plan a workshop that is engaging, productive, and successful. It will also help you to create a sense of community among participants and will help them continue their learning after the workshop.

Building a team🔗

Every project needs a team to support it. The team should be composed of individuals with a diverse set of skills and experiences to ensure all aspects of the workshop are effectively covered.

  1. Identify the roles and responsibilities: Determine the key areas that need to be covered during the workshop and assign specific roles to team members. For example, one team member may be responsible for organizing logistics, while another may be responsible for creating the agenda.
  2. Assemble the team: Once the roles and responsibilities have been identified, begin assembling the team. Consider individuals with relevant skills and experiences, as well as those who have a passion for the topic of the workshop. It is also important to have a mix of team members from different departments or backgrounds to bring a variety of perspectives to the planning process.
  3. Communicate effectively: Establish clear lines of communication within the team to ensure that everyone is on the same page. This can be done through regular meetings, email, or a team collaboration platform.
  4. Encourage participation: Encourage team members to actively participate in the planning process by sharing their ideas and feedback. This will help to ensure that everyone feels invested in the success of the workshop.
  5. Appoint a leader: Appoint a leader for the team who will be responsible for coordinating the planning process and ensuring that the team stays on track. The leader should be someone who is organized, a good communicator, and able to delegate tasks effectively.

Communication channels🔗

Choosing the right communication channels is an important step in the planning process for a workshop, as it is crucial not only for the organizing team but also for the participants during and after the workshop. The right communication channels can help to build a fluent community, improve collaboration and keep everyone informed and on the same page.

  1. Choose the right channels: Once the needs have been identified, choose the communication channels that will best serve those needs. Email, chat, and video conferencing are all popular options. If the group is small, a group chat or email chain may be sufficient. If the group is larger or more dispersed, a video conferencing platform may be more appropriate.
  2. Make sure they are accessible: Ensure that the communication channels you choose are accessible to all participants. This may include providing training or support for those who are less familiar with the tools you are using.
  3. Communicate expectations: Clearly communicate the expectations for using the communication channels to the participants. This includes guidelines for how often and when to check the channels, as well as how to respond to messages.
  4. Continuity: Make sure that you have continuity in the communication channels after the workshop. This will help to build a fluent community and to keep the participants connected and engaged. Use the same channels to share updates and resources, or to organize follow-up events or activities.

Note

Email is a reliable and widely-used communication channel that can be used for sending out workshop updates, sending materials, and answering questions. It is also a good option for sending out reminders and follow-up information after the workshop.

Note

Chat networks, such as Matrix, are a great option for secure, real-time and decentralized communication during the workshop. They allow participants to ask questions, share resources and collaborate on projects in real-time. They can also be used for group discussions and as a platform for sharing feedback. Additionally, chat platforms can be used as a platform for post-workshop communication and to build a fluent community.

Tip

If you need assistance with creating a Chat for your workshop, please let us know. We can easily set up new subchannels within our PlanktoScope Slack channel to support communication and collaboration during your workshop. This will also help facilitate the exchange of information within the community.

Selecting digital tools🔗

The right tools can help to facilitate communication, collaboration, and organization, making the workshop experience more productive and enjoyable for everyone.

  1. Use web-based tools: Whenever possible, use web-based tools that can be accessed from any device with an internet connection. This will make it easier for participants to access and use the tools, regardless of their location or device.
  2. Use collaborative note-taking tools: You might use web-based tools like HedgeDoc that allow participants to collaboratively collect notes during the workshop. This can help to ensure that everyone has access to the same information, and can help to make the workshop experience more productive and enjoyable for everyone.
  3. Use survey tools: You might use survey tools like LimeSurvey to gather information about the participants' needs and expectations for the workshop. This can help to ensure that the workshop is relevant, valuable, and effective for them.
  4. Use ticketing tools: You might use tools like Pretix to manage ticketing for the workshop. This can help to simplify the registration process, and can also provide valuable information about the attendees.

Find your audience🔗

If you already have an audience for your workshop, that's fantastic. But it's also a good idea to let others know about your plans and potentially expand your audience. Contact nongovernmental organizations, universities, and research institutions in your area to see if they would be interested in participating in or even helping to organize the workshop.

Tip

One way to get in touch with others who are interested in PlanktoScope is to join our Slack Channel. We can support you by sharing contacts of individuals and organizations who have expressed an interest in PlanktoScope.

Determining the need🔗

Understanding the needs of the participants will help to ensure that the workshop is relevant, valuable, and effective for them. Here are a few things to consider when determining the needs of the participants:

  1. Surveys and questionnaires: Use surveys and questionnaires to gather information about the participants' needs and expectations for the workshop. This can include their level of experience and knowledge, their specific interests and goals, and any challenges or concerns they may have.
  2. Pre-workshop consultation: Schedule pre-workshop consultations with the participants to discuss their needs and expectations in more detail. This can help to identify any specific areas of interest or concern, and can also provide an opportunity to address any questions or concerns the participants may have.
  3. Audience analysis: Analyze the characteristics of the audience, such as their profession, level of education and experience, and any other relevant details. This will give you a better idea of the type of content that will be most relevant and useful for the participants.
  4. Feedback: Ask for feedback from participants after the workshop and take it into account when planning future workshops. This feedback can be used to improve the overall experience and to tailor the workshop to better meet the needs of the participants.

Defining the goals🔗

Defining the goals of a workshop is an essential step in the planning process. The goals will serve as the foundation for the workshop, guiding the content and activities that are included.

  1. Number of participants: The workshop should be designed for a specific number of participants. Depending on the available resources, the number of participants can range from small groups of 4-8 people to larger groups of 8-12 people.
  2. Number of microscopes: The goal of the workshop is to build a specific number of PlanktoScope Microscopes. It is important to have the necessary materials and tools for each participant to build their own microscope.
  3. Content: The workshop will include both theoretical and practical content. The theoretical content will cover the principles of open-source hardware and software and the specific design of the PlanktoScope Microscope. The practical content will focus on the assembly and usage of the microscope, including hands-on experience with soldering and other techniques.

Tip

Depending on the time, resources, and audience, it is important to carefully decide what activities and tasks should be done during the workshop and what should be prepared upfront. This will ensure that the workshop runs smoothly and efficiently, and that the participants are able to fully engage and participate in the activities. Additionally, by carefully planning and preparing upfront, you can minimize the chances of overwhelming attendees with problems or difficulties that may arise during the workshop.

Financial planning🔗

The cost of materials, equipment, and other expenses can add up quickly, so it is important to have a plan in place to secure funding. Here are a few things to consider when planning the finances for your workshop:

  1. Decide on the cost of the kits: One of the first things to consider is whether you want to offer the kits for sale to the participants or if you want them to purchase the kits themselves. If you choose to offer the kits for sale, you will need to factor in the cost of materials and other expenses, such as shipping and handling. If you choose to have the participants purchase the kits themselves, you will need to provide them with information on where to purchase the kits and the estimated cost.
  2. Check for funding opportunities: There may be organizations or foundations that would be willing to support your workshop financially. It's a good idea to research potential sources of funding such as grants, sponsorships, and crowdfunding campaigns. Additionally, look for local or regional organizations that are working in the same field as your workshop, they might be interested in supporting your initiative.
  3. Reach out to potential sponsors: Once you have identified potential sources of funding, reach out to them to inquire about their funding opportunities. Be prepared to provide them with information about the workshop, including the goals, objectives, and expected outcomes. Be sure to include information about the open-source nature of the project, as this may make it more attractive to organizations with an interest in open-source technology.
  4. Look for cost-saving options: In addition to securing funding, there are also ways to save money on expenses. Consider renting equipment or space rather than purchasing it. Reach out to local universities or community organizations to see if they have equipment or space that you can use for the workshop at a reduced cost or for free.

Tip

If you are organizing the workshop as an individual, consider running the project through a non-profit organization to facilitate the collection of donations. This will also help to ensure transparency and accountability for the funding received. Alternatively, you can choose a commercially active organization that can provide proper accounting and financial management for the workshop participants. This will provide a clear financial record and can help to ensure that the workshop is run in a professional and organized manner.

Creating a timetable🔗

Creating a schedule for a workshop is an important step in the planning process. A well-organized schedule will help to ensure that the workshop runs smoothly and that all the important topics are covered. Here are a few things to consider when creating a schedule for your workshop:

  1. Plan for more than just a day: A workshop may take more than one day to complete, so be sure to plan accordingly. Consider the amount of time required to cover all the topics, and allocate enough time for each one.
  2. Assign an expected duration to each item on the schedule: Assign an expected duration to each item on the schedule so that participants know how much time they should expect to spend on each topic. This will also help you to ensure that you have allocated enough time for each topic.
  3. Allocate time for breaks and activities: Make sure to allocate time for breaks, meals and other activities such as group discussions, teamwork, or hands-on activities. This will help to keep the participants engaged and energized throughout the workshop.
  4. Plan for contingencies: Include some flexibility in the schedule to allow for unexpected events or delays. This will help to ensure that the workshop stays on track even if things don't go exactly as planned.

Venue selection🔗

The location should be convenient and accessible for the participants, and should be equipped with the necessary resources to make the workshop a success. Here are a few things to consider when choosing a workshop location for a workshop on building an open-source PlanktoScope microscope:

  1. Reach out to Universities, research institutions, Fablabs, Hackspaces or non-profit organizations: Reach out to organizations that might have an interest in the PlanktoScope, and a community that might support you with free access to their location.
  2. Check the equipment: Make sure the location is equipped with the necessary resources such as a whiteboard, projector/TV, and other equipment that may be required for the workshop.
  3. Check the accessibility: Check the accessibility of the location with the public transport system and parking availability.
  4. Check for food provision: Consider if there is a possibility to go shopping or how to provide food for the course participants during the workshop.
  5. Check the environment: Consider the environment of the location, make sure it is comfortable, has enough space and is well-ventilated for the workshop.

Announcing the event🔗

When announcing the event, it is important to include the following information:

  1. Date: Provide a specific date, start and end time for the workshop, and ensure there is enough lead time for preparation, including ordering or manufacturing materials and coordinating with suppliers. Allow ample time between announcing the workshop and the actual event.
  2. Goal: Clearly communicate the specific goal of the workshop, such as to build a fully functional planktoscope and learn how to use it.
  3. What attendees will learn in the workshop: Clearly outline the specific skills or knowledge that will be covered in the workshop, such as how to assemble the kit, soldering the through-hole components of the controller, and working with the software.
  4. Instructor's background: Provide some notes about the instructor's qualifications or experience that make them well-suited to lead the workshop, such as experience working with planktoscope.
  5. Target audience: Clearly indicate the target group of the workshop, such as researchers, engineers or designers.
  6. Previous knowledge: Specify any previous knowledge required for the workshop, such as soldering skills or experience working with open-source hardware and software.
  7. Implementation method: Describe the form of the workshop, such as a step-by-step guide.
  8. Documentation: Consider sharing the documentation beforehand, so they can familiarize themselves with the process.
  9. Cost: Clearly communicate the cost of the workshop.
  10. Schedule: Provide a clear and detailed schedule of the workshop, including the duration of the workshop, for example, one day of building and one day of using the plankoscope.
  11. Location: Provide the location of the workshop, including information on how to get there with public transportation or Arrival by car and parking. Also, provide a link to a map service
  12. Registration: Details of the registration process, including information on where to obtain a ticket and any deadlines for registration.
  13. Contact details: Additionally, it may be helpful to include contact information for any questions.
  14. Images: Include some visually appealing images, such as from a previous workshop or field trip, to show what attendees can expect from the event. This can additionally be a great way to build anticipation and excitement, thus motivating more people to attend the workshop.
  15. Media: Post your offer on a website or social media platform that is relevant to the workshop topic and your target audience. This way you can increase visibility and reach a wider audience, which increases the chances of getting more attendees.

Tip

If you already have a group of interested people, send a link to the announcement via email or chat and invite them personally.

Preparing a presentation🔗

Preparing a presentation for a build workshop is an important step in the preparation process. It helps to ensure that the participants have the information they need to complete the workshop and understand the concepts behind building the Planktoscope.

  1. Gather resources: Gather resources such as images, videos, and diagrams that can be used to support the presentation. These resources can be found on the Planktoscope website or other sources.
  2. Outline the main topics: Outline the main topics that will be covered during the workshop, such as the components of the microscope, the assembly process, and the use of the microscope.
  3. Prepare a handout: Prepare a handout or a guide that the participants can use during the workshop to follow the steps, and have it ready to be printed or shared digitally
  4. Practice the presentation: Practice the presentation several times before the workshop to ensure that it runs smoothly and that you are comfortable with the material.
  5. Be ready to adapt: Be ready to adapt the presentation during the workshop to fit the needs of the participants.

Here are some topics that should be covered in a presentation:

  1. Event: Provide an overview of the event, including the goal of the workshop.
  2. Schedule: Provide an timetable for the event, including breaks, start and end times, and any planned activities for the next day.
  3. Venue: Provide information about the venue, including where to find restrooms and where to buy food.
  4. Instructor: Provide information about the instructor, including his or her background, and how to get in touch with him or her
  5. Digital tools: Provide information about the digital tools that will be used during the workshop, such as the platform for collaboration, the survey tool and the chat channel, and how to access them
  6. Data privacy: Provide information about the data privacy policy and the forms that need to be signed by the participants.
  7. Follow-ups: Point out follow-up actions such as the survey and that participation can be very helpful in improving the offer.
  8. Communication: Inform about the communication channels that will be used during the workshop and complete the onboarding.
  9. Introduction round: A round of introductions at the beginning of a workshop helps to create a sense of community and connection among the participants, allows the instructor to tailor the workshop to the group's needs, addresses potential language barriers, creates a sense of accountability, and helps participants to be more focused and relaxed.
  10. About the project: Provide details about the project, including the working materials such as the kit, the documentation, and the git repository.

Send an final Reminder🔗

Make sure participants are well informed and can find their way to you by sending a final reminder before the start so everything is well prepared.

  1. Schedule for the event: Include a detailed schedule for the event, including breaks, start and end times, and any planned activities for the next day. This will help participants to plan their time and make the most of the workshop.
  2. About the venue: Provide detailed information about the venue, including the address, public transportation options, and parking situation. Make sure to include any specific instructions or requirements for accessing the venue.
  3. About the documentation: Provide a link to the documentation, such as the assembly and manufacturing guide, that the participants can familiarize themselves with before the workshop. This will help them to be better prepared and make the most of the workshop.
  4. Cancellation policy: Remind the participants that now is the last opportunity to cancel their registration. This will allow other individuals on the waiting list to attend the workshop.
  5. Final Instructions: Provide any final instructions or important information that the participants should be aware of before the workshop.

Documenting the event🔗

Documenting a PlanktoScope workshop through photography is essential for several reasons. Photos can be used to showcase the workshop activities and the learning process of the participants. This can be useful for sharing information about the workshop with others, and for promoting future workshops.

  1. Equipment: Make sure you have the necessary equipment to document the event, including a camera (DSLR or mirrorless camera), lenses, memory cards, and batteries.
  2. Backup: Always make sure to have a backup plan for your equipment and photos, such as bringing extra memory cards and batteries.
  3. Lighting: Take into account the lighting conditions and make sure to have the right settings for your camera to capture the best possible images.
  4. Planning: Plan out the photos you want to take, taking into account the theme, location and schedule of the event.
  5. Composition: Pay attention to the composition of your photos and make sure to use techniques such as the rule of thirds and leading lines to create visually appealing images.
  6. Capturing candid moments: In addition to capturing posed shots, make sure to capture candid moments that capture the atmosphere and emotions of the event.
  7. Post-processing: Once the event is over, review and edit your photos to make them look their best.
  8. Data Privacy and Opt-Out: Pay attention to the privacy policy and get participants' consent before taking photos of them. Offer an opt-out option for participants who do not want to have photos taken. Clearly communicate what the photos will be used for and by whom, for example, to enhance this documentation.
  9. License: If your participants have agreed to share and use the photos, choose an appropriate license under which to license the photos. We recommend the Creative Commons license. For more information, see the project's license terms page.
  10. Sharing on Social Media: Share the photos on social media platforms to create a visual memory of the event and increase the visibility of the event.

By preparing and taking care of these things, you can ensure that you are able to document the event effectively and create a visual record of the event that can be shared and enjoyed for years to come.

Follow-up🔗

Follow-up activities are an essential part of the workshop planning process. They help to ensure that the workshop's objectives are met and that the participants leave the workshop with a sense of accomplishment. Here are a few things to consider when planning follow-up activities after an event like a workshop:

  1. Follow-up with participants: Send out a survey or contact participants individually to gather feedback on their experience during the workshop. This feedback can be used to improve future workshops and address any issues that may have arisen.
  2. Share resources and information: Share any relevant resources such as presentations, handouts, or any other materials that will help the participants continue their learning after the workshop.
  3. Build a community: Encourage participants to connect and share their experiences with each other. This can be done through online forums, social media groups, or other platforms. Building a community of enthusiasts and collaborators will help to ensure that the workshop's goals and objectives are met and that the participants leave the workshop with a sense of accomplishment.
  4. Continual learning: Provide additional training opportunities or resources for participants to continue their learning after the workshop. This could be through follow-up workshops, webinars, or online tutorials.
  5. Track progress: Keep track of the progress of the participants, check if they are applying what they learned during the workshop and give feedback to help them improve.

Improve this training program🔗

As with any training program, there is always room for improvement. To ensure that this program continues to meet the needs of its attendees, it is important to actively seek feedback and make changes as necessary.

Here are a few ways to improve this training program:

  1. Gather feedback: Regularly gather feedback from attendees, instructors and other stakeholders to understand how the program is being received and identify areas for improvement.
  2. Review and revise content: Review the content of the program and make changes as necessary to ensure that it is up-to-date, accurate, and relevant to the attendees.
  3. Continuously update the material: Continuously update the material, adding new information and best practices as it becomes available.
  4. Use different learning methods: Use different learning methods to accommodate different learning styles, such as hands-on activities, group discussions, and online resources.
  5. Encourage participation: Encourage participation and collaboration among attendees, creating an interactive and dynamic learning experience.
  6. Use modern technologies: Use modern technologies to enhance the learning experience, such as virtual reality, gamification, and AI-based learning.
  7. Assess the impact: Assess the impact of the program on the attendees and make changes as necessary to ensure that the program is achieving its intended goals.

For more information on how to contribute to this document and improve this training program, please see the contribute section on Writing Documentation.

Trainings🔗

The success of the PlanktoScope community depends on the people who generously share their knowledge and expertise about its production and use with others, helping to promote its widespread adoption and use. By actively participating in the community and sharing their insights and experiences, individuals can contribute to the growth and success of the PlanktoScope, ultimately benefiting not just the community but also the broader field of study.

The Train the trainer program🔗

The train the trainer program is a training program designed to equip individuals with the knowledge and skills needed to deliver training to others. The goal of a train the trainer program is to build capacity within the PlanktoScope community by volunteers to become trainers themselves.

This guide is intended to provide you with a solid foundation of knowledge and understanding about the PlanktoScope, enabling you to confidently develop and deliver your own training program for others. Whether you are an experienced user looking to share your expertise with others or a newcomer to the PlanktoScope looking to learn more about its capabilities and applications, this guide is designed to help you gain the necessary skills and knowledge to successfully teach others about this powerful tool.

Event types🔗

Build workshop🔗

Organizing a build workshop can be a challenging but rewarding experience. It requires careful planning and execution to ensure that the workshop is successful. This trainer manual is designed to guide you through the process of organizing a build workshop.

Selecting the production site🔗

Choosing the right production site for preparing and manufacturing the PlanktoScope Kits is an important step in the workshop planning process. The production site should have the necessary tools and equipment, as well as the knowledge and expertise to manufacture the PlanktoScope Kits. Here are a few things to consider when choosing a production site:

  1. Check the Manufacturing and Assembly Guides: Before choosing a production site, make sure to review the PlanktoScope Kit Manufacturing Guide and the Device Assembly Guide. These guides will provide detailed information on the necessary tools and equipment required for the production of the PlanktoScope Kits.
  2. Visit Fablab and Hackspaces: Consider visiting Fablabs or Hackspaces in your region. These organizations often have a culture of openness and may be willing to support you with your project. They may have the necessary tools and equipment to produce the PlanktoScope Kits, as well as the knowledge and expertise to guide you through the production process.
  3. Commercial Manufacturing: Look for a facility that has the capability to handle small scale production runs, a good quality control process and a logistic plan to ship the product to the final destination. Many

Tip

For the PlanktoScope case, for example, you can look for woodworking companies. They often have a CNC machine and are familiar with the process of ditigal production.

Material procurement🔗

Building a PlanktoScope requires a specific set of materials. In order to ensure that the workshop runs smoothly and that all attendees are able to successfully build their own PlanktoScope, it is important to properly plan and execute the procurement of materials. The following is a step-by-step guide on how to properly plan and execute the procurement of materials for a workshop:

  1. Prepare the order list: Use the bill of materials (BOM) as a starting point to create a comprehensive list of all materials needed for the workshop. Expand it with additional columns for suppliers, delivery dates, prices, shipping costs, and import taxes.
  2. Plan for packaging: Plan for extra packaging so you can assemble the parts as shown in the instructions. Try to minimize plastic as much as possible.
  3. Research suppliers: Research suppliers and see if there are local options, if you can consolidate orders to save costs and ensure timely delivery.
  4. Compare prices: Compare the prices of different suppliers to minimize the total cost.
  5. Plan for spare parts: Plan for spare parts in case something is broken or lost.
  6. Check your Budget: Check your budget and ensure that you have enough funds to cover the cost of all materials, shipping, and any additional expenses before placing your orders.
  7. Place orders: Once you have identified the best suppliers, place orders for all of the materials that you need. Be sure to factor in lead time when placing orders to ensure that the materials will arrive in time for the workshop.
  8. Track orders: Keep track of your orders and expected delivery dates, mark a component when it arrives. Contact suppliers if there are any delays or problems with delivery.
  9. Communicate: Communicate with participants if there are issues with timely delivery. It may make sense to postpone the workshop if there is not enough time to prepare and test everything. The participants will be grateful and will understand if it helps to ensure that everything runs smoothly.

By following this process, you can ensure that all materials are procured and organized well in advance of the workshop, to avoid any last-minute delays or complications.

Note

If you have difficulty finding the components you need, contact us and we will be happy to help you find the right alternative.

Warning

Have a backup plan and be prepared for unexpected events that may occur during the procurement process. Allow two months for delivery, as some specialty parts may travel a long way and require additional time for customs inspection.

Tip

Let us know your results, we would love to hear what solutions you found and how cost effective you were able to make the PlanktoScope.

Prepare the Kit🔗

Kit preparation for the workshop is an important step in the preparation process. This ensures that participants have the materials and equipment they need to complete the workshop and build their own PlanktoScope. Here are a few things to keep in mind when preparing the kits:

  1. Review the Bill of Materials (BOM): Review the Bill of Materials (BOM) for the PlanktoScope to ensure that you have all the necessary parts and materials for the workshop. The parts list can be found in the Device Assembly Guide and lists all components and quantities needed to build a microscope.
  2. Divide the kit components according to the BOM: Once the materials have been received, divide the kit components from the orders according to the Bill of Materials (BOM) of the PlanktoScope. This will ensure that each participant receives the correct components and that there are no missing parts.
  3. Have extra components: Have extra components on hand in case of any missing or damaged parts during the workshop.
  4. Package the kits: Package the kits in a way that makes it easy for the participants to find and use the components during the workshop.
  5. Label materials: Label the packages as described in Device Assembly Guide so that they are easy to find and distribute during the workshop.
  6. Preparation of the housing parts: Prepare the housing parts by applying the surface sealant and insert the nuts to screw the housing as described in the Kit Manufacturing Guide.
  7. Cutting and soldering of electronic cables: Cut and solder the electronic cables for the PlanktoScope. This will save time during the workshop and ensure that the participants have all the necessary cables to complete the assembly.
  8. Setting up the embedded development environment: Set up the embedded development environment and flash the eeprom of the PlanktoScope hat. This will ensure that the PlanktoScope hat is ready to be used during the workshop.
  9. Download the Raspberry Pi image: Download the Raspberry Pi image and flash it to the SD card. This will ensure that the participants have a ready to use image for the PlanktoScope.
  10. Test the kits: Test the kits before the workshop to ensure that all components are working correctly and that the instructions are clear and easy to follow. This will help to ensure that the participants have a positive and productive experience during the workshop.

Tip

Identify any items that are time consuming during the workshop and not particularly important or complex to explain. These tasks can be completed in advance to save time during the workshop. This will make it easier for the participants to assemble the PlanktoScope during the workshop.

Conducting the workshop🔗

It's finally here! After all the planning, preparation, and anticipation, the build workshop is about to begin. Take a deep breath and let's go!

  1. Prepare the presentation: Prepare the presentation device and start your slides.
  2. Check-In: Once the Participants arrive, complete the check-in, share the agenda and set expectations for the workshop.
  3. Venue: Provide information about the venue, including where to find restrooms and where to buy food.
  4. Digital tools: Provide information about the digital tools that will be used during the workshop, such as the platform for collaboration, the survey tool and the chat channel, and how to access them.
  5. Data privacy: Inform about the privacy policy and the forms that need to be signed by the participants if you want to take photos.
  6. Introduction round: Begin with a round of introductions and give everyone a chance to introduce themselves, their background, and their interest in the project.
  7. Provide an overview: Provide details about the project, including the general mode of operation, the working materials such as the kit, the documentation and the git repository.
  8. Provide the Kits and Tools: Provide the Kit and Tools to each participant with a kit and the necessary tools.
  9. Follow the build instructions: Depending on the format you have chosen, start implementing by following the Kit Manufacturing guide or Device Assembly guide
  10. Follow the operation instructions: Now that you have successfully assembled the PlanktoScope, you can proceed to operation of the PlanktoScope by following the Getting started and User interface instructions.
  11. Final Test: For a final test you can use for example pure cultures or a sample taken with a Plankton net from a surrounding waters.

Field trip🔗

Are you an expert in organizing field trips? Share your skills with the PlanktoScope community by documenting the process! By documenting how you organize a field trip, you can help others create successful events and bring more event options to the PlanktoScope community. Your documentation will be a valuable resource for anyone looking to plan a field trip, and it will also help to grow and strengthen the PlanktoScope community. Don't miss this opportunity to contribute to the community, start documenting your process today!

Hackathon🔗

Are you a master at organizing Hackathons? Share your knowledge with the PlanktoScope community by documenting the process! By documenting how you organize a Hackathon, you can help others create successful events and bring more event options to the PlanktoScope community. Your documentation will be a valuable resource for anyone looking to host a Hackathon, and it will also help to grow and strengthen the PlanktoScope community. Don't miss this opportunity to contribute to the community, start documenting your process today!

General planning methods🔗

Organizing a workshop can be a challenging but rewarding experience. It requires careful planning and execution to ensure that the workshop is successful. This trainer module is designed to guide you through the process of organizing any type of event.

By following the guidelines, you will be able to plan a workshop that is engaging, productive, and successful. It will also help you to create a sense of community among participants and will help them continue their learning after the workshop.

Building a team🔗

Every project needs a team to support it. The team should be composed of individuals with a diverse set of skills and experiences to ensure all aspects of the workshop are effectively covered.

  1. Identify the roles and responsibilities: Determine the key areas that need to be covered during the workshop and assign specific roles to team members. For example, one team member may be responsible for organizing logistics, while another may be responsible for creating the agenda.
  2. Assemble the team: Once the roles and responsibilities have been identified, begin assembling the team. Consider individuals with relevant skills and experiences, as well as those who have a passion for the topic of the workshop. It is also important to have a mix of team members from different departments or backgrounds to bring a variety of perspectives to the planning process.
  3. Communicate effectively: Establish clear lines of communication within the team to ensure that everyone is on the same page. This can be done through regular meetings, email, or a team collaboration platform.
  4. Encourage participation: Encourage team members to actively participate in the planning process by sharing their ideas and feedback. This will help to ensure that everyone feels invested in the success of the workshop.
  5. Appoint a leader: Appoint a leader for the team who will be responsible for coordinating the planning process and ensuring that the team stays on track. The leader should be someone who is organized, a good communicator, and able to delegate tasks effectively.

Communication channels🔗

Choosing the right communication channels is an important step in the planning process for a workshop, as it is crucial not only for the organizing team but also for the participants during and after the workshop. The right communication channels can help to build a fluent community, improve collaboration and keep everyone informed and on the same page.

  1. Choose the right channels: Once the needs have been identified, choose the communication channels that will best serve those needs. Email, chat, and video conferencing are all popular options. If the group is small, a group chat or email chain may be sufficient. If the group is larger or more dispersed, a video conferencing platform may be more appropriate.
  2. Make sure they are accessible: Ensure that the communication channels you choose are accessible to all participants. This may include providing training or support for those who are less familiar with the tools you are using.
  3. Communicate expectations: Clearly communicate the expectations for using the communication channels to the participants. This includes guidelines for how often and when to check the channels, as well as how to respond to messages.
  4. Continuity: Make sure that you have continuity in the communication channels after the workshop. This will help to build a fluent community and to keep the participants connected and engaged. Use the same channels to share updates and resources, or to organize follow-up events or activities.

Note

Email is a reliable and widely-used communication channel that can be used for sending out workshop updates, sending materials, and answering questions. It is also a good option for sending out reminders and follow-up information after the workshop.

Note

Chat networks, such as Matrix, are a great option for secure, real-time and decentralized communication during the workshop. They allow participants to ask questions, share resources and collaborate on projects in real-time. They can also be used for group discussions and as a platform for sharing feedback. Additionally, chat platforms can be used as a platform for post-workshop communication and to build a fluent community.

Tip

If you need assistance with creating a Chat for your workshop, please let us know. We can easily set up new subchannels within our PlanktoScope Slack channel to support communication and collaboration during your workshop. This will also help facilitate the exchange of information within the community.

Selecting digital tools🔗

The right tools can help to facilitate communication, collaboration, and organization, making the workshop experience more productive and enjoyable for everyone.

  1. Use web-based tools: Whenever possible, use web-based tools that can be accessed from any device with an internet connection. This will make it easier for participants to access and use the tools, regardless of their location or device.
  2. Use collaborative note-taking tools: You might use web-based tools like HedgeDoc that allow participants to collaboratively collect notes during the workshop. This can help to ensure that everyone has access to the same information, and can help to make the workshop experience more productive and enjoyable for everyone.
  3. Use survey tools: You might use survey tools like LimeSurvey to gather information about the participants' needs and expectations for the workshop. This can help to ensure that the workshop is relevant, valuable, and effective for them.
  4. Use ticketing tools: You might use tools like Pretix to manage ticketing for the workshop. This can help to simplify the registration process, and can also provide valuable information about the attendees.

Find your audience🔗

If you already have an audience for your workshop, that's fantastic. But it's also a good idea to let others know about your plans and potentially expand your audience. Contact nongovernmental organizations, universities, and research institutions in your area to see if they would be interested in participating in or even helping to organize the workshop.

Tip

One way to get in touch with others who are interested in PlanktoScope is to join our Slack Channel. We can support you by sharing contacts of individuals and organizations who have expressed an interest in PlanktoScope.

Determining the need🔗

Understanding the needs of the participants will help to ensure that the workshop is relevant, valuable, and effective for them. Here are a few things to consider when determining the needs of the participants:

  1. Surveys and questionnaires: Use surveys and questionnaires to gather information about the participants' needs and expectations for the workshop. This can include their level of experience and knowledge, their specific interests and goals, and any challenges or concerns they may have.
  2. Pre-workshop consultation: Schedule pre-workshop consultations with the participants to discuss their needs and expectations in more detail. This can help to identify any specific areas of interest or concern, and can also provide an opportunity to address any questions or concerns the participants may have.
  3. Audience analysis: Analyze the characteristics of the audience, such as their profession, level of education and experience, and any other relevant details. This will give you a better idea of the type of content that will be most relevant and useful for the participants.
  4. Feedback: Ask for feedback from participants after the workshop and take it into account when planning future workshops. This feedback can be used to improve the overall experience and to tailor the workshop to better meet the needs of the participants.

Defining the goals🔗

Defining the goals of a workshop is an essential step in the planning process. The goals will serve as the foundation for the workshop, guiding the content and activities that are included.

  1. Number of participants: The workshop should be designed for a specific number of participants. Depending on the available resources, the number of participants can range from small groups of 4-8 people to larger groups of 8-12 people.
  2. Number of microscopes: The goal of the workshop is to build a specific number of PlanktoScope Microscopes. It is important to have the necessary materials and tools for each participant to build their own microscope.
  3. Content: The workshop will include both theoretical and practical content. The theoretical content will cover the principles of open-source hardware and software and the specific design of the PlanktoScope Microscope. The practical content will focus on the assembly and usage of the microscope, including hands-on experience with soldering and other techniques.

Tip

Depending on the time, resources, and audience, it is important to carefully decide what activities and tasks should be done during the workshop and what should be prepared upfront. This will ensure that the workshop runs smoothly and efficiently, and that the participants are able to fully engage and participate in the activities. Additionally, by carefully planning and preparing upfront, you can minimize the chances of overwhelming attendees with problems or difficulties that may arise during the workshop.

Financial planning🔗

The cost of materials, equipment, and other expenses can add up quickly, so it is important to have a plan in place to secure funding. Here are a few things to consider when planning the finances for your workshop:

  1. Decide on the cost of the kits: One of the first things to consider is whether you want to offer the kits for sale to the participants or if you want them to purchase the kits themselves. If you choose to offer the kits for sale, you will need to factor in the cost of materials and other expenses, such as shipping and handling. If you choose to have the participants purchase the kits themselves, you will need to provide them with information on where to purchase the kits and the estimated cost.
  2. Check for funding opportunities: There may be organizations or foundations that would be willing to support your workshop financially. It's a good idea to research potential sources of funding such as grants, sponsorships, and crowdfunding campaigns. Additionally, look for local or regional organizations that are working in the same field as your workshop, they might be interested in supporting your initiative.
  3. Reach out to potential sponsors: Once you have identified potential sources of funding, reach out to them to inquire about their funding opportunities. Be prepared to provide them with information about the workshop, including the goals, objectives, and expected outcomes. Be sure to include information about the open-source nature of the project, as this may make it more attractive to organizations with an interest in open-source technology.
  4. Look for cost-saving options: In addition to securing funding, there are also ways to save money on expenses. Consider renting equipment or space rather than purchasing it. Reach out to local universities or community organizations to see if they have equipment or space that you can use for the workshop at a reduced cost or for free.

Tip

If you are organizing the workshop as an individual, consider running the project through a non-profit organization to facilitate the collection of donations. This will also help to ensure transparency and accountability for the funding received. Alternatively, you can choose a commercially active organization that can provide proper accounting and financial management for the workshop participants. This will provide a clear financial record and can help to ensure that the workshop is run in a professional and organized manner.

Creating a timetable🔗

Creating a schedule for a workshop is an important step in the planning process. A well-organized schedule will help to ensure that the workshop runs smoothly and that all the important topics are covered. Here are a few things to consider when creating a schedule for your workshop:

  1. Plan for more than just a day: A workshop may take more than one day to complete, so be sure to plan accordingly. Consider the amount of time required to cover all the topics, and allocate enough time for each one.
  2. Assign an expected duration to each item on the schedule: Assign an expected duration to each item on the schedule so that participants know how much time they should expect to spend on each topic. This will also help you to ensure that you have allocated enough time for each topic.
  3. Allocate time for breaks and activities: Make sure to allocate time for breaks, meals and other activities such as group discussions, teamwork, or hands-on activities. This will help to keep the participants engaged and energized throughout the workshop.
  4. Plan for contingencies: Include some flexibility in the schedule to allow for unexpected events or delays. This will help to ensure that the workshop stays on track even if things don't go exactly as planned.

Venue selection🔗

The location should be convenient and accessible for the participants, and should be equipped with the necessary resources to make the workshop a success. Here are a few things to consider when choosing a workshop location for a workshop on building an open-source PlanktoScope microscope:

  1. Reach out to Universities, research institutions, Fablabs, Hackspaces or non-profit organizations: Reach out to organizations that might have an interest in the PlanktoScope, and a community that might support you with free access to their location.
  2. Check the equipment: Make sure the location is equipped with the necessary resources such as a whiteboard, projector/TV, and other equipment that may be required for the workshop.
  3. Check the accessibility: Check the accessibility of the location with the public transport system and parking availability.
  4. Check for food provision: Consider if there is a possibility to go shopping or how to provide food for the course participants during the workshop.
  5. Check the environment: Consider the environment of the location, make sure it is comfortable, has enough space and is well-ventilated for the workshop.

Announcing the event🔗

When announcing the event, it is important to include the following information:

  1. Date: Provide a specific date, start and end time for the workshop, and ensure there is enough lead time for preparation, including ordering or manufacturing materials and coordinating with suppliers. Allow ample time between announcing the workshop and the actual event.
  2. Goal: Clearly communicate the specific goal of the workshop, such as to build a fully functional planktoscope and learn how to use it.
  3. What attendees will learn in the workshop: Clearly outline the specific skills or knowledge that will be covered in the workshop, such as how to assemble the kit, soldering the through-hole components of the controller, and working with the software.
  4. Instructor's background: Provide some notes about the instructor's qualifications or experience that make them well-suited to lead the workshop, such as experience working with planktoscope.
  5. Target audience: Clearly indicate the target group of the workshop, such as researchers, engineers or designers.
  6. Previous knowledge: Specify any previous knowledge required for the workshop, such as soldering skills or experience working with open-source hardware and software.
  7. Implementation method: Describe the form of the workshop, such as a step-by-step guide.
  8. Documentation: Consider sharing the documentation beforehand, so they can familiarize themselves with the process.
  9. Cost: Clearly communicate the cost of the workshop.
  10. Schedule: Provide a clear and detailed schedule of the workshop, including the duration of the workshop, for example, one day of building and one day of using the plankoscope.
  11. Location: Provide the location of the workshop, including information on how to get there with public transportation or Arrival by car and parking. Also, provide a link to a map service
  12. Registration: Details of the registration process, including information on where to obtain a ticket and any deadlines for registration.
  13. Contact details: Additionally, it may be helpful to include contact information for any questions.
  14. Images: Include some visually appealing images, such as from a previous workshop or field trip, to show what attendees can expect from the event. This can additionally be a great way to build anticipation and excitement, thus motivating more people to attend the workshop.
  15. Media: Post your offer on a website or social media platform that is relevant to the workshop topic and your target audience. This way you can increase visibility and reach a wider audience, which increases the chances of getting more attendees.

Tip

If you already have a group of interested people, send a link to the announcement via email or chat and invite them personally.

Preparing a presentation🔗

Preparing a presentation for a build workshop is an important step in the preparation process. It helps to ensure that the participants have the information they need to complete the workshop and understand the concepts behind building the Planktoscope.

  1. Gather resources: Gather resources such as images, videos, and diagrams that can be used to support the presentation. These resources can be found on the Planktoscope website or other sources.
  2. Outline the main topics: Outline the main topics that will be covered during the workshop, such as the components of the microscope, the assembly process, and the use of the microscope.
  3. Prepare a handout: Prepare a handout or a guide that the participants can use during the workshop to follow the steps, and have it ready to be printed or shared digitally
  4. Practice the presentation: Practice the presentation several times before the workshop to ensure that it runs smoothly and that you are comfortable with the material.
  5. Be ready to adapt: Be ready to adapt the presentation during the workshop to fit the needs of the participants.

Here are some topics that should be covered in a presentation:

  1. Event: Provide an overview of the event, including the goal of the workshop.
  2. Schedule: Provide an timetable for the event, including breaks, start and end times, and any planned activities for the next day.
  3. Venue: Provide information about the venue, including where to find restrooms and where to buy food.
  4. Instructor: Provide information about the instructor, including his or her background, and how to get in touch with him or her
  5. Digital tools: Provide information about the digital tools that will be used during the workshop, such as the platform for collaboration, the survey tool and the chat channel, and how to access them
  6. Data privacy: Provide information about the data privacy policy and the forms that need to be signed by the participants.
  7. Follow-ups: Point out follow-up actions such as the survey and that participation can be very helpful in improving the offer.
  8. Communication: Inform about the communication channels that will be used during the workshop and complete the onboarding.
  9. Introduction round: A round of introductions at the beginning of a workshop helps to create a sense of community and connection among the participants, allows the instructor to tailor the workshop to the group's needs, addresses potential language barriers, creates a sense of accountability, and helps participants to be more focused and relaxed.
  10. About the project: Provide details about the project, including the working materials such as the kit, the documentation, and the git repository.

Send an final Reminder🔗

Make sure participants are well informed and can find their way to you by sending a final reminder before the start so everything is well prepared.

  1. Schedule for the event: Include a detailed schedule for the event, including breaks, start and end times, and any planned activities for the next day. This will help participants to plan their time and make the most of the workshop.
  2. About the venue: Provide detailed information about the venue, including the address, public transportation options, and parking situation. Make sure to include any specific instructions or requirements for accessing the venue.
  3. About the documentation: Provide a link to the documentation, such as the assembly and manufacturing guide, that the participants can familiarize themselves with before the workshop. This will help them to be better prepared and make the most of the workshop.
  4. Cancellation policy: Remind the participants that now is the last opportunity to cancel their registration. This will allow other individuals on the waiting list to attend the workshop.
  5. Final Instructions: Provide any final instructions or important information that the participants should be aware of before the workshop.

Documenting the event🔗

Documenting a PlanktoScope workshop through photography is essential for several reasons. Photos can be used to showcase the workshop activities and the learning process of the participants. This can be useful for sharing information about the workshop with others, and for promoting future workshops.

  1. Equipment: Make sure you have the necessary equipment to document the event, including a camera (DSLR or mirrorless camera), lenses, memory cards, and batteries.
  2. Backup: Always make sure to have a backup plan for your equipment and photos, such as bringing extra memory cards and batteries.
  3. Lighting: Take into account the lighting conditions and make sure to have the right settings for your camera to capture the best possible images.
  4. Planning: Plan out the photos you want to take, taking into account the theme, location and schedule of the event.
  5. Composition: Pay attention to the composition of your photos and make sure to use techniques such as the rule of thirds and leading lines to create visually appealing images.
  6. Capturing candid moments: In addition to capturing posed shots, make sure to capture candid moments that capture the atmosphere and emotions of the event.
  7. Post-processing: Once the event is over, review and edit your photos to make them look their best.
  8. Data Privacy and Opt-Out: Pay attention to the privacy policy and get participants' consent before taking photos of them. Offer an opt-out option for participants who do not want to have photos taken. Clearly communicate what the photos will be used for and by whom, for example, to enhance this documentation.
  9. License: If your participants have agreed to share and use the photos, choose an appropriate license under which to license the photos. We recommend the Creative Commons license. For more information, see the project's license terms page.
  10. Sharing on Social Media: Share the photos on social media platforms to create a visual memory of the event and increase the visibility of the event.

By preparing and taking care of these things, you can ensure that you are able to document the event effectively and create a visual record of the event that can be shared and enjoyed for years to come.

Follow-up🔗

Follow-up activities are an essential part of the workshop planning process. They help to ensure that the workshop's objectives are met and that the participants leave the workshop with a sense of accomplishment. Here are a few things to consider when planning follow-up activities after an event like a workshop:

  1. Follow-up with participants: Send out a survey or contact participants individually to gather feedback on their experience during the workshop. This feedback can be used to improve future workshops and address any issues that may have arisen.
  2. Share resources and information: Share any relevant resources such as presentations, handouts, or any other materials that will help the participants continue their learning after the workshop.
  3. Build a community: Encourage participants to connect and share their experiences with each other. This can be done through online forums, social media groups, or other platforms. Building a community of enthusiasts and collaborators will help to ensure that the workshop's goals and objectives are met and that the participants leave the workshop with a sense of accomplishment.
  4. Continual learning: Provide additional training opportunities or resources for participants to continue their learning after the workshop. This could be through follow-up workshops, webinars, or online tutorials.
  5. Track progress: Keep track of the progress of the participants, check if they are applying what they learned during the workshop and give feedback to help them improve.

Improve this training program🔗

As with any training program, there is always room for improvement. To ensure that this program continues to meet the needs of its attendees, it is important to actively seek feedback and make changes as necessary.

Here are a few ways to improve this training program:

  1. Gather feedback: Regularly gather feedback from attendees, instructors and other stakeholders to understand how the program is being received and identify areas for improvement.
  2. Review and revise content: Review the content of the program and make changes as necessary to ensure that it is up-to-date, accurate, and relevant to the attendees.
  3. Continuously update the material: Continuously update the material, adding new information and best practices as it becomes available.
  4. Use different learning methods: Use different learning methods to accommodate different learning styles, such as hands-on activities, group discussions, and online resources.
  5. Encourage participation: Encourage participation and collaboration among attendees, creating an interactive and dynamic learning experience.
  6. Use modern technologies: Use modern technologies to enhance the learning experience, such as virtual reality, gamification, and AI-based learning.
  7. Assess the impact: Assess the impact of the program on the attendees and make changes as necessary to ensure that the program is achieving its intended goals.

For more information on how to contribute to this document and improve this training program, please see the contribute section on Writing Documentation.

Frequently Asked Questions🔗

This FAQ has been compiled to answer common questions about the PlanktoScope project and how you can get involved. We hope you find it useful and we look forward to working with you to advance our knowledge of the oceans!

Can I purchase a PlanktoScope?🔗

You can purchase a PlanktoScope - either as a kit of parts to assemble yourself or as a fully preassembled device - from a small business called FairScope, which was started by the inventor of the PlanktoScope in order to make PlanktoScopes easier to obtain. For more information, please refer to our page on how to obtain a PlanktoScope.

How much money does a PlanktoScope cost?🔗

For pricing of PlanktoScopes and PlanktoScope assembly kits from FairScope, refer to the FairScope website. If you purchase all the parts to build a single PlanktoScope yourself, the cost of parts can be as low as USD 400 or USD 800 depending on the type of PlanktoScope you build.

Where do I get support or find the necessary tools to build PlanktoScope?🔗

To find the necessary tools and knowledge to produce the PlanktoScope, consider visiting a Fablab or Hackspaces in your region. These organizations often have a culture of openness and may be willing to support you with your project.

And if you have specific questions or problems, you can always report them in the Slack Channel and in the best case you will find someone there who can support you.

Frequently Asked Questions🔗

This FAQ has been compiled to answer common questions about the PlanktoScope project and how you can get involved. We hope you find it useful and we look forward to working with you to advance our knowledge of the oceans!

Can I purchase a PlanktoScope?🔗

You can purchase a PlanktoScope - either as a kit of parts to assemble yourself or as a fully preassembled device - from a small business called FairScope, which was started by the inventor of the PlanktoScope in order to make PlanktoScopes easier to obtain. For more information, please refer to our page on how to obtain a PlanktoScope.

How much money does a PlanktoScope cost?🔗

For pricing of PlanktoScopes and PlanktoScope assembly kits from FairScope, refer to the FairScope website. If you purchase all the parts to build a single PlanktoScope yourself, the cost of parts can be as low as USD 400 or USD 800 depending on the type of PlanktoScope you build.

Where do I get support or find the necessary tools to build PlanktoScope?🔗

To find the necessary tools and knowledge to produce the PlanktoScope, consider visiting a Fablab or Hackspaces in your region. These organizations often have a culture of openness and may be willing to support you with your project.

And if you have specific questions or problems, you can always report them in the Slack Channel and in the best case you will find someone there who can support you.

PlanktoScope Documentation🔗

planktoscope_hero

Welcome to the documentation for the PlanktoScope project! Here are some quick links to help you navigate the documentation depending on what you what you want to do:

  1. "I want to get a PlanktoScope!"
  2. "I want to learn how to operate a PlanktoScope!"
  3. "I want to fix something which isn't working on my PlanktoScope!"
  4. "I want to get involved in the PlanktoScope community!"
  5. "I want to study the design of the PlanktoScope!"

What is PlanktoScope?🔗

Plankton are living things which drift with the water currents in our world's oceans, rivers, and lakes. Lots of plankton are very small - so small that we need tools called microscopes in order for us to see them. One type of plankton is phytoplankton: plant-like plankton which take a huge amount of carbon dioxide from the air and become the food for all other life in the water - like the grasses of the sea. Because of this, plankton are very important to the health of our planet.

But there’s still a lot we don’t know about what’s happening with groups of plankton and how they’re changing: most tools would be too hard and expensive for us to use to get much detail about how every group of plankton is changing across an entire ocean. If we can make tools which give detailed information and which everyone can use - everywhere, all the time - then we can learn more about how the oceans will change because of things people and companies are doing.

The PlanktoScope is a low-cost, open-source, and portable microscope designed to take detailed photos of tiny plankton from lots of water, so that we can count the different kinds of plankton in the water.

The PlanktoScope at tfom23 Expo

What is the PlanktoScope project?🔗

The PlanktoScope project is a community project to develop the PlanktoScope as a tool and to help people use it for a variety of purposes around the world. It is part of a broader movement toward making scientific tools more accessible and affordable, while also empowering citizen scientists, educators, and researchers to study and monitor aquatic ecosystems.

Who are PlanktoScopes for?🔗

We want the PlanktoScope to be a tool which is easy to use for anyone who's interested in the tiny things which live in our oceans, and for anyone who cares about the health of our oceans - not just scientists, but also sailors, marine farmers, makers, fishing communities, and students. However, we still need to make many improvements to the PlanktoScope in order to reach this goal. Most of the people who currently enjoy using PlanktoScopes have some experience with using microscopes, a tolerance for handling software problems, and a sense of adventure for trying out new technologies which are still in development.

We also want PlanktoScopes to be easy to use for people around the world. Currently, the PlanktoScope software's user interface and documentation are all in English; we will need software and translation help to support other languages. The PlanktoScope community mainly works in English, though we also have active community members whose primary languages are French and Japanese.

We are excited about the possibility of using PlanktoScopes for measuring things besides plankton - for example, counting and identifying microplastics, or monitoring suspended cell cultures, or even detecting parasites in certain diseases. However, we have not yet developed or assessed the PlanktoScope as a tool which people could use for these other purposes.

If you want to help to improve the PlanktoScope, to build a PlanktoScope community in a non-English language, or to explore new uses for PlanktoScopes, please get involved in our global community!

PlanktoScope Documentation🔗

planktoscope_hero

Welcome to the documentation for the PlanktoScope project! Here are some quick links to help you navigate the documentation depending on what you what you want to do:

  1. "I want to get a PlanktoScope!"
  2. "I want to learn how to operate a PlanktoScope!"
  3. "I want to fix something which isn't working on my PlanktoScope!"
  4. "I want to get involved in the PlanktoScope community!"
  5. "I want to study the design of the PlanktoScope!"

What is PlanktoScope?🔗

Plankton are living things which drift with the water currents in our world's oceans, rivers, and lakes. Lots of plankton are very small - so small that we need tools called microscopes in order for us to see them. One type of plankton is phytoplankton: plant-like plankton which take a huge amount of carbon dioxide from the air and become the food for all other life in the water - like the grasses of the sea. Because of this, plankton are very important to the health of our planet.

But there’s still a lot we don’t know about what’s happening with groups of plankton and how they’re changing: most tools would be too hard and expensive for us to use to get much detail about how every group of plankton is changing across an entire ocean. If we can make tools which give detailed information and which everyone can use - everywhere, all the time - then we can learn more about how the oceans will change because of things people and companies are doing.

The PlanktoScope is a low-cost, open-source, and portable microscope designed to take detailed photos of tiny plankton from lots of water, so that we can count the different kinds of plankton in the water.

The PlanktoScope at tfom23 Expo

What is the PlanktoScope project?🔗

The PlanktoScope project is a community project to develop the PlanktoScope as a tool and to help people use it for a variety of purposes around the world. It is part of a broader movement toward making scientific tools more accessible and affordable, while also empowering citizen scientists, educators, and researchers to study and monitor aquatic ecosystems.

Who are PlanktoScopes for?🔗

We want the PlanktoScope to be a tool which is easy to use for anyone who's interested in the tiny things which live in our oceans, and for anyone who cares about the health of our oceans - not just scientists, but also sailors, marine farmers, makers, fishing communities, and students. However, we still need to make many improvements to the PlanktoScope in order to reach this goal. Most of the people who currently enjoy using PlanktoScopes have some experience with using microscopes, a tolerance for handling software problems, and a sense of adventure for trying out new technologies which are still in development.

We also want PlanktoScopes to be easy to use for people around the world. Currently, the PlanktoScope software's user interface and documentation are all in English; we will need software and translation help to support other languages. The PlanktoScope community mainly works in English, though we also have active community members whose primary languages are French and Japanese.

We are excited about the possibility of using PlanktoScopes for measuring things besides plankton - for example, counting and identifying microplastics, or monitoring suspended cell cultures, or even detecting parasites in certain diseases. However, we have not yet developed or assessed the PlanktoScope as a tool which people could use for these other purposes.

If you want to help to improve the PlanktoScope, to build a PlanktoScope community in a non-English language, or to explore new uses for PlanktoScopes, please get involved in our global community!

Operation🔗

This page provides basic instructions for operating your PlanktoScope.

getting started

Connect directly to your PlanktoScope🔗

In order to operate your PlanktoScope, you will need to connect to your PlanktoScope from a separate device (a computer, tablet, or phone) with a web browser. If this is your first time setting up or connecting to your PlanktoScope, you will need to set up a direct network connection between your computer and your PlanktoScope.

Connect with an Ethernet cable🔗

You can connect your computer to the PlanktoScope by plugging an Ethernet cable between your computer and your PlanktoScope's Raspberry Pi.

Connect with the PlanktoScope's isolated Wi-Fi network🔗

Unless you have already configured your PlanktoScope to connect to an existing Wi-Fi network, your PlanktoScope will create its own isolated Wi-Fi network (like a Wi-Fi hotspot, but without internet access). The Wi-Fi network created by your PlanktoScope should appear on your computer's list of available Wi-Fi networks a few minutes after you turn on power to your PlanktoScope.

wifi-network.png

As you can see, the name of your PlanktoScope's Wi-Fi network will be of the format pkscope-{random word}-{random word}-{random number}. This name corresponds exactly to the serial number of the Raspberry Pi computer in your PlanktoScope, so it is a unique Wi-Fi network name; and the unique name of your machine has format {random-word}-{random-word}-{random number}, which is just the name of the Wi-Fi network but without the pkscope- prefix (e.g. chain-list-27764). You should connect to the Wi-Fi network specific to your PlanktoScope.

Access your PlanktoScope's software🔗

Once you connect your computer to your PlanktoScope, you will need to access your PlanktoScope's software from a web browser on your computer. You should try opening the following URLs in your web browser (try opening them in the following order, and just use the first one which works):

Tip

If you know the machine name of your PlanktoScope (which has format {random-word}-{random-word}-{random number}, e.g. chain-list-27764, you can also try the following URLs after replacing {machine-name} with the actual machine name of your PlanktoScope:

http://pkscope-{machine-name}.local (this should work unless you're on a device and web browser without mDNS support; notably, older versions of Android do not have mDNS support)

http://{machine-name}.pkscope (this should work unless your web browser is configured to use a Private DNS provider)

You will need to use a URL with your PlanktoScope's machine name if your computer has network connections to multiple PlanktoScopes, e.g. via multiple Ethernet cables. In such a situation, using http://home.pkscope or http://pkscope.local may cause you to access the software for a different PlanktoScope connected to your computer than the one you had intended to access.

Warning

You may encounter older documents which ask you to connect to http://planktoscope.local:1880/ui, which is the URL to use for software version 2.3 and even older versions. That link does not work on software versions newer than v2.3; instead, you should use the links listed above.

One of the above URLs should work, and your web browser should show a landing page with a list of links:

landing-page.png

You should click on the "Node-RED dashboard" link; this will open a new tab with the primary interface for operating your PlanktoScope. Once you have opened the Node-RED dashboard, you should proceed to our User interface guide to understand how to use it.

How to image plankton🔗

Before doing an acquisition, you will need to collect targets. There are several ways to do this, and you probably already have a source nearby (in a culture if you are working in a lab).

However, if you have access to a body of water (even a tiny lake or river is enough), you can build yourself a plankton net to collect a sample. Once the sample is collected, either pump it with a syringe that you connect to the machine, or dip one of the silicone tube inside the sample tube you have.

You can then do an acquisition run. This is the best way to learn about the machine and this process!

Warning

After doing an acquisition, the machine should be cleaned, especially in the fluidic part. One good way to do this is to first flush the machine with clear water (distilled if possible). You can then push through a 5-10% bleach solution, or some alcohol.

If needed you can also clean the outside of the objective lens with a soft cloth. You can do the same on the flow cell if there are traces of finger on it too.

For quantitative imaging of water samples, refer to the following protocols published by members of the PlanktoScope community:

Operation🔗

This page provides basic instructions for operating your PlanktoScope.

getting started

Connect directly to your PlanktoScope🔗

In order to operate your PlanktoScope, you will need to connect to your PlanktoScope from a separate device (a computer, tablet, or phone) with a web browser. If this is your first time setting up or connecting to your PlanktoScope, you will need to set up a direct network connection between your computer and your PlanktoScope.

Connect with an Ethernet cable🔗

You can connect your computer to the PlanktoScope by plugging an Ethernet cable between your computer and your PlanktoScope's Raspberry Pi.

Connect with the PlanktoScope's isolated Wi-Fi network🔗

Unless you have already configured your PlanktoScope to connect to an existing Wi-Fi network, your PlanktoScope will create its own isolated Wi-Fi network (like a Wi-Fi hotspot, but without internet access). The Wi-Fi network created by your PlanktoScope should appear on your computer's list of available Wi-Fi networks a few minutes after you turn on power to your PlanktoScope.

wifi-network.png

As you can see, the name of your PlanktoScope's Wi-Fi network will be of the format pkscope-{random word}-{random word}-{random number}. This name corresponds exactly to the serial number of the Raspberry Pi computer in your PlanktoScope, so it is a unique Wi-Fi network name; and the unique name of your machine has format {random-word}-{random-word}-{random number}, which is just the name of the Wi-Fi network but without the pkscope- prefix (e.g. chain-list-27764). You should connect to the Wi-Fi network specific to your PlanktoScope.

Access your PlanktoScope's software🔗

Once you connect your computer to your PlanktoScope, you will need to access your PlanktoScope's software from a web browser on your computer. You should try opening the following URLs in your web browser (try opening them in the following order, and just use the first one which works):

Tip

If you know the machine name of your PlanktoScope (which has format {random-word}-{random-word}-{random number}, e.g. chain-list-27764, you can also try the following URLs after replacing {machine-name} with the actual machine name of your PlanktoScope:

http://pkscope-{machine-name}.local (this should work unless you're on a device and web browser without mDNS support; notably, older versions of Android do not have mDNS support)

http://{machine-name}.pkscope (this should work unless your web browser is configured to use a Private DNS provider)

You will need to use a URL with your PlanktoScope's machine name if your computer has network connections to multiple PlanktoScopes, e.g. via multiple Ethernet cables. In such a situation, using http://home.pkscope or http://pkscope.local may cause you to access the software for a different PlanktoScope connected to your computer than the one you had intended to access.

Warning

You may encounter older documents which ask you to connect to http://planktoscope.local:1880/ui, which is the URL to use for software version 2.3 and even older versions. That link does not work on software versions newer than v2.3; instead, you should use the links listed above.

One of the above URLs should work, and your web browser should show a landing page with a list of links:

landing-page.png

You should click on the "Node-RED dashboard" link; this will open a new tab with the primary interface for operating your PlanktoScope. Once you have opened the Node-RED dashboard, you should proceed to our User interface guide to understand how to use it.

How to image plankton🔗

Before doing an acquisition, you will need to collect targets. There are several ways to do this, and you probably already have a source nearby (in a culture if you are working in a lab).

However, if you have access to a body of water (even a tiny lake or river is enough), you can build yourself a plankton net to collect a sample. Once the sample is collected, either pump it with a syringe that you connect to the machine, or dip one of the silicone tube inside the sample tube you have.

You can then do an acquisition run. This is the best way to learn about the machine and this process!

Warning

After doing an acquisition, the machine should be cleaned, especially in the fluidic part. One good way to do this is to first flush the machine with clear water (distilled if possible). You can then push through a 5-10% bleach solution, or some alcohol.

If needed you can also clean the outside of the objective lens with a soft cloth. You can do the same on the flow cell if there are traces of finger on it too.

For quantitative imaging of water samples, refer to the following protocols published by members of the PlanktoScope community:

Maintenance and Repair🔗

Instructions for maintaining and repairing the PlanktoScope.

Cleaning the optics🔗

  • Begin by turning off the microscope and unplugging it from any power source. Gently remove any dust or debris using a soft, dry cloth.
  • To clean the lenses and other optics, use a lens cleaning solution and a lens cleaning tissue or cloth. Gently wipe the optics in a circular motion, starting from the center and working outward. Avoid applying too much pressure or using a rough cloth, as this can scratch or damage the optics.
  • Once you have finished cleaning the optics, use a dry cloth to remove any excess moisture or cleaning solution.

Software updates🔗

The PlanktoScope project aims to keep improving the PlanktoScope software by fixing problems and making the software simpler and easier to use, releasing a new version of the software a few times each year. At the same time, we aim to keep the software compatible with all previous officially-released versions of the PlanktoScope hardware. For this reason, we strongly recommend everyone to keep their PlanktoScopes updated to run the latest stable release of the PlanktoScope software, and the PlanktoScope documentation will only support the latest stable release. You can always find the latest stable release at https://github.com/PlanktoScope/PlanktoScope/releases/latest, which will redirect you to a web page for the latest stable release.

Currently, you will need to re-flash the SD card of your PlanktoScope's embedded Raspberry Pi in order to update the PlanktoScope software to the latest version, and then you will need to reapply any custom software configurations you had set (e.g. hardware settings). We are also developing an easier and less disruptive way to update the PlanktoScope software, but it is not yet ready for use.

Maintenance and Repair🔗

Instructions for maintaining and repairing the PlanktoScope.

Cleaning the optics🔗

  • Begin by turning off the microscope and unplugging it from any power source. Gently remove any dust or debris using a soft, dry cloth.
  • To clean the lenses and other optics, use a lens cleaning solution and a lens cleaning tissue or cloth. Gently wipe the optics in a circular motion, starting from the center and working outward. Avoid applying too much pressure or using a rough cloth, as this can scratch or damage the optics.
  • Once you have finished cleaning the optics, use a dry cloth to remove any excess moisture or cleaning solution.

Software updates🔗

The PlanktoScope project aims to keep improving the PlanktoScope software by fixing problems and making the software simpler and easier to use, releasing a new version of the software a few times each year. At the same time, we aim to keep the software compatible with all previous officially-released versions of the PlanktoScope hardware. For this reason, we strongly recommend everyone to keep their PlanktoScopes updated to run the latest stable release of the PlanktoScope software, and the PlanktoScope documentation will only support the latest stable release. You can always find the latest stable release at https://github.com/PlanktoScope/PlanktoScope/releases/latest, which will redirect you to a web page for the latest stable release.

Currently, you will need to re-flash the SD card of your PlanktoScope's embedded Raspberry Pi in order to update the PlanktoScope software to the latest version, and then you will need to reapply any custom software configurations you had set (e.g. hardware settings). We are also developing an easier and less disruptive way to update the PlanktoScope software, but it is not yet ready for use.

Sample collection🔗

The most common way to collect samples for the PlanktoScope is to use a plankton net.

Plankton Net🔗

A plankton net is a scientific tool used to collect plankton samples from aquatic environments. Plankton are small, drifting organisms that play a vital role in marine ecosystems. They include a diverse range of species, including bacteria, algae, protozoa, and small animals such as crustaceans and mollusks. Plankton nets are designed to capture these tiny organisms as they drift through the water column.

Plankton nets typically consist of a fine mesh net attached to a long, narrow handle. The net is usually cone- or cylinder-shaped, with a small opening at the base and a wider opening at the top. The net is lowered into the water and dragged through the water column, collecting plankton as it goes. The collected plankton is then collected in a sample bottle or container for further study.

Plankton nets can be used in a variety of aquatic environments, including oceans, lakes, and rivers. They are commonly used in scientific research to study the diversity and abundance of plankton in different ecosystems, as well as their role in the food web and the broader ecosystem. Plankton nets are also used in environmental monitoring programs to track changes in plankton populations over time.

network list

The simplest device you can use is a plankton net. It should be made of a fine mesh, down to 20 micron. It can be towed behind a boat at low speed (less than 2 knots) or towed by hand in a river or a lake.

Plankton nets can be made easily with a good sewind machine and some hardware.

Sample collection🔗

The most common way to collect samples for the PlanktoScope is to use a plankton net.

Plankton Net🔗

A plankton net is a scientific tool used to collect plankton samples from aquatic environments. Plankton are small, drifting organisms that play a vital role in marine ecosystems. They include a diverse range of species, including bacteria, algae, protozoa, and small animals such as crustaceans and mollusks. Plankton nets are designed to capture these tiny organisms as they drift through the water column.

Plankton nets typically consist of a fine mesh net attached to a long, narrow handle. The net is usually cone- or cylinder-shaped, with a small opening at the base and a wider opening at the top. The net is lowered into the water and dragged through the water column, collecting plankton as it goes. The collected plankton is then collected in a sample bottle or container for further study.

Plankton nets can be used in a variety of aquatic environments, including oceans, lakes, and rivers. They are commonly used in scientific research to study the diversity and abundance of plankton in different ecosystems, as well as their role in the food web and the broader ecosystem. Plankton nets are also used in environmental monitoring programs to track changes in plankton populations over time.

network list

The simplest device you can use is a plankton net. It should be made of a fine mesh, down to 20 micron. It can be towed behind a boat at low speed (less than 2 knots) or towed by hand in a river or a lake.

Plankton nets can be made easily with a good sewind machine and some hardware.

User interface guide🔗

This guide will help you understand how to use the Node-RED dashboard, which is the primary user interface for operating the PlanktoScope.

Home

Home🔗

When you open the "Node-RED dashboard link" from the PlanktoScope's landing page, you will reach a page like what is shown in the screenshot above.

From here, you can quickly access any of the available tabs. The buttons are only the most used functionnalities of the machine. Three others tabs are accessible only through the hamburger menu on the top left of the screen (the three horizontal lines):

  • Wifi
  • Administration
  • Hardware Config

Tab List

Tip

This list is also available from any other tab and allows you to quickly navigate between tabs.

Machine shutdown🔗

From this page, you can also shutdown the machine when you are done.

Warning

It's very very very important to always shutdown the machine and wait a minute for it to completely shutdown before unplugging the power supply! You risk data corruption is you savagely shutdown your machine!

To shutdown the machine, first unlock the shutdown button by clicking on "Unlock Button".

Home Shutdown Unlocked

You can then click on "Shutdown". The machine will ask for a final confirmation and will then shut itself down.

Home Shutdown

Sample Tab🔗

Sample

In this page, you can enter all the information regarding the current sample you want to image. This includes the project name, the operator, but also the type of collection device you used.

Sample device selection

Depending on the device you choose, the page will change to reflect the needed information.

There is a mechanism of validation of the submitted data. Please be careful to use the format given in example for each input field.

Sample validation

The GPS status block will give you the current information on the GPS fix and location, your direction and speed. This can be used to grab the location when in the field.

Sample net

Once all the fields are completed, you can go to the next tab by clicking the -> arrow. This will make sure all the inserted data is valid.

Optic Configuration🔗

This page allows you to control the optical setup of the acquisition.

Optic configuration

In the Optic Characterization block, you can control to turn the light on or not. You also have to choose the optics in use in the machine.

Warning

For now, the characteristics shown here are not true values (except if you use the 25mm/16mm lens couple).

The Camera Settings block allows you to change the shutter speed, the ISO number and the camera white balance settings. You can set it to automatic, but it's better if you control it by hand to make sure the setting doesn't change when the acquisition is started.

The Fluidic Manual Manipulation allows you to control the pump. You can change both the flowrate and the volume pumped. If you click on the rotating arrow, it will start the pump for the given volume at the chosen flowrate.

The Focus Adjustment block allows you to control the focus stage. With the leftmost buttons, you can choose to move the stage quickly by one mm, either up or down. The rightmost buttons move the stage by the specified distance in the slider under.

As with all the tabs, once you are satisfied with your focus and your image settings, you can click on "Continue".

Fluidic Acquisition🔗

Finally, this is where the magic happens! You will be able to chose the final parameters of your capture.

Fluidic Acquisition

First of all, change the Fraction Size of your sample. You can then choose a unique ID for your acquisition, the number of pictures you want to take, the pumped volume (in between images), the delay to stabilize the image and the Flowcell thickness. All those settings will influence the Total imaged volume (the total volume captured during the acquisition) and the Total pumped volume.

Warning

Make sure the Total pumped volume is lower than the volume of your sample.

Gallery

This simple page will allow you to preview and download the captured data.

System Monitoring🔗

This tab allows you to monitor the physical characteristics of the machine and follow the processor load, CPU temperature, memory use and disk usage.

System Monitoring

You also can find information about the software version you are using, the machine name and its camera.

USB Backup of the data🔗

Using the USB Backup block, you can backup the data from the machine to a connected USB device.

Info

Use one of the center USB ports on the machine, since those are USB3.0. They can be recognized by the blue insert in the middle of the connector. Those ports are faster.

After you connected your drive, click on "Detect Drive" to make it appear in the list. You can then choose "Backup to USB" to launch the copy. Wait until a completion message is displayed.

Before purging the local data, make sure your data has been backed up at least twice!

Warning

It's very warmly recommended to use the 3-2-1 backup strategy. 3 copies on 2 devices with at least 1 offsite. For this machine, this means creating two copies on two different USB drives of the data before purging it from the device. Also, you should backup your device after each acquisition.

Wifi🔗

Administration

This page will give you information about the network the PlanktoScope is connected to. It will also allows you to connect your machine to a new WiFi network.

Start by doing a network scan by clicking on the Scan button. The list will be populated with detected networks after a few seconds. You can then choose one of them, enter its password and click on Add the network to connect to it. The wifi network of the PlanktoScope will disappear after a few seconds, so you will need to connect back to the same network you just put the machine on.

Finally, if you are not located in the US, please update the Country code in the field below. This will ensure the PlanktoScope complies with local Wifi regulations (such as maximum emitted power, duty cycle and such).

Clicking on the button Reset wifi networks will erase ALL networks saved previously by the machine. If you do this, it will disconnect immediately from any network it's connected to, and will put up its own network.

Info

For now, only WPA/WPA2 Personnal security system is supported. If you need another security system supported, get in touch with us.

Warning

Please be mindful about the security policies of your organisation before connecting your device to a network (either through Wifi or with an Ethernet cable). A lot of research institutions don't allow devices not controlled by them to be connected to their network without first going on an approved list with a least a basic security checkup.

Administration🔗

Administration

On this page you can find links to view the logs generated by the Python backend, and buttons to restart the Python backend's hardware controller or segmenter, as well as buttons to restart or shut down your PlanktoScope's Raspberry Pi computer.

Hardware Settings🔗

Hardware Settings

You should not touch anything here unless you have received specific instructions to do so, e.g. as part of our post-installation configuration guide, or as part of a guide for calibrating your PlanktoScope.

User interface guide🔗

This guide will help you understand how to use the Node-RED dashboard, which is the primary user interface for operating the PlanktoScope.

Home

Home🔗

When you open the "Node-RED dashboard link" from the PlanktoScope's landing page, you will reach a page like what is shown in the screenshot above.

From here, you can quickly access any of the available tabs. The buttons are only the most used functionnalities of the machine. Three others tabs are accessible only through the hamburger menu on the top left of the screen (the three horizontal lines):

  • Wifi
  • Administration
  • Hardware Config

Tab List

Tip

This list is also available from any other tab and allows you to quickly navigate between tabs.

Machine shutdown🔗

From this page, you can also shutdown the machine when you are done.

Warning

It's very very very important to always shutdown the machine and wait a minute for it to completely shutdown before unplugging the power supply! You risk data corruption is you savagely shutdown your machine!

To shutdown the machine, first unlock the shutdown button by clicking on "Unlock Button".

Home Shutdown Unlocked

You can then click on "Shutdown". The machine will ask for a final confirmation and will then shut itself down.

Home Shutdown

Sample Tab🔗

Sample

In this page, you can enter all the information regarding the current sample you want to image. This includes the project name, the operator, but also the type of collection device you used.

Sample device selection

Depending on the device you choose, the page will change to reflect the needed information.

There is a mechanism of validation of the submitted data. Please be careful to use the format given in example for each input field.

Sample validation

The GPS status block will give you the current information on the GPS fix and location, your direction and speed. This can be used to grab the location when in the field.

Sample net

Once all the fields are completed, you can go to the next tab by clicking the -> arrow. This will make sure all the inserted data is valid.

Optic Configuration🔗

This page allows you to control the optical setup of the acquisition.

Optic configuration

In the Optic Characterization block, you can control to turn the light on or not. You also have to choose the optics in use in the machine.

Warning

For now, the characteristics shown here are not true values (except if you use the 25mm/16mm lens couple).

The Camera Settings block allows you to change the shutter speed, the ISO number and the camera white balance settings. You can set it to automatic, but it's better if you control it by hand to make sure the setting doesn't change when the acquisition is started.

The Fluidic Manual Manipulation allows you to control the pump. You can change both the flowrate and the volume pumped. If you click on the rotating arrow, it will start the pump for the given volume at the chosen flowrate.

The Focus Adjustment block allows you to control the focus stage. With the leftmost buttons, you can choose to move the stage quickly by one mm, either up or down. The rightmost buttons move the stage by the specified distance in the slider under.

As with all the tabs, once you are satisfied with your focus and your image settings, you can click on "Continue".

Fluidic Acquisition🔗

Finally, this is where the magic happens! You will be able to chose the final parameters of your capture.

Fluidic Acquisition

First of all, change the Fraction Size of your sample. You can then choose a unique ID for your acquisition, the number of pictures you want to take, the pumped volume (in between images), the delay to stabilize the image and the Flowcell thickness. All those settings will influence the Total imaged volume (the total volume captured during the acquisition) and the Total pumped volume.

Warning

Make sure the Total pumped volume is lower than the volume of your sample.

Gallery

This simple page will allow you to preview and download the captured data.

System Monitoring🔗

This tab allows you to monitor the physical characteristics of the machine and follow the processor load, CPU temperature, memory use and disk usage.

System Monitoring

You also can find information about the software version you are using, the machine name and its camera.

USB Backup of the data🔗

Using the USB Backup block, you can backup the data from the machine to a connected USB device.

Info

Use one of the center USB ports on the machine, since those are USB3.0. They can be recognized by the blue insert in the middle of the connector. Those ports are faster.

After you connected your drive, click on "Detect Drive" to make it appear in the list. You can then choose "Backup to USB" to launch the copy. Wait until a completion message is displayed.

Before purging the local data, make sure your data has been backed up at least twice!

Warning

It's very warmly recommended to use the 3-2-1 backup strategy. 3 copies on 2 devices with at least 1 offsite. For this machine, this means creating two copies on two different USB drives of the data before purging it from the device. Also, you should backup your device after each acquisition.

Wifi🔗

Administration

This page will give you information about the network the PlanktoScope is connected to. It will also allows you to connect your machine to a new WiFi network.

Start by doing a network scan by clicking on the Scan button. The list will be populated with detected networks after a few seconds. You can then choose one of them, enter its password and click on Add the network to connect to it. The wifi network of the PlanktoScope will disappear after a few seconds, so you will need to connect back to the same network you just put the machine on.

Finally, if you are not located in the US, please update the Country code in the field below. This will ensure the PlanktoScope complies with local Wifi regulations (such as maximum emitted power, duty cycle and such).

Clicking on the button Reset wifi networks will erase ALL networks saved previously by the machine. If you do this, it will disconnect immediately from any network it's connected to, and will put up its own network.

Info

For now, only WPA/WPA2 Personnal security system is supported. If you need another security system supported, get in touch with us.

Warning

Please be mindful about the security policies of your organisation before connecting your device to a network (either through Wifi or with an Ethernet cable). A lot of research institutions don't allow devices not controlled by them to be connected to their network without first going on an approved list with a least a basic security checkup.

Administration🔗

Administration

On this page you can find links to view the logs generated by the Python backend, and buttons to restart the Python backend's hardware controller or segmenter, as well as buttons to restart or shut down your PlanktoScope's Raspberry Pi computer.

Hardware Settings🔗

Hardware Settings

You should not touch anything here unless you have received specific instructions to do so, e.g. as part of our post-installation configuration guide, or as part of a guide for calibrating your PlanktoScope.

Changelog🔗

The design of the PlanktoScope's hardware has been evolving to fix usability issues and improve the quality of images captured by the PlanktoScope. Thus, multiple versions of the hardware have been developed:

v2.6🔗

This is the latest version of the PlanktoScope hardware, and it is the version currently sold by FairScope. It replaced the optical components so that the PlanktoScope produces higher-quality images.

v2.5🔗

This was the first version of the PlanktoScope hardware made commercially available by FairScope, a small business started by the inventor of the PlanktoScope in order to make it easier for people to obtain PlanktoScopes. It is a minor variation of the v2.4 hardware design and includes all of the changes made in previous hardware versions - including a custom-designed PCB HAT, a glass capillary flowcell. The mechanical structure of this design uses CNC-milled parts rather than laser-cut parts.

v2.4🔗

This was a prototype which replaced the ibidi u-Slide flowcell with a simpler flowcell design based on rectangular glass capillaries, in order to fix various issues with the ibidi flowcells and to make it possible for people to make their own flowcells.

This version was only an internal prototype for the PlanktoScope development team.

v2.3🔗

This was a prototype version of the hardware which replaced the Adafruit Stepper Motor HAT and the Yahboom RGB Cooling HAT with a custom-designed PCB HAT, in order to simplify overall assembly and provide additional features which solved problems with the v2.1 hardware design. As a result, a different configuration of the PlanktoScope software is required to control this version of the PlanktoScope hardware, as well as subsequent hardware versions. This version also significantly changed the physical dimensions of the PlanktoScope's mechanical structure, in order to solve some problems with the v2.1 design.

This version was only an internal prototype for the PlanktoScope development team.

v2.2🔗

This was a prototype version of the hardware which replaced the Adafruit Stepper Motor HAT with a Waveshare Stepper Motor HAT.

This version was only an internal prototype for the PlanktoScope development team.

v2.1🔗

This is the first version of the PlanktoScope hardware which was publicly released, and it is one of the two hardware designs described in the initial paper introducing the PlanktoScope. It simplified the hardware's robustness and mechanical assembly by integrating most subsystems into a monolithic architecture whose structure uses laser-cut parts. The electronic hardware components of this design are all available off-the-shelf, using an Adafruit Stepper Motor HAT to control various actuators and a Yahboom RGB Cooling HAT to cool the PlanktoScope's embedded Raspberry Pi computer. The mechanical structure was designed for fabrication using a laser cutter. This hardware version included some design flaws, such as providing no way to replace the Raspberry Pi's micro-SD card without partially disassembling the PlanktoScope.

v1.0🔗

This was the first prototype of the PlanktoScope, and it is one of the two hardware designs described in the initial paper introducing the PlanktoScope. Its mechanical structure featured a fully modular, stackable architecture consisting of triangular layers which coupled together with magnets.

This design was complicated to assemble, and it suffered from unreliable electronic communication between the modules, so it was never publicly released.

Changelog🔗

The design of the PlanktoScope's hardware has been evolving to fix usability issues and improve the quality of images captured by the PlanktoScope. Thus, multiple versions of the hardware have been developed:

v2.6🔗

This is the latest version of the PlanktoScope hardware, and it is the version currently sold by FairScope. It replaced the optical components so that the PlanktoScope produces higher-quality images.

v2.5🔗

This was the first version of the PlanktoScope hardware made commercially available by FairScope, a small business started by the inventor of the PlanktoScope in order to make it easier for people to obtain PlanktoScopes. It is a minor variation of the v2.4 hardware design and includes all of the changes made in previous hardware versions - including a custom-designed PCB HAT, a glass capillary flowcell. The mechanical structure of this design uses CNC-milled parts rather than laser-cut parts.

v2.4🔗

This was a prototype which replaced the ibidi u-Slide flowcell with a simpler flowcell design based on rectangular glass capillaries, in order to fix various issues with the ibidi flowcells and to make it possible for people to make their own flowcells.

This version was only an internal prototype for the PlanktoScope development team.

v2.3🔗

This was a prototype version of the hardware which replaced the Adafruit Stepper Motor HAT and the Yahboom RGB Cooling HAT with a custom-designed PCB HAT, in order to simplify overall assembly and provide additional features which solved problems with the v2.1 hardware design. As a result, a different configuration of the PlanktoScope software is required to control this version of the PlanktoScope hardware, as well as subsequent hardware versions. This version also significantly changed the physical dimensions of the PlanktoScope's mechanical structure, in order to solve some problems with the v2.1 design.

This version was only an internal prototype for the PlanktoScope development team.

v2.2🔗

This was a prototype version of the hardware which replaced the Adafruit Stepper Motor HAT with a Waveshare Stepper Motor HAT.

This version was only an internal prototype for the PlanktoScope development team.

v2.1🔗

This is the first version of the PlanktoScope hardware which was publicly released, and it is one of the two hardware designs described in the initial paper introducing the PlanktoScope. It simplified the hardware's robustness and mechanical assembly by integrating most subsystems into a monolithic architecture whose structure uses laser-cut parts. The electronic hardware components of this design are all available off-the-shelf, using an Adafruit Stepper Motor HAT to control various actuators and a Yahboom RGB Cooling HAT to cool the PlanktoScope's embedded Raspberry Pi computer. The mechanical structure was designed for fabrication using a laser cutter. This hardware version included some design flaws, such as providing no way to replace the Raspberry Pi's micro-SD card without partially disassembling the PlanktoScope.

v1.0🔗

This was the first prototype of the PlanktoScope, and it is one of the two hardware designs described in the initial paper introducing the PlanktoScope. Its mechanical structure featured a fully modular, stackable architecture consisting of triangular layers which coupled together with magnets.

This design was complicated to assemble, and it suffered from unreliable electronic communication between the modules, so it was never publicly released.

PlanktoScope Hat Hardware🔗

planktoscope_hero

Buses and GPIO pinout🔗

I2C1 Bus🔗

RTC RV-3028-C7🔗

Address 0x52 Configured through a kernel driver.

OLED Display🔗

Address 0x3c

LED control: LM36011🔗

Address 0x64 Control through specific software, current range from 0 to 376mA in normal mode, up to 1.5A in flash mode.

SPI0 Bus🔗

Motor Controller 0: TMC5160🔗

Chip Enable: SPI0_CE0 Motor Enable: GPIO23

Diagnostic output: GPIO16 for Error output GPIO20 for Stall output

Motor Controller 1: TMC5160🔗

Chip Enable: SPI0_CE1 Motor Enable: GPIO5

Diagnostic output: GPIO16 for Error output GPIO20 for Stall output

GPIO🔗

Fan control🔗

PWM1 control through GPIO13

LED Output selection🔗

GPIO18: high for LED1, low for LED2

LED Strobe🔗

GPIO22 for pulse

I2C0 Bus🔗

EEPROM M24C32🔗

Address 0x50 For HAT information only.

PlanktoScope Hat Hardware🔗

planktoscope_hero

Buses and GPIO pinout🔗

I2C1 Bus🔗

RTC RV-3028-C7🔗

Address 0x52 Configured through a kernel driver.

OLED Display🔗

Address 0x3c

LED control: LM36011🔗

Address 0x64 Control through specific software, current range from 0 to 376mA in normal mode, up to 1.5A in flash mode.

SPI0 Bus🔗

Motor Controller 0: TMC5160🔗

Chip Enable: SPI0_CE0 Motor Enable: GPIO23

Diagnostic output: GPIO16 for Error output GPIO20 for Stall output

Motor Controller 1: TMC5160🔗

Chip Enable: SPI0_CE1 Motor Enable: GPIO5

Diagnostic output: GPIO16 for Error output GPIO20 for Stall output

GPIO🔗

Fan control🔗

PWM1 control through GPIO13

LED Output selection🔗

GPIO18: high for LED1, low for LED2

LED Strobe🔗

GPIO22 for pulse

I2C0 Bus🔗

EEPROM M24C32🔗

Address 0x50 For HAT information only.

Technical Reference🔗

The PlanktoScope is a modular, open-source platform for high-throughput quantitative imaging of plankton samples. Its small size, ease of use, and low cost make it suitable for a variety of applications, including the monitoring of laboratory cultures or natural micro-plankton communities. It can be controlled from any WiFi-enabled device and can be easily reconfigured to meet the changing needs of the user.

Key Features🔗

Here are some key features of the PlanktoScope:

  1. Low cost: The PlanktoScope is designed to be affordable, with parts costing under $1000.
  2. Modular: The PlanktoScope is modular, meaning it can be easily reconfigured to meet the changing needs of users.
  3. Open-source: The PlanktoScope is based on open-source hardware and software, making it accessible to a wide community of engineers, researchers, and citizens.
  4. Versatility: The PlanktoScope is versatile, and can be used to study a variety of plankton types, including laboratory cultures and natural micro-plankton communities.
  5. High-throughput: The PlanktoScope is capable of high-throughput quantitative imaging, allowing users to analyze large numbers of samples quickly and efficiently.
  6. WiFi-enabled: The PlanktoScope can be controlled from any WiFi-enabled device, making it easy to use and deploy in a variety of settings.
  7. Portable: The PlanktoScope is small and portable, making it easy to transport and use in the field.
  8. Ease of use: The PlanktoScope is designed to be easy to use, with instructions for assembly and use available on the PlanktoScope website.

Device specification🔗

planktoscope_hero

Size🔗

  • height: 105 mm
  • wide: 275 mm
  • depth: 125 mm

Hardware🔗

  • 4 Core ARM-Cortex-A72 Processor with 1,50 GHz
  • 4 GB Arbeitsspeicher (depending on the purchased version)
  • 64 GB Flash memory (depending on the purchased version)
  • Sony IMX477R Image sensor with 12.3MP
  • M12 mount optics with 16 and 25 mm lenses
  • Automatic focus via linear guide
  • automatic sampling via peristaltic pump
  • the case is made of wood fiberboard

Software🔗

  • Debian based Embedded Linux operating
  • Node-Red based user interface
  • Python Image processing service and cloud connection

Characteristic🔗

  • Focus stage control
  • Pump control
  • Automatic image capture
  • Automatic segmentation, optimization and object detection
  • Control via smartphone or tablet

Areas of Application🔗

  • Plankton analysis of small animals and algae living in water
  • Mobile use via external power supply

System Requirements🔗

  • a Web-Browser to control the device (like a Notebook, Smartphone or Tablet)

Technical Reference🔗

The PlanktoScope is a modular, open-source platform for high-throughput quantitative imaging of plankton samples. Its small size, ease of use, and low cost make it suitable for a variety of applications, including the monitoring of laboratory cultures or natural micro-plankton communities. It can be controlled from any WiFi-enabled device and can be easily reconfigured to meet the changing needs of the user.

Key Features🔗

Here are some key features of the PlanktoScope:

  1. Low cost: The PlanktoScope is designed to be affordable, with parts costing under $1000.
  2. Modular: The PlanktoScope is modular, meaning it can be easily reconfigured to meet the changing needs of users.
  3. Open-source: The PlanktoScope is based on open-source hardware and software, making it accessible to a wide community of engineers, researchers, and citizens.
  4. Versatility: The PlanktoScope is versatile, and can be used to study a variety of plankton types, including laboratory cultures and natural micro-plankton communities.
  5. High-throughput: The PlanktoScope is capable of high-throughput quantitative imaging, allowing users to analyze large numbers of samples quickly and efficiently.
  6. WiFi-enabled: The PlanktoScope can be controlled from any WiFi-enabled device, making it easy to use and deploy in a variety of settings.
  7. Portable: The PlanktoScope is small and portable, making it easy to transport and use in the field.
  8. Ease of use: The PlanktoScope is designed to be easy to use, with instructions for assembly and use available on the PlanktoScope website.

Device specification🔗

planktoscope_hero

Size🔗

  • height: 105 mm
  • wide: 275 mm
  • depth: 125 mm

Hardware🔗

  • 4 Core ARM-Cortex-A72 Processor with 1,50 GHz
  • 4 GB Arbeitsspeicher (depending on the purchased version)
  • 64 GB Flash memory (depending on the purchased version)
  • Sony IMX477R Image sensor with 12.3MP
  • M12 mount optics with 16 and 25 mm lenses
  • Automatic focus via linear guide
  • automatic sampling via peristaltic pump
  • the case is made of wood fiberboard

Software🔗

  • Debian based Embedded Linux operating
  • Node-Red based user interface
  • Python Image processing service and cloud connection

Characteristic🔗

  • Focus stage control
  • Pump control
  • Automatic image capture
  • Automatic segmentation, optimization and object detection
  • Control via smartphone or tablet

Areas of Application🔗

  • Plankton analysis of small animals and algae living in water
  • Mobile use via external power supply

System Requirements🔗

  • a Web-Browser to control the device (like a Notebook, Smartphone or Tablet)

Changelog🔗

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project uses Calendar Versioning with a YYYY.MM.patch scheme for all releases after v2.3.0. All dates in this file are given in the UTC time zone.

Unreleased🔗

v2023.9.0-beta.2 - 2023-12-02🔗

Added🔗

  • (Application) A hardware configuration file for PlanktoScope hardware v2.6, which was previously missing, has been added. It is now the default hardware configuration file for pscopehat builds of the PlanktoScope distro.

Changed🔗

  • (System: infrastructure) Forklift has been upgraded from v0.3.1 to v0.4.0, which includes breaking changes to the schema of Forklift repositories and pallets.

Removed🔗

  • (Application: documentation) The offline documentation included on the PlanktoScope now omits the hardware setup guides.

Fixed🔗

  • (Application: GUI) The white balance gains are now only validated and sent to the backend after the user changes focus away from the input field, instead of being validated and sent 300 ms after the user pauses while editing the value in the input field. This prevents the input validation from being run while the user is still editing the value.
  • (Application) The default brightness of the illumination LED for the pscopehat version of the backend (for the custom PlanktoScope HAT) has been reduced; this a temporary workaround to a bug with raspimjpeg where saved images are overexposed even on the default brightness settings with minimum shutter speed and ISO, despite the brightness of raspimjpeg's camera preview looking reasonable (see https://github.com/PlanktoScope/PlanktoScope/issues/259 for details).
  • (Application: GUI) In the "Sample" page, when the minimal & maximal fraction size fields and min & max sampling depth fields are both displayed simultaneously, now the adafruithat version of the Node-RED dashboard shows the fraction size fields on one row and the sampling depth fields on another row, rather than showing them in adjacent columns. This way, the adafruithat version of the Node-RED dashboard now matches the layout in the pscopehat version of the Node-RED dashboard.
  • (Application: GUI) The "System Monitoring" page now correctly displays the PlanktoScope hardware version in the "Information" panel's "Instrument Type" field.
  • (Application: GUI) The "System Monitoring" and "Fluidic Acquisition" pages now display a software version string which is either a tagged version (e.g. v2023.9.0-beta.1) when the version is tagged, or else a pseudoversion (e.g. v2023.9.0-beta.1-36-gf276e84) which contains an abbreviated commit SHA and a list of the number of commits since the last tagged version. This version string is now also used for the acq_software metadata field.
  • (Application: GUI) The process_commit metadata field is now set once again. Now it depends on the new installer script provided by the github.com/PlanktoScope/install.planktoscope.community repo.
  • (Application: GUI) The process_source metadata field is no longer hard-coded in the Node-RED dashboard. Now it depends on the new installer script provided by the github.com/PlanktoScope/install.planktoscope.community repo.
  • (System: infrastructure) The SD card setup scripts now apply the Forklift pallet in order to create the Docker Compose services and resources ahead-of-time (rather than waiting for the first boot to do that work), so that the first boot of the SD card image will be much faster.
  • (System: infrastructure) The distro setup scripts now work even if they are run from a repository downloaded to some path other than /home/pi/PlanktoScope.
  • (Application: GUI) The landing page now links to the new project documentation site for online documentation, instead of the old project documentation site.

v2023.9.0-beta.1 - 2023-09-14🔗

Added🔗

  • (System: networking) The PlanktoScope can now also be accessed using the domain name pkscope.local from any web browser where planktoscope.local previously worked. We recommend using http://pkscope.local instead of http://planktoscope.local to access your PlanktoScope, for consistency with other domain name formats (see the "Changes" section for details).
  • (System: administration, networking) In operating system's networking configuration files which have lines which are automatically generated based on the PlanktoScope's machine name, those lines now have accompanying code comments which explain the correct files to edit in order to make changes which will persist across device reboots.
  • (System: administration, networking) You can now check the machine name at /home/pi/.local/etc/machine-name. It's updated when the PlanktoScope boots.
  • (System: administration; Application: GUI) The Node-RED dashboard now provides some context on the "Administration" page for how to access the logs linked to from that page, and which links to use for providing logs on GitHub or Slack.
  • (System: administration; Application: GUI) The Node-RED dashboard now provides some additional information about the side-effects of selecting a hardware version on the "Hardware Settings" page, specifically that the white balance settings will be overwritten.

Changed🔗

  • (Major user-facing change; System: networking) The top-level domain for domain names of format home.planktoscope and {machine-name}.planktoscope (e.g. http://metal-slope-23501.planktoscope) has been changed from planktoscope to pkscope, so that the domain names are now of format home.pkscope and {machine-name}.pkscope. Similarly, the machine-specific mDNS name has been changed from format planktoscope-{machine-name}.local to pkscope-{machine-name}.local.
  • (User-facing change; System: networking) The SSIDs of wifi hotspots generated by the PlanktoScope has been changed from the format PlanktoScope {machine-name} to the format pkscope-{machine-name}. This makes it easier to determine the machine-specific mDNS URL: just add .local, to get pkscope-{machine-name}.local (e.g. pkscope-metal-slope-23501.local).
  • (User-facing change; Application: backend) The Python backend now uses the new machine naming scheme everywhere.
  • (System: networking) The default hostname and SSID (used only in certain unexpected situations when a machine name cannot be determined) have both been shortened from planktoscope to pkscope.
  • (System: networking) The SSID format is now specified in /home/pi/.local/etc/hostapd/ssid.snippet, instead of /home/pi/.local/bin/update-ssid-machine-name.sh.

Deprecated🔗

  • (System: networking) The planktoscope.local mDNS name is no longer recommended. We will continue to support it for the foreseeable future (and definitely for at least one year), but we recommend using pkscope.local or the machine-specific mDNS name (of format pkscope-{machine-name}.local) instead.
  • (Application: backend) The Python backend's logs still print machine names in the old naming scheme, to help instrument operators with the naming scheme transition (so that they can identify how each machine was renamed). The machine names in this old naming scheme will be removed in a future release - probably the next release.

Removed🔗

  • (System: administration, networking) The auto-generated /home/pi/.local/etc/cockpit/origins file has been removed, because it does not need to be persisted after being generated. Instead, a temporary file is generated and removed after being used.
  • (System: administration, networking) The default /home/pi/.local/etc/hosts file has been removed from the setup files. Instead, it is now automatically generated by the setup scripts.

Fixed🔗

  • (System: networking) The PlanktoScope no longer generates any machine names or SSIDs which are so long that they prevent the wifi hotspot network from being brought up.
  • (Application: backend) The segmenter no longer crashes and fails to respond immediately after attempting to start segmentation.
  • (Application: preset settings, GUI) The default setting for the pscopehat version of the Node-RED dashboard is now the 300 um capillary, since that version of the hardware is meant to be used with 300 um capillaries. Previously, the default was the 200 um ibidi slide.
  • (Application: preset settings) All default settings for all hardware versions now include a default pixel size calibration of 0.75 um/pixel. Previously, the default settings for v2.1 and v2.3 were missing this setting, which would cause the segmenter to crash when processing datasets generated on PlanktoScopes using the v2.1 or v2.3 hardware settings.
  • (Application: preset settings, GUI) The Node-RED dashboard now correctly lists the selected hardware version in the "Hardware Settings" page's "Hardware Version" dropdown menu upon startup.
  • (Application: GUI) The Node-RED dashboard now (hopefully) is able to determine the camera type from the Python backend.

v2023.9.0-beta.0 - 2023-09-02🔗

Added🔗

  • (System: networking) Traffic is now routed with Network Address Translation between the Ethernet and Wi-Fi network interfaces. This means that if the PlanktoScope has internet access through an Ethernet connection, it will share that internet access to devices connected to its Wi-Fi hotspot; and if the PlanktoScope has internet access through a Wi-Fi connection, it will share that internet access to devices connected to its Ethernet port.
  • (System: networking) Now both 192.168.4.1 and 192.168.5.1 can be used to access your PlanktoScope when your computer is connected directly to it, regardless of whether you are connecting over an Ethernet cable or the PlanktoScope's Wi-Fi hotspot.
  • (System: networking) Previously the PlanktoScope could be connected to from 192.168.4.1 (over Wi-Fi, when running in wireless AP mode), 192.168.5.1 (over Ethernet), and planktoscope.local (over Wi-Fi or Ethernet, from a client device with mDNS support); this meant that Android devices could only connect to the PlanktoScope at 192.168.4.1, as they lack mDNS support. Now, client devices - even those without mDNS support - can connect to the PlanktoScope at home.planktoscope, and/or URLs like clear-field-33719.planktoscope and planktoscope-clear-field-33719.local (where clear-field-33719 is replaced with the PlanktoScope's Raspberry Pi's machine name, which is also part of the name of the PlanktoScope's Wi-Fi network - e.g. "PlanktoScope clear-field-33719").
  • (Application: Documentation) An offline copy of the PlanktoScope project documentation is now provided at URL path /ps/docs/ (so e.g. it's accessible at http://home.planktoscope/ps/docs/)
  • (Application: GUI) The Node-RED dashboard's "Hardware Settings" page now includes a drop-down menu item to select "PlanktoScope v2.5" as an allowed hardware version.
  • (Application: GUI, administration) The Node-RED dashboard now generates a notification whenever it restarts the Python backend. This provides visibility for the user when changing the hardware version triggers a restart of the Python backend.
  • (System: administration, troubleshooting, GUI) A Cockpit system administration dashboard is now installed and made accessible at URL path /admin/cockpit/ (so e.g. it's accessible at http://home.planktoscope/admin/cockpit/).
  • (System: administration, troubleshooting, GUI) A filebrowser instance, allowing you to manage and edit files anywhere in the Raspberry Pi's SD card, is now installed and made accessible at URL path /admin/fs/ (so e.g. it's accessible at http://home.planktoscope/admin/fs/)
  • (System: administration, troubleshooting, GUI) A Portainer administration dashboard for Docker is now installed and made accessible at URL path /admin/portainer/ (so e.g. it's accessible at http://home.planktoscope/admin/portainer/). Note that you will need to open Portainer within a few minutes after booting (or rebooting) your PlanktoScope in order to create an admin account for Portainer.
  • (System: administration) Docker is now installed. We are using it to deliver various applications in a way that will eventually enable safe and easy upgrades.
  • (System: administration, troubleshooting) w3m is now installed, enabling terminal-based interaction with some Wi-Fi network captive portals to obtain internet access on the PlanktoScope. For captive portals which require Javascript, we recommend instead using browsh as a Docker container; we don't provide browsh in the default SD card image because it adds ~250 MB of dependencies to the image.

Changed🔗

  • (User-facing change; System: administration) The file browser on port 80 for viewing datasets has now been moved to path /ps/data/browse/ (so e.g. it's accessible at http://home.planktoscope/ps/data/browse/ ), and it is now implemented using filebrowser, so that now you can delete folders, download folders, preview images, etc. As before, you can still access this from the "Gallery" page of the Node-RED dashboard.
  • (User-facing change; Application: GUI) If you navigate the PlanktoScope in your web browser on port 80 (or without specifying a port) (e.g. with URLs like http://home.planktoscope or http://planktoscope.local), your browser will show a landing page with a list of links for easy access to the Node-RED dashboard, documentation, other embedded applications, and reference information about your PlanktoScope.
  • (User-facing change; Application: GUI) Previously, the Node-RED dashboard was accessed on the path /ui on port 1880, e.g. with URLs like http://planktoscope.local:1880/ui or http://192.168.4.1:1880/ui; now, it should be accessed via a link on the landing page.
  • (User-facing change; System: networking) Previously, PlanktoScope machine names were generated as gibberish words like "Babaxio-Detuiau", and the machine names were used as the names of the private Wi-Fi networks generated by the PlanktoScope in wireless AP mode. However, the machine names created by this naming scheme were often difficult to pronounce, remember, and type for people in various languages, and the naming scheme sometimes generated names which sounded like curses or insults in some languages. Now, PlanktoScope machine names are generated as a combination of two words and a number up to five digits long; words are selected from pre-built lists in a language which can be chosen based on localization settings. Currently, word lists are only provided in US English, resulting in names like "metal-slope-23501", "conscious-pocket-1684", and "plant-range-10581"; however, word lists can be added for other languages in the future, and a user interface will eventually be provided for changing localization settings.
  • (User-facing change; Application: GUI) Selecting a hardware version on the "Hardware Settings" page of the Node-RED dashboard now causes a default hardware preset for that version to overwrite the entire hardware.json file, and the Node-RED dashboard will reload the settings; this prevents the hardware.json file from being changed into an inconsistent mixture of settings for different hardware versions, which was the previous (incorrect) behavior. The description on the "Hardware Settings" page is also now more specific about what happens when a hardware version is selected.
  • (User-facing change; Application: GUI, troubleshooting) Previously, the Node-RED dashboard's "Administration" page merged log entries from every component of the Python backend and the Node-RED dashboard. Now, the Node-RED dashboard instead displays links to separate Cockpit log-viewing pages (which by default are accessed with username pi and password copepode) for the Node-RED dashboard, the backend's hardware controller, and the backend's segmenter, and links to filebrowser directories for all log files created by the backend's hardware controller and segmenter.
  • (User-facing change; System: GUI) Previously, the Node-RED flow editor was accessed directly on port 1880, e.g. with URLs like http://planktoscope.local:1880 or http://192.168.4.1:1880; now, it should be accessed via a link on the landing page .
  • (System: networking) Previously, PlanktoScopes all had planktoscope as their hostname. Now, the hostname is of the format planktoscope-<machine-name>, e.g. planktoscope-metal-slope-23501 or planktoscope-plant-range-10581.
  • (Likely user-facing change; System: networking) The default Wi-Fi country has been changed from FR (France) to US (USA).
  • (Likely user-facing change; System: networking) Previously the autohotspot script considered receiving an IP address assignment from the connected Wi-Fi network as the criterion for determining whether the Wi-Fi connection was successful. Now the autohotspot script tries to ping google.com to determine whether the connection was successful, so that the autohotspot script will revert to wireless AP mode if no internet access is available over the Wi-Fi network (e.g. if the connected Wi-Fi network is actually behaving like a captive portal, which would prevent the PlanktoScope from being accessed via a VPN over the internet - in which case the PlanktoScope would become accessible only over an Ethernet cable). This change is meant to make it easier to fix a PlanktoScope's Wi-Fi connection configuration when that configuration makes internet access impossible.
  • (System: networking, troubleshooting) Previously the autohotspot script would print the MAC addresses and SSIDs of all Wi-Fi networks found by scanning. Now it only prints the SSIDs of Wi-Fi networks found by scanning and avoids printing duplicate SSIDs, for more concise service logs.
  • (System: networking, troubleshooting) When the autohotspot script fails to connect to google.com, it will also print some diagnostic information by attempting to ping 1.1.1.1 (the static IP address of Cloudflare DNS, so a ping without DNS lookup) and checking whether the Wi-Fi network assigned an IP address to the Raspberry Pi, and reporting the results. This enables better troubleshooting of internet access issues on Wi-Fi networks.
  • (System: networking) Previously the autohotspot script was run every 5 minutes to scan for available Wi-Fi networks. Now it is run every 2 minutes, so that the PlanktoScope will connect more quickly to a Wi-Fi network which has just appeared.
  • (System: networking) Previously the autohotspot script and the dhcpcd service would both try to manage when to start and stop the dnsmasq service. Now, the dnsmasq service always runs. This change was made to simplify the network configuration so that it would be easier to understand, troubleshoot, and maintain.
  • (System: networking) Previously the autohotspot script would use a mixture of dhcpcd and wpa_supplicant as entrypoints for Wi-Fi network connection management. Now, dhcpcd is used to manage wpa_supplicant, and the autohotspot script only interacts with dhcpcd. This change was made to simplify the network configuration so that it would be easier to understand, troubleshoot, and maintain. Note that, in the future, wpa_supplicant and dhcpcd may be replaced with NetworkManager.
  • (System: networking) The autohotspot script has undergone a major refactoring, which may accidentally introduce bugs.
  • (Application: Backend, GUI) The Node-RED dashboard no longer supervises the Python backend; instead, it delegates that work to systemd.
  • (Application: Backend) Log files from the Python backend are no longer saved to /home/pi, but instead to subdirectories for the backend components under /home/pi/device-backend-logs. Note: the locations of log files may be changed again in the future, and/or file logging may be changed to use a different systemd-based mechanism in the future.
  • (System) The /usr/bin/stepper-disable and /usr/bin/autohotspotN scripts have been moved to /home/pi/.local/bin/release-gpio-steppers.sh and /home/pi/.local/bin/autohotspot.sh, respectively.
  • (System) The gpio-init.service systemd service has been renamed to planktoscope-org.init-gpio-steppers.service.
  • (System) Previously the en_DK.UTF-8 locale was used for everything. Now it is only used for time, measurements, and paper dimensions, and the en_US.UTF-8 locale is the base locale for everything else. In the future we may provide GUI functionality for changing the base locale.
  • (System) The chrony configuration has been simplified, but it may be broken.
  • (System) The default timezone is now officially set to UTC, and we will be using UTC as the standard system time zone for all PlanktoScopes. Previously, the pre-built SD card images provided by this project used UTC as the timezone, but the "Expert Setup" instructions for manually setting up the PlanktoScope software did not specify a time zone to use.
  • (System, Dependencies) The base OS is now the 2023-05-03 release of Raspberry Pi OS Bullseye.
  • (Application: Backend, Dependencies) The Python backend and Node-RED dashboard's indirect dependencies are now version-locked to improve the reproducibility of the OS setup script independently of when the script is run.

Deprecated🔗

  • (Application: GUI) In a future release (potentially as early as v2023.12.0), the Node-RED editor and Node-RED dashboard will not be accessible at all over port 1880. In this release, you can still access the Node-RED dashboard at path /ps/node-red-v2/ui on port 1880, but the embedded image streams and file gallery will not be properly displayed; and you can access the Node-RED editor at path /admin/ps/node-red-v2 on port 1880. However, you should instead access the Node-RED editor and Node-RED dashboard via the links on the PlanktoScope's landing page.
  • (Application: GUI) In a future release (timeline not yet decided), the version of the Node-RED dashboard for the Adafruit HAT will stop receiving new features even as the version of the Node-RED dashboard for the custom PlanktoScope HAT continues receiving new features. However, we will continue to fix bugs in the Node-RED dashboard for the Adafruit HAT, and we will continue to build SD card images for the Adafruit HAT which will also include new features in other software components.

Removed🔗

  • (User-facing removal; Application: GUI) The Node-RED dashboard no longer allows selection of "PlanktoScope v1.0" or "PlanktoScope v2.2 (waveshare HAT)" as the hardware version. Those hardware versions are no longer supported by the software.
  • (User-facing removal; System: networking) Now planktoscope.local only works for devices connected directly to the PlanktoScope, either via an Ethernet cable or over Wi-Fi when the PlanktoScope is running in wireless AP mode. planktoscope.local no longer works on other networks, such as LANs or mesh VPNs, which the PlanktoScope might be connected to. On such networks, the machine-specific mDNS name (of format planktoscope-<machine-name>.local) should be used instead.
  • (System: administration) The Git-based software update system (exposed in the Node-RED dashboard's "Adminisration" page) has been removed, since it was reported to behave problematically anyways. In the future, we will use a system based on Docker for safer and easier software updates.

Fixed🔗

  • (Major fault-tolerance improvement; Application: GUI) When an invalid value is entered for the red or blue white balance gain on the Node-RED dashboard's "Optic Configuration" page, that value is now ignored, a notification is displayed about the invalid value, and the white balance gain is reset to the last valid value (loaded from the hardware.json configuration file). This fixes issue #166 by preventing the Node-RED dashboard from saving an invalid value to the hardware.json file, which would crash the Python hardware controller after the next boot (or after the next time the Python hardware controller was restarted).
  • (Major quality-of-life improvement; Backend: dependencies) The adafruit-blinka and adafruit-platformdetect dependencies are now updated to their latest version, so that Python hardware controller will work on PlanktoScopes with recent (i.e. post-2021) versions of the Adafruit HAT.
  • (Application: GUI, troubleshooting) Previously, the Node-RED dashboard would often fail to display the log output from the Python backend. Now, it should always make the logs accessible (either by the links to Cockpit log viewer or by the links to the log file browser).
  • (System: networking) Previously the autohotspot script would not ignore any networks which were commented out in the /etc/wpa_supplicant/wpa_supplicant.conf file when checking if any networks found by scanning matched networks were specified in the wpa_supplicant.conf file; now it ignores them, so that commented-out networks don't incorrectly prevent the autohotspot from going into wireless AP mode.
  • (System: networking) Previously the autohotspot script would always wait 20 seconds after attempting to connect to a Wi-Fi network before checking whether the connection was successful, even if it didn't actually need to wait 20 seconds. Now the autohotspot script repeatedly attempts to ping google.com with a timeout of 2 seconds per attempt and a maximum of 10 attempts, so that the autohotspot script only waits as long as a necessary to determine that a Wi-Fi network connection has succeeded.
  • (System: networking) Previously the autohotspot script could decide that the SSID scan results were available even if no SSIDs were found (despite local Wi-Fi networks being active). Now an empty SSID scan result is treated as a condition where a re-scan is required.
  • (System: networking) Previously the log messages from the autohotspot script had inconsistent capitalization and grammar, and slightly unclear wording. Those have now been made more clear and consistent.

v2.3.0 - 2021-12-20🔗

Added🔗

  • A basic working image segmenter.
  • Direct connections over Ethernet.
  • A "Lab culture" sample type, where location is set to the South Pole, and sample collection time and date are set by default to the current time and date on the Raspberry Pi but can be changed. (#74)
  • A "Test" sample type, where location is set to the South Pole, and sample collection time and date are always set to the current time and date on the Raspberry Pi.
  • A selector in the Node-RED dashboard for the machine hardware version (#98)

Changed🔗

  • Various parts of the UI (we do not have a list of specific changes).
  • Node-RED is now upgraded to v2.0 (#97)
  • The base OS is now the 2021-12-03 release of Raspberry Pi OS Buster.

Fixed🔗

  • Various issues with accessing the Node-RED dashboard via http://planktoscope.local:1880/ui .
  • Various issues with Node-RED (#80, #91, #87, #96)

v2.2.1 - 2021-05-10🔗

Added🔗

  • The ability for developers to change the PlanktoScope repository to a development branch from the Node-RED dashboard.

Fixed🔗

  • Various bugs (we do not have a list of specific changes)

v2.2.0 - 2021-02-23🔗

Added🔗

  • Support for Raspberry Pi HQ cameras.
  • Control of image white balance.
  • A Node-RED dashboard panel to copy all data from /home/pi/data to a USB drive.
  • Integrity check of the generated files (for now only for raw pictures and metadata.json files). A file called integrity.check is created alongside the images. This file contains one line per file, with the filename, its size and a checksum of both its filename and its content.
  • A file gallery to browse data files in the /home/pi/data directory.
  • A way to update the PlanktoScope software repository on the Raspberry Pi.
  • A Node-RED dashboard panel to choose a wifi network to connect to.
  • A Node-RED tab to enter the configuration of the hardware.

Changed🔗

  • (Breaking change) The UI has been changed (we do not have a list of specific changes)

Fixed🔗

  • Random camera crash solved: instead of using the python picamera library, we now use a compiled binary, raspimjpeg, controlled through a FIFO pipe

v2.1.0 - 2020-10-14🔗

Added🔗

  • If the Raspberry Pi is configured (via the /etc/wpa_supplicant/wpa_supplicant.conf file) to connect to an existing wifi network, it will try to connect to the network; and it will only start its own wifi hotspot if it failed to connect.
  • If the Raspberry Pi is connected to the internet via its Ethernet port, it will share internet access to devices connected to the Raspberry Pi's wifi hotspot.
  • (Documentation) Information has been added about ribbon cable assembly.
  • (Documentation) Information has been added about how to back up the SD card.

Changed🔗

  • (Breaking change) The OS is now based on Raspberry OS Lite, so there is no graphical desktop.
  • (Breaking change) The wifi network is now named PlanktoScope, and the password to it is now copepode.
  • (Breaking change) The default user is now pi, and the default password is copepode for this user.
  • (Breaking change) All raw and processed data files are now stored in the directory /home/pi/data.
  • The software has undergone a major refactoring, which may accidentally introduce some bugs.

Changelog🔗

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project uses Calendar Versioning with a YYYY.MM.patch scheme for all releases after v2.3.0. All dates in this file are given in the UTC time zone.

Unreleased🔗

v2023.9.0 - 2023-12-30🔗

(this release involves no changes from v2023.9.0-beta.2; it's just a promotion of v2023.9.0-beta.2 to a stable release)

v2023.9.0-beta.2 - 2023-12-02🔗

Added🔗

  • (Application) A hardware configuration file for PlanktoScope hardware v2.6, which was previously missing, has been added. It is now the default hardware configuration file for pscopehat builds of the PlanktoScope distro.

Changed🔗

  • (System: infrastructure) Forklift has been upgraded from v0.3.1 to v0.4.0, which includes breaking changes to the schema of Forklift repositories and pallets.

Removed🔗

  • (Application: documentation) The offline documentation included on the PlanktoScope now omits the hardware setup guides.

Fixed🔗

  • (Application: GUI) The white balance gains are now only validated and sent to the backend after the user changes focus away from the input field, instead of being validated and sent 300 ms after the user pauses while editing the value in the input field. This prevents the input validation from being run while the user is still editing the value.
  • (Application) The default brightness of the illumination LED for the pscopehat version of the backend (for the custom PlanktoScope HAT) has been reduced; this a temporary workaround to a bug with raspimjpeg where saved images are overexposed even on the default brightness settings with minimum shutter speed and ISO, despite the brightness of raspimjpeg's camera preview looking reasonable (see https://github.com/PlanktoScope/PlanktoScope/issues/259 for details).
  • (Application: GUI) In the "Sample" page, when the minimal & maximal fraction size fields and min & max sampling depth fields are both displayed simultaneously, now the adafruithat version of the Node-RED dashboard shows the fraction size fields on one row and the sampling depth fields on another row, rather than showing them in adjacent columns. This way, the adafruithat version of the Node-RED dashboard now matches the layout in the pscopehat version of the Node-RED dashboard.
  • (Application: GUI) The "System Monitoring" page now correctly displays the PlanktoScope hardware version in the "Information" panel's "Instrument Type" field.
  • (Application: GUI) The "System Monitoring" and "Fluidic Acquisition" pages now display a software version string which is either a tagged version (e.g. v2023.9.0-beta.1) when the version is tagged, or else a pseudoversion (e.g. v2023.9.0-beta.1-36-gf276e84) which contains an abbreviated commit SHA and a list of the number of commits since the last tagged version. This version string is now also used for the acq_software metadata field.
  • (Application: GUI) The process_commit metadata field is now set once again. Now it depends on the new installer script provided by the github.com/PlanktoScope/install.planktoscope.community repo.
  • (Application: GUI) The process_source metadata field is no longer hard-coded in the Node-RED dashboard. Now it depends on the new installer script provided by the github.com/PlanktoScope/install.planktoscope.community repo.
  • (System: infrastructure) The SD card setup scripts now apply the Forklift pallet in order to create the Docker Compose services and resources ahead-of-time (rather than waiting for the first boot to do that work), so that the first boot of the SD card image will be much faster.
  • (System: infrastructure) The distro setup scripts now work even if they are run from a repository downloaded to some path other than /home/pi/PlanktoScope.
  • (Application: GUI) The landing page now links to the new project documentation site for online documentation, instead of the old project documentation site.

v2023.9.0-beta.1 - 2023-09-14🔗

Added🔗

  • (System: networking) The PlanktoScope can now also be accessed using the domain name pkscope.local from any web browser where planktoscope.local previously worked. We recommend using http://pkscope.local instead of http://planktoscope.local to access your PlanktoScope, for consistency with other domain name formats (see the "Changes" section for details).
  • (System: administration, networking) In operating system's networking configuration files which have lines which are automatically generated based on the PlanktoScope's machine name, those lines now have accompanying code comments which explain the correct files to edit in order to make changes which will persist across device reboots.
  • (System: administration, networking) You can now check the machine name at /home/pi/.local/etc/machine-name. It's updated when the PlanktoScope boots.
  • (System: administration; Application: GUI) The Node-RED dashboard now provides some context on the "Administration" page for how to access the logs linked to from that page, and which links to use for providing logs on GitHub or Slack.
  • (System: administration; Application: GUI) The Node-RED dashboard now provides some additional information about the side-effects of selecting a hardware version on the "Hardware Settings" page, specifically that the white balance settings will be overwritten.

Changed🔗

  • (Major user-facing change; System: networking) The top-level domain for domain names of format home.planktoscope and {machine-name}.planktoscope (e.g. http://metal-slope-23501.planktoscope) has been changed from planktoscope to pkscope, so that the domain names are now of format home.pkscope and {machine-name}.pkscope. Similarly, the machine-specific mDNS name has been changed from format planktoscope-{machine-name}.local to pkscope-{machine-name}.local.
  • (User-facing change; System: networking) The SSIDs of wifi hotspots generated by the PlanktoScope has been changed from the format PlanktoScope {machine-name} to the format pkscope-{machine-name}. This makes it easier to determine the machine-specific mDNS URL: just add .local, to get pkscope-{machine-name}.local (e.g. pkscope-metal-slope-23501.local).
  • (User-facing change; Application: backend) The Python backend now uses the new machine naming scheme everywhere.
  • (System: networking) The default hostname and SSID (used only in certain unexpected situations when a machine name cannot be determined) have both been shortened from planktoscope to pkscope.
  • (System: networking) The SSID format is now specified in /home/pi/.local/etc/hostapd/ssid.snippet, instead of /home/pi/.local/bin/update-ssid-machine-name.sh.

Deprecated🔗

  • (System: networking) The planktoscope.local mDNS name is no longer recommended. We will continue to support it for the foreseeable future (and definitely for at least one year), but we recommend using pkscope.local or the machine-specific mDNS name (of format pkscope-{machine-name}.local) instead.
  • (Application: backend) The Python backend's logs still print machine names in the old naming scheme, to help instrument operators with the naming scheme transition (so that they can identify how each machine was renamed). The machine names in this old naming scheme will be removed in a future release - probably the next release.

Removed🔗

  • (System: administration, networking) The auto-generated /home/pi/.local/etc/cockpit/origins file has been removed, because it does not need to be persisted after being generated. Instead, a temporary file is generated and removed after being used.
  • (System: administration, networking) The default /home/pi/.local/etc/hosts file has been removed from the setup files. Instead, it is now automatically generated by the setup scripts.

Fixed🔗

  • (System: networking) The PlanktoScope no longer generates any machine names or SSIDs which are so long that they prevent the wifi hotspot network from being brought up.
  • (Application: backend) The segmenter no longer crashes and fails to respond immediately after attempting to start segmentation.
  • (Application: preset settings, GUI) The default setting for the pscopehat version of the Node-RED dashboard is now the 300 um capillary, since that version of the hardware is meant to be used with 300 um capillaries. Previously, the default was the 200 um ibidi slide.
  • (Application: preset settings) All default settings for all hardware versions now include a default pixel size calibration of 0.75 um/pixel. Previously, the default settings for v2.1 and v2.3 were missing this setting, which would cause the segmenter to crash when processing datasets generated on PlanktoScopes using the v2.1 or v2.3 hardware settings.
  • (Application: preset settings, GUI) The Node-RED dashboard now correctly lists the selected hardware version in the "Hardware Settings" page's "Hardware Version" dropdown menu upon startup.
  • (Application: GUI) The Node-RED dashboard now (hopefully) is able to determine the camera type from the Python backend.

v2023.9.0-beta.0 - 2023-09-02🔗

Added🔗

  • (System: networking) Traffic is now routed with Network Address Translation between the Ethernet and Wi-Fi network interfaces. This means that if the PlanktoScope has internet access through an Ethernet connection, it will share that internet access to devices connected to its Wi-Fi hotspot; and if the PlanktoScope has internet access through a Wi-Fi connection, it will share that internet access to devices connected to its Ethernet port.
  • (System: networking) Now both 192.168.4.1 and 192.168.5.1 can be used to access your PlanktoScope when your computer is connected directly to it, regardless of whether you are connecting over an Ethernet cable or the PlanktoScope's Wi-Fi hotspot.
  • (System: networking) Previously the PlanktoScope could be connected to from 192.168.4.1 (over Wi-Fi, when running in wireless AP mode), 192.168.5.1 (over Ethernet), and planktoscope.local (over Wi-Fi or Ethernet, from a client device with mDNS support); this meant that Android devices could only connect to the PlanktoScope at 192.168.4.1, as they lack mDNS support. Now, client devices - even those without mDNS support - can connect to the PlanktoScope at home.planktoscope, and/or URLs like clear-field-33719.planktoscope and planktoscope-clear-field-33719.local (where clear-field-33719 is replaced with the PlanktoScope's Raspberry Pi's machine name, which is also part of the name of the PlanktoScope's Wi-Fi network - e.g. "PlanktoScope clear-field-33719").
  • (Application: Documentation) An offline copy of the PlanktoScope project documentation is now provided at URL path /ps/docs/ (so e.g. it's accessible at http://home.planktoscope/ps/docs/)
  • (Application: GUI) The Node-RED dashboard's "Hardware Settings" page now includes a drop-down menu item to select "PlanktoScope v2.5" as an allowed hardware version.
  • (Application: GUI, administration) The Node-RED dashboard now generates a notification whenever it restarts the Python backend. This provides visibility for the user when changing the hardware version triggers a restart of the Python backend.
  • (System: administration, troubleshooting, GUI) A Cockpit system administration dashboard is now installed and made accessible at URL path /admin/cockpit/ (so e.g. it's accessible at http://home.planktoscope/admin/cockpit/).
  • (System: administration, troubleshooting, GUI) A filebrowser instance, allowing you to manage and edit files anywhere in the Raspberry Pi's SD card, is now installed and made accessible at URL path /admin/fs/ (so e.g. it's accessible at http://home.planktoscope/admin/fs/)
  • (System: administration, troubleshooting, GUI) A Portainer administration dashboard for Docker is now installed and made accessible at URL path /admin/portainer/ (so e.g. it's accessible at http://home.planktoscope/admin/portainer/). Note that you will need to open Portainer within a few minutes after booting (or rebooting) your PlanktoScope in order to create an admin account for Portainer.
  • (System: administration) Docker is now installed. We are using it to deliver various applications in a way that will eventually enable safe and easy upgrades.
  • (System: administration, troubleshooting) w3m is now installed, enabling terminal-based interaction with some Wi-Fi network captive portals to obtain internet access on the PlanktoScope. For captive portals which require Javascript, we recommend instead using browsh as a Docker container; we don't provide browsh in the default SD card image because it adds ~250 MB of dependencies to the image.

Changed🔗

  • (User-facing change; System: administration) The file browser on port 80 for viewing datasets has now been moved to path /ps/data/browse/ (so e.g. it's accessible at http://home.planktoscope/ps/data/browse/ ), and it is now implemented using filebrowser, so that now you can delete folders, download folders, preview images, etc. As before, you can still access this from the "Gallery" page of the Node-RED dashboard.
  • (User-facing change; Application: GUI) If you navigate the PlanktoScope in your web browser on port 80 (or without specifying a port) (e.g. with URLs like http://home.planktoscope or http://planktoscope.local), your browser will show a landing page with a list of links for easy access to the Node-RED dashboard, documentation, other embedded applications, and reference information about your PlanktoScope.
  • (User-facing change; Application: GUI) Previously, the Node-RED dashboard was accessed on the path /ui on port 1880, e.g. with URLs like http://planktoscope.local:1880/ui or http://192.168.4.1:1880/ui; now, it should be accessed via a link on the landing page.
  • (User-facing change; System: networking) Previously, PlanktoScope machine names were generated as gibberish words like "Babaxio-Detuiau", and the machine names were used as the names of the private Wi-Fi networks generated by the PlanktoScope in wireless AP mode. However, the machine names created by this naming scheme were often difficult to pronounce, remember, and type for people in various languages, and the naming scheme sometimes generated names which sounded like curses or insults in some languages. Now, PlanktoScope machine names are generated as a combination of two words and a number up to five digits long; words are selected from pre-built lists in a language which can be chosen based on localization settings. Currently, word lists are only provided in US English, resulting in names like "metal-slope-23501", "conscious-pocket-1684", and "plant-range-10581"; however, word lists can be added for other languages in the future, and a user interface will eventually be provided for changing localization settings.
  • (User-facing change; Application: GUI) Selecting a hardware version on the "Hardware Settings" page of the Node-RED dashboard now causes a default hardware preset for that version to overwrite the entire hardware.json file, and the Node-RED dashboard will reload the settings; this prevents the hardware.json file from being changed into an inconsistent mixture of settings for different hardware versions, which was the previous (incorrect) behavior. The description on the "Hardware Settings" page is also now more specific about what happens when a hardware version is selected.
  • (User-facing change; Application: GUI, troubleshooting) Previously, the Node-RED dashboard's "Administration" page merged log entries from every component of the Python backend and the Node-RED dashboard. Now, the Node-RED dashboard instead displays links to separate Cockpit log-viewing pages (which by default are accessed with username pi and password copepode) for the Node-RED dashboard, the backend's hardware controller, and the backend's segmenter, and links to filebrowser directories for all log files created by the backend's hardware controller and segmenter.
  • (User-facing change; System: GUI) Previously, the Node-RED flow editor was accessed directly on port 1880, e.g. with URLs like http://planktoscope.local:1880 or http://192.168.4.1:1880; now, it should be accessed via a link on the landing page .
  • (System: networking) Previously, PlanktoScopes all had planktoscope as their hostname. Now, the hostname is of the format planktoscope-<machine-name>, e.g. planktoscope-metal-slope-23501 or planktoscope-plant-range-10581.
  • (Likely user-facing change; System: networking) The default Wi-Fi country has been changed from FR (France) to US (USA).
  • (Likely user-facing change; System: networking) Previously the autohotspot script considered receiving an IP address assignment from the connected Wi-Fi network as the criterion for determining whether the Wi-Fi connection was successful. Now the autohotspot script tries to ping google.com to determine whether the connection was successful, so that the autohotspot script will revert to wireless AP mode if no internet access is available over the Wi-Fi network (e.g. if the connected Wi-Fi network is actually behaving like a captive portal, which would prevent the PlanktoScope from being accessed via a VPN over the internet - in which case the PlanktoScope would become accessible only over an Ethernet cable). This change is meant to make it easier to fix a PlanktoScope's Wi-Fi connection configuration when that configuration makes internet access impossible.
  • (System: networking, troubleshooting) Previously the autohotspot script would print the MAC addresses and SSIDs of all Wi-Fi networks found by scanning. Now it only prints the SSIDs of Wi-Fi networks found by scanning and avoids printing duplicate SSIDs, for more concise service logs.
  • (System: networking, troubleshooting) When the autohotspot script fails to connect to google.com, it will also print some diagnostic information by attempting to ping 1.1.1.1 (the static IP address of Cloudflare DNS, so a ping without DNS lookup) and checking whether the Wi-Fi network assigned an IP address to the Raspberry Pi, and reporting the results. This enables better troubleshooting of internet access issues on Wi-Fi networks.
  • (System: networking) Previously the autohotspot script was run every 5 minutes to scan for available Wi-Fi networks. Now it is run every 2 minutes, so that the PlanktoScope will connect more quickly to a Wi-Fi network which has just appeared.
  • (System: networking) Previously the autohotspot script and the dhcpcd service would both try to manage when to start and stop the dnsmasq service. Now, the dnsmasq service always runs. This change was made to simplify the network configuration so that it would be easier to understand, troubleshoot, and maintain.
  • (System: networking) Previously the autohotspot script would use a mixture of dhcpcd and wpa_supplicant as entrypoints for Wi-Fi network connection management. Now, dhcpcd is used to manage wpa_supplicant, and the autohotspot script only interacts with dhcpcd. This change was made to simplify the network configuration so that it would be easier to understand, troubleshoot, and maintain. Note that, in the future, wpa_supplicant and dhcpcd may be replaced with NetworkManager.
  • (System: networking) The autohotspot script has undergone a major refactoring, which may accidentally introduce bugs.
  • (Application: Backend, GUI) The Node-RED dashboard no longer supervises the Python backend; instead, it delegates that work to systemd.
  • (Application: Backend) Log files from the Python backend are no longer saved to /home/pi, but instead to subdirectories for the backend components under /home/pi/device-backend-logs. Note: the locations of log files may be changed again in the future, and/or file logging may be changed to use a different systemd-based mechanism in the future.
  • (System) The /usr/bin/stepper-disable and /usr/bin/autohotspotN scripts have been moved to /home/pi/.local/bin/release-gpio-steppers.sh and /home/pi/.local/bin/autohotspot.sh, respectively.
  • (System) The gpio-init.service systemd service has been renamed to planktoscope-org.init-gpio-steppers.service.
  • (System) Previously the en_DK.UTF-8 locale was used for everything. Now it is only used for time, measurements, and paper dimensions, and the en_US.UTF-8 locale is the base locale for everything else. In the future we may provide GUI functionality for changing the base locale.
  • (System) The chrony configuration has been simplified, but it may be broken.
  • (System) The default timezone is now officially set to UTC, and we will be using UTC as the standard system time zone for all PlanktoScopes. Previously, the pre-built SD card images provided by this project used UTC as the timezone, but the "Expert Setup" instructions for manually setting up the PlanktoScope software did not specify a time zone to use.
  • (System, Dependencies) The base OS is now the 2023-05-03 release of Raspberry Pi OS Bullseye.
  • (Application: Backend, Dependencies) The Python backend and Node-RED dashboard's indirect dependencies are now version-locked to improve the reproducibility of the OS setup script independently of when the script is run.

Deprecated🔗

  • (Application: GUI) In a future release (potentially as early as v2023.12.0), the Node-RED editor and Node-RED dashboard will not be accessible at all over port 1880. In this release, you can still access the Node-RED dashboard at path /ps/node-red-v2/ui on port 1880, but the embedded image streams and file gallery will not be properly displayed; and you can access the Node-RED editor at path /admin/ps/node-red-v2 on port 1880. However, you should instead access the Node-RED editor and Node-RED dashboard via the links on the PlanktoScope's landing page.
  • (Application: GUI) In a future release (timeline not yet decided), the version of the Node-RED dashboard for the Adafruit HAT will stop receiving new features even as the version of the Node-RED dashboard for the custom PlanktoScope HAT continues receiving new features. However, we will continue to fix bugs in the Node-RED dashboard for the Adafruit HAT, and we will continue to build SD card images for the Adafruit HAT which will also include new features in other software components.

Removed🔗

  • (User-facing removal; Application: GUI) The Node-RED dashboard no longer allows selection of "PlanktoScope v1.0" or "PlanktoScope v2.2 (waveshare HAT)" as the hardware version. Those hardware versions are no longer supported by the software.
  • (User-facing removal; System: networking) Now planktoscope.local only works for devices connected directly to the PlanktoScope, either via an Ethernet cable or over Wi-Fi when the PlanktoScope is running in wireless AP mode. planktoscope.local no longer works on other networks, such as LANs or mesh VPNs, which the PlanktoScope might be connected to. On such networks, the machine-specific mDNS name (of format planktoscope-<machine-name>.local) should be used instead.
  • (System: administration) The Git-based software update system (exposed in the Node-RED dashboard's "Adminisration" page) has been removed, since it was reported to behave problematically anyways. In the future, we will use a system based on Docker for safer and easier software updates.

Fixed🔗

  • (Major fault-tolerance improvement; Application: GUI) When an invalid value is entered for the red or blue white balance gain on the Node-RED dashboard's "Optic Configuration" page, that value is now ignored, a notification is displayed about the invalid value, and the white balance gain is reset to the last valid value (loaded from the hardware.json configuration file). This fixes issue #166 by preventing the Node-RED dashboard from saving an invalid value to the hardware.json file, which would crash the Python hardware controller after the next boot (or after the next time the Python hardware controller was restarted).
  • (Major quality-of-life improvement; Backend: dependencies) The adafruit-blinka and adafruit-platformdetect dependencies are now updated to their latest version, so that Python hardware controller will work on PlanktoScopes with recent (i.e. post-2021) versions of the Adafruit HAT.
  • (Application: GUI, troubleshooting) Previously, the Node-RED dashboard would often fail to display the log output from the Python backend. Now, it should always make the logs accessible (either by the links to Cockpit log viewer or by the links to the log file browser).
  • (System: networking) Previously the autohotspot script would not ignore any networks which were commented out in the /etc/wpa_supplicant/wpa_supplicant.conf file when checking if any networks found by scanning matched networks were specified in the wpa_supplicant.conf file; now it ignores them, so that commented-out networks don't incorrectly prevent the autohotspot from going into wireless AP mode.
  • (System: networking) Previously the autohotspot script would always wait 20 seconds after attempting to connect to a Wi-Fi network before checking whether the connection was successful, even if it didn't actually need to wait 20 seconds. Now the autohotspot script repeatedly attempts to ping google.com with a timeout of 2 seconds per attempt and a maximum of 10 attempts, so that the autohotspot script only waits as long as a necessary to determine that a Wi-Fi network connection has succeeded.
  • (System: networking) Previously the autohotspot script could decide that the SSID scan results were available even if no SSIDs were found (despite local Wi-Fi networks being active). Now an empty SSID scan result is treated as a condition where a re-scan is required.
  • (System: networking) Previously the log messages from the autohotspot script had inconsistent capitalization and grammar, and slightly unclear wording. Those have now been made more clear and consistent.

v2.3.0 - 2021-12-20🔗

Added🔗

  • A basic working image segmenter.
  • Direct connections over Ethernet.
  • A "Lab culture" sample type, where location is set to the South Pole, and sample collection time and date are set by default to the current time and date on the Raspberry Pi but can be changed. (#74)
  • A "Test" sample type, where location is set to the South Pole, and sample collection time and date are always set to the current time and date on the Raspberry Pi.
  • A selector in the Node-RED dashboard for the machine hardware version (#98)

Changed🔗

  • Various parts of the UI (we do not have a list of specific changes).
  • Node-RED is now upgraded to v2.0 (#97)
  • The base OS is now the 2021-12-03 release of Raspberry Pi OS Buster.

Fixed🔗

  • Various issues with accessing the Node-RED dashboard via http://planktoscope.local:1880/ui .
  • Various issues with Node-RED (#80, #91, #87, #96)

v2.2.1 - 2021-05-10🔗

Added🔗

  • The ability for developers to change the PlanktoScope repository to a development branch from the Node-RED dashboard.

Fixed🔗

  • Various bugs (we do not have a list of specific changes)

v2.2.0 - 2021-02-23🔗

Added🔗

  • Support for Raspberry Pi HQ cameras.
  • Control of image white balance.
  • A Node-RED dashboard panel to copy all data from /home/pi/data to a USB drive.
  • Integrity check of the generated files (for now only for raw pictures and metadata.json files). A file called integrity.check is created alongside the images. This file contains one line per file, with the filename, its size and a checksum of both its filename and its content.
  • A file gallery to browse data files in the /home/pi/data directory.
  • A way to update the PlanktoScope software repository on the Raspberry Pi.
  • A Node-RED dashboard panel to choose a wifi network to connect to.
  • A Node-RED tab to enter the configuration of the hardware.

Changed🔗

  • (Breaking change) The UI has been changed (we do not have a list of specific changes)

Fixed🔗

  • Random camera crash solved: instead of using the python picamera library, we now use a compiled binary, raspimjpeg, controlled through a FIFO pipe

v2.1.0 - 2020-10-14🔗

Added🔗

  • If the Raspberry Pi is configured (via the /etc/wpa_supplicant/wpa_supplicant.conf file) to connect to an existing wifi network, it will try to connect to the network; and it will only start its own wifi hotspot if it failed to connect.
  • If the Raspberry Pi is connected to the internet via its Ethernet port, it will share internet access to devices connected to the Raspberry Pi's wifi hotspot.
  • (Documentation) Information has been added about ribbon cable assembly.
  • (Documentation) Information has been added about how to back up the SD card.

Changed🔗

  • (Breaking change) The OS is now based on Raspberry OS Lite, so there is no graphical desktop.
  • (Breaking change) The wifi network is now named PlanktoScope, and the password to it is now copepode.
  • (Breaking change) The default user is now pi, and the default password is copepode for this user.
  • (Breaking change) All raw and processed data files are now stored in the directory /home/pi/data.
  • The software has undergone a major refactoring, which may accidentally introduce some bugs.

PlanktoScope Hardware🔗

You are viewing a copy of the PlanktoScope project documentation without the hardware setup guides, probably because you're viewing an offline, reduced-size copy of the PlanktoScope documentation served by your PlanktoScope. You should go to an online copy of the PlanktoScope documentation to find the hardware setup guides.

PlanktoScope Hardware🔗

You are viewing a copy of the PlanktoScope project documentation without the hardware setup guides, probably because you're viewing an offline, reduced-size copy of the PlanktoScope documentation served by your PlanktoScope. You should go to an online copy of the PlanktoScope documentation to find the hardware setup guides.

PlanktoScope Hardware🔗

This section of the PlanktoScope documentation will help you to build the hardware of a PlanktoScope. Our documentation splits this PlanktoScope production process into two phases: making a kit of parts, and assembling a PlanktoScope from that kit of parts.

If you do not already have a kit of parts, you will need to either purchase a kit or make a kit yourself. You will need to choose a PlanktoScope hardware version and obtain the hardware components necessary for that hardware version; your assembly kit will consist of those components. You can purchase a kit from FairScope, a small business started by the inventor of the PlanktoScope in order to make it easier for people to obtain PlanktoScopes. Once you have selected a hardware version, you can proceed to our instructions for making your kit.

If you do already have a kit of parts, you can proceed to our instructions for assembling your kit into a PlanktoScope. However, you will first need to determine the PlanktoScope hardware version which your kit is made for, so that you can choose the correct assembly guide for your kit.

Hardware versions🔗

The design of the PlanktoScope's hardware has been evolving to fix usability issues and improve the quality of images captured by the PlanktoScope. Thus, multiple versions of the hardware have been developed. This page only describes hardware versions for which documentation has been published for anyone to manufacture the hardware, and here we only describe aspects of each hardware version relevant to choosing a version to manufacture. Due to a lack of time by the people developing the PlanktoScope hardware, documentation for other versions of the PlanktoScope hardware has not yet been created; for information on these other versions of the PlanktoScope hardware, please refer to the technical reference section of our documentation site.

Hardware v2.1🔗

This was the first publicly released version of the PlanktoScope hardware. The electronic components of this design are all available from commercial off-the-shelf sources, using an Adafruit Stepper Motor HAT to control various actuators and a Yahboom RGB Cooling HAT to cool the PlanktoScope's embedded Raspberry Pi 4 computer. The mechanical structure was designed for fabrication using a laser cutter. This hardware version has some design flaws, such as providing no way to replace the Raspberry Pi's micro-SD card without partially disassembling the PlanktoScope; these problems have been fixed in later versions of the PlanktoScope hardware.

This version of the PlanktoScope hardware is the only version which has been widely replicated by independent makers so far. Currently, its manufacturing documentation is provided by an older documentation site which is no longer maintained, and it has not yet been migrated into our current documentation site. Additionally, this hardware design uses a peristaltic pump which is no longer commercially available, so anyone making an assembly kit for this version will have to identify a different pump to use as a substitute.

Hardware v2.5🔗

This was the first version of the PlanktoScope hardware made commercially available by FairScope. It has made various design changes to solve various problems with the v2.1 hardware design, including:

  • Replacing the Adafruit Stepper Motor HAT with a custom-designed HAT.

  • Replacing the ibidi flowcell with a simpler glass capillary flowcell.

  • Replacing the linear actuators for sample focusing with a more mechanically robust pair of linear actuators.

  • Replacing the peristaltic pump with a more accurate pump which is commercially available.

The mechanical structure of this design uses CNC-milled parts rather than laser-cut parts.

Our documentation site provides manufacturing documentation to make assembly kits for this hardware version, and to assemble kits for this version into PlanktoScopes.

Choosing a version🔗

We recommend building a PlanktoScope of the latest available hardware version (currently v2.5). However, if you are making your own assembly kit and the following limitations apply to you, you may need to choose an older hardware version such as v2.1:

  • You do not have access to a CNC mill, or to a commercial fabrication service with a CNC mill.

  • You do not have access to manufacturing capabilities for assembling a custom printed circuit board, and you cannot buy a pre-assembled HAT from FairScope.

Building a PlanktoScope🔗

If you received a PlanktoScope hardware assembly kit from someone but you are not sure what hardware version the kit is for, you should check with the person who gave the kit to you.

Once you have figured out what hardware version of the PlanktoScope you will build, you can proceed to our version-specific hardware setup guides:

  • If you are building a PlanktoScope with the v2.5 hardware, please proceed to our page for Hardware v2.5 to find instructions for making an assembly kit, as well as instructions for building a PlanktoScope from an assembly kit for v2.5 of the hardware.

  • If you are building a PlanktoScope with the v2.1 hardware, please proceed to our page for Hardware v2.1 to find instructions for making an assembly kit, as well as instructions for building a PlanktoScope from an assembly kit for v2.1 of the hardware.

Next steps🔗

After making an assembly kit (if necessary) and building a PlanktoScope from your assembly kit, you should proceed to our software setup guide.

PlanktoScope Hardware🔗

This section of the PlanktoScope documentation will help you to build the hardware of a PlanktoScope. Our documentation splits this PlanktoScope production process into two phases: making a kit of parts, and assembling a PlanktoScope from that kit of parts.

If you do not already have a kit of parts, you will need to either purchase a kit or make a kit yourself. You will need to choose a PlanktoScope hardware version and obtain the hardware components necessary for that hardware version; your assembly kit will consist of those components. You can purchase a kit from FairScope, a small business started by the inventor of the PlanktoScope in order to make it easier for people to obtain PlanktoScopes. Once you have selected a hardware version, you can proceed to our instructions for making your kit.

If you do already have a kit of parts, you can proceed to our instructions for assembling your kit into a PlanktoScope. However, you will first need to determine the PlanktoScope hardware version which your kit is made for, so that you can choose the correct assembly guide for your kit.

Hardware versions🔗

The design of the PlanktoScope's hardware has been evolving to fix usability issues and improve the quality of images captured by the PlanktoScope. Thus, multiple versions of the hardware have been developed. This page only describes hardware versions for which documentation has been published for anyone to manufacture the hardware, and here we only describe aspects of each hardware version relevant to choosing a version to manufacture. Due to a lack of time by the people developing the PlanktoScope hardware, documentation for other versions of the PlanktoScope hardware has not yet been created; for information on these other versions of the PlanktoScope hardware, please refer to the technical reference section of our documentation site.

Hardware v2.1🔗

This was the first publicly released version of the PlanktoScope hardware. The electronic components of this design are all available from commercial off-the-shelf sources, using an Adafruit Stepper Motor HAT to control various actuators and a Yahboom RGB Cooling HAT to cool the PlanktoScope's embedded Raspberry Pi 4 computer. The mechanical structure was designed for fabrication using a laser cutter. This hardware version has some design flaws, such as providing no way to replace the Raspberry Pi's micro-SD card without partially disassembling the PlanktoScope; these problems have been fixed in later versions of the PlanktoScope hardware.

This version of the PlanktoScope hardware is the only version which has been widely replicated by independent makers so far. Currently, its manufacturing documentation is provided by an older documentation site which is no longer maintained, and it has not yet been migrated into our current documentation site. Additionally, this hardware design uses a peristaltic pump which is no longer commercially available, so anyone making an assembly kit for this version will have to identify a different pump to use as a substitute.

Hardware v2.5🔗

This was the first version of the PlanktoScope hardware made commercially available by FairScope. It has made various design changes to solve various problems with the v2.1 hardware design, including:

  • Replacing the Adafruit Stepper Motor HAT with a custom-designed HAT.

  • Replacing the ibidi flowcell with a simpler glass capillary flowcell.

  • Replacing the linear actuators for sample focusing with a more mechanically robust pair of linear actuators.

  • Replacing the peristaltic pump with a more accurate pump which is commercially available.

The mechanical structure of this design uses CNC-milled parts rather than laser-cut parts.

Our documentation site provides manufacturing documentation to make assembly kits for this hardware version, and to assemble kits for this version into PlanktoScopes.

Choosing a version🔗

We recommend building a PlanktoScope of the latest available hardware version (currently v2.5). However, if you are making your own assembly kit and the following limitations apply to you, you may need to choose an older hardware version such as v2.1:

  • You do not have access to a CNC mill, or to a commercial fabrication service with a CNC mill.

  • You do not have access to manufacturing capabilities for assembling a custom printed circuit board, and you cannot buy a pre-assembled HAT from FairScope.

Building a PlanktoScope🔗

If you received a PlanktoScope hardware assembly kit from someone but you are not sure what hardware version the kit is for, you should check with the person who gave the kit to you.

Once you have figured out what hardware version of the PlanktoScope you will build, you can proceed to our version-specific hardware setup guides:

  • If you are building a PlanktoScope with the v2.5 hardware, please proceed to our page for Hardware v2.5 to find instructions for making an assembly kit, as well as instructions for building a PlanktoScope from an assembly kit for v2.5 of the hardware.

  • If you are building a PlanktoScope with the v2.1 hardware, please proceed to our page for Hardware v2.1 to find instructions for making an assembly kit, as well as instructions for building a PlanktoScope from an assembly kit for v2.1 of the hardware.

Next steps🔗

After making an assembly kit (if necessary) and building a PlanktoScope from your assembly kit, you should proceed to our software setup guide.

Hardware v2.1🔗

This page will help you to build the v2.1 hardware for a PlanktoScope.

Make an assembly kit🔗

Currently, you can find the instructions for making an assembly kit at the PlanktoScope website.

You should be aware that some of the parts required for the kit, especially the peristaltic pump, are no longer commercially available; you will have to identify alternatives to substitute for those parts.

Assemble a PlanktoScope from a kit🔗

Currently, you can find step-by-step instructions for assembling a PlanktoScope from a kit at the old documentation site for PlanktoScope.

Next steps🔗

After assembling your PlanktoScope hardware, you will need to set up the PlanktoScope software on the micro-SD card of your PlanktoScope's Raspberry Pi. Then you can proceed to our operation guide to learn how to operate your PlanktoScope.

Hardware v2.1🔗

This page will help you to build the v2.1 hardware for a PlanktoScope.

Make an assembly kit🔗

Currently, you can find the instructions for making an assembly kit at the PlanktoScope website.

You should be aware that some of the parts required for the kit, especially the peristaltic pump, are no longer commercially available; you will have to identify alternatives to substitute for those parts.

Assemble a PlanktoScope from a kit🔗

Currently, you can find step-by-step instructions for assembling a PlanktoScope from a kit at the old documentation site for PlanktoScope.

Next steps🔗

After assembling your PlanktoScope hardware, you will need to set up the PlanktoScope software on the micro-SD card of your PlanktoScope's Raspberry Pi. Then you can proceed to our operation guide to learn how to operate your PlanktoScope.

Assembly🔗

planktoscope-assembly-workshop.jpg

Content of the Kit🔗

It is important to ensure that you have all of the necessary components before beginning the assembly of your PlanktoScope. To do so, please check that all bags are present as part of the kit.

planktoscope-assembly-002.jpg

Bag Content
A Scews
B Tools
C Adhesive Pads
D Tubing, Glass Cuvettes
E Bubbler Pump
F Peristaltic Pump
G Linear Stepper Motor
H Raspberry PI Chip cooler
I Raspberry HAT
J Camera Lens
K MicroSD Card, DC Power Jack Socket
L DC Power Supply and Cable
M Syringe and Falcon Tube
X1 Raspberry PI 4
X2 Pipet
X3 Cable ties
X4 Raspberry PI HQ Camera Modul
X5 Sandpaper

If any bags are missing, please go back to the BOM (Bill of Materials) and reorder the required components.

About this document🔗

To read this document, follow these guidelines:

Color codes🔗

  • 🔴 Look to the color red
  • 🟠 Look to the color orange
  • 🟡 Look to the color yellow
  • 🟢 Look to the color green
  • 🔵 Look to the color blue
  • 🟣 Look to the color purple

Icons🔗

  • 👁 Pay attention to this
  • ⚠ Be careful with this
  • 📜 The book says
  • 🎬 Action !
  • ❌ Don't focus on that location

As you read through the document, be sure to pay attention to these visual cues to guide you through the build process.

Requirements🔗

Tools🔗

planktoscope-assembly-254.jpg

Content of Bag B:

  • 🔴 B1. Small flat screwdriver 2mm
  • 🟠 B2. Razor blade
  • 🟡 B3. Allen key 2mm
  • 🟢 B4. Wrenches for standoffs

Components🔗

planktoscope-assembly-253.jpg

Content of Bag A:

  • 🟢 A1. Standoff M2.5 - 6mm - Brass
  • 🔵 A2. Standoff M2.5 - 15mm -  Brass
  • 🟣 A3. Standoff M2.5 - 16mm - SS
  • 🟠 A4. Screw M2.5x5mm CHC - SS
  • 🟡 A5. Screw M2.5x10mm CHC - SS
  • 🔴 A6. Screw M3x12mm BHC - SS

Chapter 1: Detach the Parts from panels by cutting the tabs🔗

planktoscope-assembly-004.jpg 👁 Locate the panel S1 and discover the 5 differents Parts F, P, K, J and I.


planktoscope-assembly-005.jpg 🎬 Flip your panel S1.


planktoscope-assembly-006.jpg 🔴 Locate the outer tabs on the edges of the different Parts. These are typically small projections of material that are used to secure the case parts to the panels.


planktoscope-assembly-007.jpg Gather all the necessary tools. You will need the B2 🟠 Razor blade to cut the tabs.


planktoscope-assembly-008.jpg

  • 🟣 Use the razor blade to cut the outer tabs located on the edges of the different Parts
  • ❌ Do not cut the inner tabs present inside the different Parts for now and focus on the outer tabs attaching the Parts to the main panel.

planktoscope-assembly-009.jpg

  • Position your razor blade on the tab as close to the piece as possible to avoid residual tab after cutting.
  • Press firmly on the razor blade, being very careful with your finger, to cut your first tab.
  • Make sure you don't damage your table by placing a flat, rigid support under the S1 panel.
  • Keep going with the other tabs of this piece F.

Once all of the tabs are cut, gently lift the case parts away from the panels. If the case parts are stuck or difficult to remove, you may need to gently wiggle or pry them loose using a flat tool such as a screwdriver.

Warning

Be extremely careful because this is very sharp.


planktoscope-assembly-011.jpg

Once you have removed your Part from the main panel by cutting off all the tabs holding it, inspect it for potential residual tabs.

  • 🟣 Here is a residual tab that will need to be removed.
  • 🟠 Here there is no residual tab which is perfect.

planktoscope-assembly-012.jpg

🟣 Place your razor blade flat on the edge of your piece being very careful with your fingers and cut the residual tab.

Warning

Be extremely careful because this is very sharp.


planktoscope-assembly-013.jpg

Repeat the cutting of the tabs on all the Parts F, P, K, J and I present on the panel S1.

Warning

Be extremely careful because this is very sharp.


planktoscope-assembly-014.jpg

🔴 Locate the inner tabs on the edges of the different Parts.


planktoscope-assembly-015.jpg

Cut out the tabs inside of all the Parts F, P, K, J and I detached from the panel S1.

Dispose of the cut tabs and any other debris that may have been created during the detachment process.

Warning

Be extremely careful because this is very sharp.


planktoscope-assembly-016.jpg

  • ✅ Good way of cutting inner tabs
  • ❌ Wrong way of cutting inner tabs

planktoscope-assembly-018.jpg

Repeat the process on the panel S2.

Warning

Be extremely careful because this is very sharp.


planktoscope-assembly-019.jpg

Discover the 11 differents Parts.


planktoscope-assembly-020.jpg

Dispose of the cut tabs and any other debris that may have been created during the detachment process. Inspect the case parts and panels for any damage or imperfections that may have occurred during the detachment process. If any damage is found, it may be necessary to repair or replace the affected parts.


Chapter 2: Place the 4 Adhesive Pads under the Part I🔗

planktoscope-assembly-023.jpg To secure the PlanktoScope on slippery grounds using the adhesive pads, follow these steps. Gather all the necessary materials. You will need:

  • Time: 1 min
  • 👁 and Take the Part I
  • 🟠 Take the four adhesive pads present in the bag A.
  • 🟣 Locate the four pockets that will receive the four adhesive pads.

planktoscope-assembly-024.jpg

  • Clean the bottom of the case part I. Make sure the surface is free of dirt, debris, and any other substances that may prevent the adhesive pads from sticking properly.
  • Remove the paper and place the four adhesive pads in the pockets by pressing firmly on them, sticky-side down.
  • Test the stability of the PlanktoScope by gently shaking or tilting it. If it feels secure and does not slip or slide, the adhesive pads have been successfully installed.

Note

🎬 Store this assembly for later.


Chapter 3: Screw the four Standoffs into Part A🔗

planktoscope-assembly-026.jpg

Now it's time to assemble the ground plate for the Raspberry Pi as the PlanktoScope main processing unit.

  • Time: 5 min

planktoscope-assembly-027.jpg

  • 👁 Grab the Part A.
  • 🟣 Locate the four holes on Part A.

planktoscope-assembly-028.jpg

🟢 A1. Standoff M2.5 - 6mm- Brass


planktoscope-assembly-029.jpg

🟢 B4. Wrenches for standoffs


planktoscope-assembly-030.jpg

  • 🟣 Place the Standoff M2.5 - 6mm in the small side of the wrenches for standoffs B4.
  • 🟠 Do not use the big side of the wrenches for standoffs since the standoff will be loose in it.

planktoscope-assembly-031.jpg

  • Place the standoff in the hole and start rotating by hand in a clockwise direction until secure.
  • Then tighten with the wrench.

planktoscope-assembly-032.jpg

  • ✅ Make sure to screw until the standoff is properly inserted in the hole.
  • ❌ Do not stop screwing before.

planktoscope-assembly-033.jpg

Keep going for each of the four holes.


Chapter 4: Mount the Heat Sinks on the Raspberry Pi🔗

planktoscope-assembly-035.jpg

  • Time: 2 min

Locate the Raspberry Pi 4 Model B packaging.

Warning

Be careful removing it from its packaging.


planktoscope-assembly-036.jpg

Place the four Heat Sinks next to your Raspberry Pi and mark the locations of the Heat Sinks on the Raspberry Pi.

  • 🟠 & 🔵 Small Heat Sinks
  • 🟢 Medium Heat Sink
  • 🟣 Big Heat Sink

planktoscope-assembly-037.jpg

Remove the protective labels under a Heat Sink and place the Heat Sink on the slot of the Raspberry Pi.


planktoscope-assembly-038.jpg

Remove the protective labels under all the Heat Sinks and place all the Heat Sinks on the slots of the Raspberry Pi.


Chapter 5: Insert the micro SD card in the Raspberry Pi🔗

planktoscope-assembly-040.jpg

  • Locate the SD card adapter in the bag K.
  • The micro SD card is inserted in the SD card adapter.
  • 🟣 Remove the micro SD card from the SD card adapter.

planktoscope-assembly-041.jpg

  • Flip your Raspberry Pi.
  • 🟠 Locate the micro SD port.
  • 🟣 Insert the micro SD card in the Raspberry Pi.

planktoscope-assembly-042.jpg

Push the micro SD card in the Raspberry Pi port to a point of resistance.

Note

If you notice that the micro SD card protrudes about 2mm from its slot, this is normal.


Chapter 6: Mount the Raspberry Pi on the Part A🔗

  • Time: 1 min

planktoscope-assembly-044.jpg

  • ✅ Make sure to position the Raspberry Pi properly on the four standoffs screwed on the Part A.
  • ❌ Do not invert the position of the Raspberry Pi on the four standoffs screwed on the Part A.

planktoscope-assembly-045.jpg

🟣 A3. Standoff M2.5 - 16mm - SS


planktoscope-assembly-046.jpg

Screw by hand a Standoff M2.5 - 16mm on the Raspberry Pi.


planktoscope-assembly-047.jpg

  • Screw by hand all Standoffs M2.5 - 16mm on the Raspberry Pi.
  • Make sure you insert all four standoffs by hand and tighten slightly.

planktoscope-assembly-048.jpg

🟢 B4. Wrenches for standoffs


planktoscope-assembly-049.jpg

  • 🟠 Secure the Standoff M2.5 - 16 mm - SS A3 in the big side of the wrenches for standoffs B4.
  • 🟣 Do not use the small side of the wrenches for standoffs since the standoff won’t fit in it.

Chapter 7: Attach the Ribbon Cable to the Raspberry Pi🔗

  • Time: 2 min

planktoscope-assembly-051.jpg

Locate the Raspberry Pi Camera HQ packaging.

Warning

Be careful removing it from its packaging.


planktoscope-assembly-052.jpg

Lay your Raspberry Pi Camera face down on a suitable surface.

🔴 The black connector is simply a push/pull fit. To disengage the cable, pull the two corners of the black connector down, away from the camera board. It will unclip to about 3mm, make sure you don't pull it off! If you're struggling, try pulling off one corner of the connector at a time.

Warning

Be careful with this, this part is delicate. Lift the black connector gently


planktoscope-assembly-053.jpg

Once the connector has been disengaged from the Raspberry Pi camera board, the cable will simply slide out!

  • 🟣 Put aside Camera the Raspberry Pi
  • 🟢 Keep the Ribbon Cable for next step.

planktoscope-assembly-054.jpg

🔴 Locate the black connector present on the Raspberry Pi.


planktoscope-assembly-055.jpg

🔴 The black connector is simply a push/pull fit. To disengage the cable, pull the two corners of the black connector down, away from the camera board. It will unclip to about 3mm, make sure you don't pull it off! If you're struggling, try pulling off one corner of the connector at a time.

Warning

Be careful, this part is delicate. Gently prise the black connector with nail or fingertip and thumb.


planktoscope-assembly-056.jpg

Insert the Ribbon Cable you just detached from the Raspberry Pi Camera in the Raspberry Pi.

  • Make sure to insert in as much as you can.
  • Blue rectangle on Ribbon Cable should face the same direction as the arrow below.

planktoscope-assembly-057.jpg

🔴 Secure the Ribbon Cable in the Raspberry Pi by pressing firmly on the black connector.


Chapter 8: Mount the PlanktoScope HAT on the Raspberry Pi🔗

planktoscope-assembly-059.jpg

  • Time: 2 min

Locate the PlanktoScope HAT present in bag I.


planktoscope-assembly-060.jpg

🔴 Thread the Ribbon cable through the PlanktoScope HAT slot from the underside.

Warning

Make sure the two 🟣 black connectors are aligned before threading through the ribbon.


planktoscope-assembly-061.jpg

🔴 Plug the PlanktoScope HAT into the Raspberry Pi.

Warning

Make sure the two black connectors are aligned before attaching them together.


planktoscope-assembly-062.jpg

Press the PlanktoScope HAT against the Raspberry Pi until it is no longer possible to move them closer together.

Warning

Continue to feed through the Ribbon Cable and do not crush it while pressing the PlanktoScope HAT against the standoffs.


planktoscope-assembly-063.jpg

🟠 A4. Screw M2.5X5mm CHC - SS


planktoscope-assembly-064.jpg

🟣 Locate the 4 holes on the top of the PlanktoScope HAT and insert the four M2.5X5mm


planktoscope-assembly-065.jpg

🟡 B3. Allen key 2mm


planktoscope-assembly-066.jpg

Screw the four A4 screws through the PlanktoScope HAT onto the Standoff M2.5 - 16mm.

Note

🎬 Store this assembly for later.

Chapter 9: Place the Power Socket on Part M🔗

planktoscope-assembly-068.jpg

  • Time: 2 min
  • Locate the DC Power Jack from the Bag K.
  • Remove the Lock Ring from the DC Power Jack

planktoscope-assembly-069.jpg


planktoscope-assembly-070.jpg

  • 🔴 Lay the Part M down and make sure the pockets in these holes are facing upwards.
  • 🟣 Locate the Power Socket hole on Part M.

planktoscope-assembly-071.jpg

🔴 Insert the cable inside of the hole by being sure of the orientation of the Part M.


planktoscope-assembly-072.jpg

🟣 Flip the Part M and secure the DC Power Jack by hand on the Part M by screwing the Lock Ring.

Warning

Make sure the Lock Ring doesn’t spin on itself.

Note

🎬 Store this assembly for later.

Chapter 10: Mount the Raspberry Pi Camera HQ on Part B🔗

planktoscope-assembly-074.jpg

  • Time: 2 min

planktoscope-assembly-075.jpg

🟣 Locate the 4 holes on the top of the Part B.


planktoscope-assembly-076.jpg

🔵 A2. Standoff M2.5 - 15mm - Brass


planktoscope-assembly-077.jpg

Insert the four Standoff M2.5 - 15mm.


planktoscope-assembly-078.jpg

The result should be similar to the picture.


planktoscope-assembly-079.jpg

🟢 B4. Wrenches for standoffs


planktoscope-assembly-080.jpg

Using the small side of the Standoff Wrench, secure the 4 M2.5 - 15mm Standoffs


planktoscope-assembly-081.jpg

  • ✅ Make sure to screw until the Standoff is properly tightened into the hole.
  • ❌ Do not stop screwing before.

planktoscope-assembly-082.jpg

Locate the Raspberry Pi Camera HQ


planktoscope-assembly-083.jpg

Remove the lens cap Raspberry Pi Camera HQ.

planktoscope-assembly-084.jpg

Warning

Make sure your camera lens is clean. If it is not, gently wipe using cotton swab for this task.


planktoscope-assembly-085.jpg

Place the Raspberry Pi Camera HQ on top of the four Standoffs installed on Part B.

🟣Ensure correct orientation of the Raspberry Pi Camera HQ. The black connector where the Ribbon Cable was removed is on the same side as the 🟢slot circled in green


planktoscope-assembly-086.jpg

🟠 A4. Screw M2.5X5mm CHC - SS


planktoscope-assembly-087.jpg

🟡 B3. Allen key 2mm


planktoscope-assembly-088.jpg

Use the allen key and tighten the Raspberry Pi Camera to the Standoffs.


planktoscope-assembly-089.jpg

The result should be similar to the picture.

Note

🎬 Store this assembly for later.

Chapter 11: Mount the Linear Stepper Motor on Part E🔗

planktoscope-assembly-091.jpg

Locate the Stepper Motors

Warning

Avoid touching the metal rods on the Stepper Motors

Info

You can touch the 🟣 gold stands


planktoscope-assembly-092.jpg


planktoscope-assembly-093.jpg

🟡 A5. Screw M2.5X10mm CHC - SS


planktoscope-assembly-094.jpg

🟡 B3. Allen key 2mm


planktoscope-assembly-095.jpg

  • 🔴 Lay the Part E down and make sure the pockets in these holes are facing upwards.
  • 🟣 Locate the four holes on Part E and place four M2 Screws in the holes.

planktoscope-assembly-096.jpg

Attach the stepper motors to the screws we have just placed with the 🔴 pockets positioned on opposite to the cabling.

The result should be similar to the picture.


planktoscope-assembly-097.jpg

Use the 2mm allen key to fix the Stepper Motors.

The result should be similar to that picture.


planktoscope-assembly-098.jpg

The result should be similar to the picture.


planktoscope-assembly-099.jpg

Repeat the process on the other side with the other Stepper Motor.


planktoscope-assembly-100.jpg

Repeat the process on the other side with the other Stepper Motor.


planktoscope-assembly-101.jpg

The result should be similar to the picture.

Note

🎬 Store this assembly for later.


Chapter 12: Mount the LED on Part G🔗

planktoscope-assembly-103.jpg

  • Locate the LED and LED cable in Bag K.
  • 🟣 The LED will go on the end where the white plastic connector is smallest.

planktoscope-assembly-104.jpg

Insert the LED into the LED cable.


planktoscope-assembly-105.jpg

The result should be similar to the picture.


planktoscope-assembly-106.jpg


planktoscope-assembly-107.jpg

Locate part G.


planktoscope-assembly-108.jpg

🟣 Locate the LED hole on Part G.


planktoscope-assembly-109.jpg

We will now place the LED into the slot on part G.


planktoscope-assembly-110.jpg

Warning

Gently push the LED into the LED hole located on Part G. It should be a snug fit.


planktoscope-assembly-111.jpg

The result should be similar to the picture.

Info

🎬 Store this assembly for later.


Chapter 13: Mount the Peristaltic Pump on Part O and Part L🔗

planktoscope-assembly-113.jpg

  • Locate the Kamoer Peristaltic pump from the Bag F.
  • 🟣 Put aside the tubing contained in the little bag.

planktoscope-assembly-114.jpg


planktoscope-assembly-115.jpg

🟢 Insert the cable of the Peristaltic Pump into the hole on Part O and then insert the motor block assembly of the pump into it.

Warning

👁 Ensure the correct orientation of Part O and the Peristaltic Pump


planktoscope-assembly-116.jpg

🟡 A5. Screw M2.5X10mm CHC - SS


planktoscope-assembly-117.jpg

🟡 B3. Allen key 2mm B3


planktoscope-assembly-118.jpg

🟢 Insert the two M2.5X10mm in the two holes.


planktoscope-assembly-119.jpg

Screw the two M2.5X10mm into the two holes.


planktoscope-assembly-120.jpg


planktoscope-assembly-121.jpg

🔴 Lay the Part L down and make sure the pockets in these holes are facing upwards.


planktoscope-assembly-122.jpg

  • Place the Peristaltic Pump underneath part L, ensuring the correct orientation of these two parts.
  • 🔴 Insert the Peristaltic Pump into the allocated slot in Part L.

planktoscope-assembly-123.jpg

Insert the Peristaltic Pump into the allocated slot in Part L.


planktoscope-assembly-124.jpg

Insert the Peristaltic Pump into the allocated slot in Part L.


planktoscope-assembly-125.jpg

  • Lay the assembly down.
  • 🔴 Locate the four different holes.

planktoscope-assembly-126.jpg

🟡 A5.Screw M2.5X10mm CHC - SS


planktoscope-assembly-127.jpg

🟡 B3.Allen key 2mm


planktoscope-assembly-128.jpg

Screw the four M2.5X10mm in the located holes attaching the Part O to the Part L Peristaltic Pump.


planktoscope-assembly-129.jpg The result should be similar to the picture.

Info

We will use this part in the next step.


Chapter 14: Spiral wrap the LED and Peristaltic Pump cabling🔗

planktoscope-assembly-131.jpg

  • Locate the LED and housing, along with the pump and housing.
  • 🟣 Locate the spiral wrap from bag K.

planktoscope-assembly-132.jpg

  • Spiral wrap both sets of cables together.
  • There should be 4 cm (1.5 inches) between the connectors and the start of the spiral wrap.

planktoscope-assembly-133.jpg

Continue wrapping around the cables until you have used all of the spiral wrap, leaving small or no gaps.

Info

The result should look the same as the picture.


planktoscope-assembly-134.jpg

Info

The result should look the same as the picture.

Note

🎬 Store this assembly for later.


Chapter 15: Attaching the Stepper Motors to the Raspberry Pi Camera🔗

planktoscope-assembly-136.jpg

Locate the Stepper Motors with mount, and the Raspberry Pi Camera.


planktoscope-assembly-137.jpg Feed the Stepper Motor cables into the slots either side of the Raspberry Pi Camera.

Warning

Make sure the orientation is correct and matches the picture.


planktoscope-assembly-138.jpg Feed the Stepper Motor cables into the slots either side of the Raspberry Pi Camera.

Warning

Make sure the orientation is correct and matches the picture.

Then insert the cylindrical parts of the Stepper Motor into the slots.


planktoscope-assembly-139.jpg

Feed the Stepper Motor cables into the slots either side of the Raspberry Pi Camera.

Warning

Make sure the orientation is correct and matches the picture.

Then insert the cylindrical parts of the Stepper Motor into the slots.

Note

The result should be the same as the picture.


Chapter 16: Connecting the Raspberry Pi Camera to the Raspberry Pi HAT🔗

planktoscope-assembly-141.jpg

  • We will need the Raspberry Pi HAT with housing and Ribbon Cable along \ with the Raspberry Pi Camera with Stepper Motors and housing.
  • We will be connecting the 🟢Ribbon Cableto the 🟡black Raspberry Pi Camera connector that we removed it from earlier.

planktoscope-assembly-142.jpg

Gently feed the Ribbon Cable into the port of the Camera.

Warning

👁 Ensure the correct orientation of the Ribbon Cable with the blue end facing upwards.


planktoscope-assembly-143.jpg 🔴 Press down on the black connector on the Raspberry Pi camera board once the Ribbon Cable is in position.


planktoscope-assembly-144.jpg 🔴 B1.Small flat screwdriver 2mm


planktoscope-assembly-145.jpg

  • Now we will plug in the Stepper Mounts to the HAT.
  • 🔴The cables for the Stepper Mounts will be plugged into the HAT 🟣here.

Warning

Hold tight, a specific order is required.


planktoscope-assembly-146.jpg

Starting with the red cable, insert the cable in the far left port and tighten the screw situated above the port.

Note

The result should look the same as the picture.


planktoscope-assembly-147.jpg

Repeat this process with the order pictured here from left to right: 🔴 Red 🟡 Yellow 🔵 Blue ⚫ Black.


Chapter 17: Connect the LED and Peristaltic Pump to the Raspberry Pi🔗

planktoscope-assembly-149.jpg

We will now be connecting the LED and Peristaltic Pump with the Raspberry Pi HAT and Camera.


planktoscope-assembly-150.jpg

Place the LED housing onto the Stepper Mounts.

Warning

👁 Ensure correct orientation of both 🟣 parts by looking at the precut holes.


planktoscope-assembly-151.jpg

Info

The result should be similar to the picture.


planktoscope-assembly-152.jpg

Now we will plug in the LED and Stepper Mount cables to the Raspberry Pi.


planktoscope-assembly-153.jpg

Feed the area of cabling that is not covered by the spiral wrap through the two holes to start. Then thread through to the spiral wrap so that it matches the picture.


planktoscope-assembly-154.jpg

We will now plug the cables into the correct ports.


planktoscope-assembly-155.jpg

🟣 The four wires (🔴 Red 🔵 Blue 🟢 Green ⚫ Black) enter the side port on the Raspberry Pi HAT.


planktoscope-assembly-156.jpg

🔴 The two wires (LED) enter on the port on top of the Raspberry Pi HAT.


planktoscope-assembly-157.jpg

The result should be similar to the picture.

Note

We will use this assembly in the next step.


Chapter 18: Connect the DC Power Jack to the Raspberry Pi🔗

planktoscope-assembly-159.jpg

  • 🟢 Locate the DC Power Jack
  • We will plug the DC Power Jack into the Raspberry Pi via the 🔵 blue port.

planktoscope-assembly-160.jpg

🔴 B1.Small flat screwdriver 2mm


planktoscope-assembly-161.jpg

  • Insert the 🔴 red cable of the DC Power Jack into the left side of the blue port.
  • Tighten the screw above.

planktoscope-assembly-162.jpg

  • Insert the ⚫ black cable of the DC Power Jack into the right side of the blue port.
  • Tighten the screw above.

planktoscope-assembly-163.jpg

Info

The result should be similar to the picture.

Note

We will use this assembly in the next step.


Chapter 19: Your PlanktoScope starts to take shape🔗

planktoscope-assembly-165.jpg


planktoscope-assembly-166.jpg

Locate Part I and Part H.


planktoscope-assembly-167.jpg

  • Slot Part H into Part I.
  • 🟣 Note the orientation. Part H goes into Part Iat the end with the rectangular slot (as opposed to the rectangle with bulbous hole).
  • 🟡 Also, the deeper slots on part H should be on the upper side.

planktoscope-assembly-168.jpg

🔴 Slot the Peristaltic Pump above the LED.


planktoscope-assembly-169.jpg

Note

The result should be the same as the picture.


planktoscope-assembly-170.jpg

Warning

👁 Ensure the correct orientation of the housing and the Peristaltic Pump.


planktoscope-assembly-171.jpg

At the other end, slot the DC Power Jack housing adjacent to the Raspberry Pi.


planktoscope-assembly-172-00.jpg planktoscope-assembly-172-00.jpg

Rotate so that the DC Power Jack is facing upwards. We will now slot the Raspberry Pi onto the rest of the housing.


planktoscope-assembly-173.jpg

Info

The result should be similar to that picture.

Note

🎬 Store this assembly for later.


Chapter 20: Inserting screws🔗

planktoscope-assembly-175.jpg

🟣 We will now insert eight M3 screws to fasten the housing together.

Note

🎬 Store this assembly for later.


planktoscope-assembly-176.jpg

🔴 A6. Screw M3X12mm BHC - SS


planktoscope-assembly-177.jpg

🟡 B3. Allen key 2mm


planktoscope-assembly-178.jpg

Info

The result should be similar to the picture.


planktoscope-assembly-179.jpg

We will now turn over the PlanktoScope and repeat the process for the underside.


planktoscope-assembly-180.jpg

🟣 Insert eight more M3 screws on the underside.


planktoscope-assembly-181.jpg

Info

The result should be similar to the picture.


planktoscope-assembly-182.jpg

Now turn the PlanktoScope on its side.


planktoscope-assembly-183.jpg


planktoscope-assembly-184.jpg

Warning

👁 Ensure the orientation of your PlanktoScope and Part K matches the picture.


planktoscope-assembly-185.jpg

Slot Part K onto the rest of the PlanktoScope.

Warning

🟢 Ensure the correct orientation. The result should look the same at the picture.


planktoscope-assembly-186.jpg

Content of Bag A: 🔴 A6. Screw M3X12mm BHC - SS


planktoscope-assembly-187.jpg

Content of Bag B: 🟡 B3. Allen key 2mm


planktoscope-assembly-188.jpg

🟣 Insert eight more M3 screws on the side to hold Part K in place.


planktoscope-assembly-189.jpg


planktoscope-assembly-190.jpg

We will now place Part J into position as the housing for the side.

Warning

👁 Ensure your PlanktoScope matches the orientation in the picture.


planktoscope-assembly-191.jpg

🟢 Place Part K onto the rest of the PlanktoScope and note the position of the cutout.


planktoscope-assembly-192.jpg

Content of Bag A: 🔴 A6. Screw M3X12mm BHC - SS


planktoscope-assembly-193.jpg

Content of Bag B: 🟡 B3. Allen key 2mm


planktoscope-assembly-194.jpg

🟣 Insert eight more M3 screws on the underside


planktoscope-assembly-195.jpg

Info

The result should be similar to the picture.


planktoscope-assembly-196.jpg


planktoscope-assembly-197.jpg

Content of Bag A: 🟡 A5. Screw M2.5X10mm CHC - SS


planktoscope-assembly-198.jpg

Place the M2.5 screw through Part N. It will act as a cover for the electrical inputs.


planktoscope-assembly-199.jpg

  • Place the cover over the electrical inputs on the PlanktoScope.
  • 🟣 The screw will enter the hole located here.

planktoscope-assembly-200.jpg

Using the allen key, tighten the screw so that it is possible to move the cover with light force.


planktoscope-assembly-201.jpg

Info

The result should be the same as the picture.


Chapter 21: Insert the tubing in the Peristaltic Pump🔗

planktoscope-assembly-203.jpg

  • Orientate your PlanktoScope so that it matches the picture.
  • Twist off the orange top of the Peristaltic pump in an anti-clockwise direction.

planktoscope-assembly-205.jpg

You can now remove the Peristaltic Pump housing and 🟢 Rotor.


planktoscope-assembly-206.jpg

You can now remove the Peristaltic Pump housing and 🟢 Rotor.


planktoscope-assembly-207.jpg

🔴 Locate the Tube for the Peristaltic Pump in Bag F and remove it from the bag.

Warning

The tips of the Tubing that are covered by black rubber are very delicate and easily broken.


planktoscope-assembly-208.jpg

Insert the first plastic arch of the Tube into the slot on the Peristaltic Pump \ housing.

Info

The result should be similar to the picture.


planktoscope-assembly-209-00.jpg planktoscope-assembly-209-01.jpg

Insert the Rotor into the housing ensuring the correct orientation. The hole in the centre should be visible on the underside.

Info

The result should be similar to the picture.


planktoscope-assembly-210.jpg

Insert the Rotor into the housing. Then, thread the Tube around the Rotor and insert the other plastic arch into the second slot.

Info

The result should be similar to the picture.


planktoscope-assembly-211.jpg

  • Thread the Tube around around the Rotor and insert the other plastic arch into the second slot.
  • This will require stretching the Tube slightly.

planktoscope-assembly-212.jpg

Info

The result should be similar to the picture.


planktoscope-assembly-213.jpg

Place the Peristaltic Pump housing back onto the PlanktoScope.


planktoscope-assembly-214.jpg

Achieve the angle shown in the picture between the Peristaltic Pump housing and PlanktoScope main body. Then, press and twist in a clockwise direction.


planktoscope-assembly-215.jpg

Info

The result should be similar to the picture.


planktoscope-assembly-216.jpg

  • 🟣 Gently remove the black rubber covers for the Peristaltic Pump connectors by pinching the very tip and pulling away.
  • Once complete, locate Bag D which contains tubing.

planktoscope-assembly-217.jpg

Push the small piece of tubing from Bag D over the left-side connector of the Peristaltic Pump.


planktoscope-assembly-218.jpg

Place the long piece of tubing from Bag D over the right-side connector of the Peristaltic Pump.


planktoscope-assembly-219.jpg

Insert the connector from Bag D into the other end of the small piece of tubing.


planktoscope-assembly-220.jpg


planktoscope-assembly-221.jpg

Orientate Part P so that the magnets are face-down on the left-hand side.


planktoscope-assembly-222.jpg

Place Part P over the magnets adjacent to the Peristaltic Pump.

Info

The result should be similar to the picture.


planktoscope-assembly-223.jpg

🔴 From Bag M, Place the light blue Test Tube in the hole adjacent to the Peristaltic Pump.


planktoscope-assembly-224.jpg

Place the 🔵 dark blue Test Tube into the hole situated outside of the PlanktoScope.


planktoscope-assembly-225.jpg

🟢 Insert the other end of the long piece of tubing into the 🔵 dark blue Test Tube. This will serve as the waste container. The result should look the same as the picture.


planktoscope-assembly-226.jpg


planktoscope-assembly-227-00.jpg planktoscope-assembly-227-01.jpg planktoscope-assembly-227-02.jpg

  • Locate Part C
  • Locate 25 mm camera lens and Lock Ring from Bag J.
  • 25MM is printed on the lens.

planktoscope-assembly-228-00.jpg planktoscope-assembly-228-01.jpg

  • Remove the plastic lens cap.
  • Slot the 25 mm camera lens into Part C.

Info

The magnets are raised on the side where the lens lays flat.

Warning

Try not to touch the lens

Screw the Lock Ring onto the lens, flat-side down.


planktoscope-assembly-229-00.jpg planktoscope-assembly-229-01.jpg planktoscope-assembly-227-02.jpg

  • Locate Part D.
  • Locate 16 mm camera lens and Lock Ring from Bag J.
  • 16MM is printed on the lens.

planktoscope-assembly-230-00.jpg planktoscope-assembly-230-01.jpg

  • Remove the plastic lens cap.
  • Slot the 16 mm camera lens into Part D.

Info

The magnets are indented on the side that the lens lays flat.

Warning

Try not to touch the lens

Screw the Lock Ring onto the lens, flat-side down.

The result should be similar to that picture.


planktoscope-assembly-231-00.jpg planktoscope-assembly-231-01.jpg

Place both Lenses (C and D) together so that they flat together and both lenses are facing each other.

Info

The result should be similar to the picture.


planktoscope-assembly-232-01.jpg planktoscope-assembly-232-00.jpg planktoscope-assembly-232-02.jpg

Place the Lenses (both C and D) into position, adjacent to the camera.

The orientation of your PlanktoScope and Lenses should match the pictures.


planktoscope-assembly-233.jpg

  • Once together, place the lenses (both C and D) into position, adjacent to the camera.
  • Part C / 25mm lens should be furthest from the pump (orange piece).

Info

The result should be similar to the picture.


planktoscope-assembly-234.jpg


planktoscope-assembly-235.jpg

Info

The Fluidic Path will have a cardboard protector.

Please take extra precaution while handling this part and avoid touching the glass element of the piece.

Warning

The Fluidic Path is very delicate.


planktoscope-assembly-236.jpg

Place the Tube Clamp over the long piece of tube at the end of the Fluidic Path.


planktoscope-assembly-237.jpg

Place the white clamp over the long piece of tube at the end of the Fluidic Path.

Info

The result should look the same as the picture.


planktoscope-assembly-238.jpg

Press down on the Tube Clamp so that it clicks into place with just one click.

Info

The result should look the same as the picture.


planktoscope-assembly-239.jpg

Insert a small plastic Connector into the end of the tubing, below the Tube Clamp.


planktoscope-assembly-240.jpg

Make sure the tubing is over the Connector.

Info

The result should look the same as the picture.


planktoscope-assembly-241.jpg

Remove the cardboard protector from the Fluidic Path.


planktoscope-assembly-242.jpg

Warning

A reminder, the glass part of the Fluidic Path is very delicate. Please try not to touch it.


planktoscope-assembly-243.jpg

Place another Connector at the end of the tubing.


planktoscope-assembly-244.jpg

The result should be the same as the picture.


planktoscope-assembly-245.jpg

⚠ Gently place the Fluidic Path in the designated indentation on Part F.

Warning

Do not touch the glass. 

  • You may have to slightly stretch the tubing to get the Fluidic Path into position.
  • The result should be the same as the picture.

planktoscope-assembly-246.jpg

If you have tape available, place a small piece at the the bottom of Part F so that the tubing remains fixed in its position.

Avoid placing tape over the glass.

Info

The result should be similar to the picture.


planktoscope-assembly-247-01.jpg planktoscope-assembly-247-00.jpg

To insert the syringe, place finger and thumb either side of part F where green circle is located. This ensures the tubing does not rotate while you twist the syringe into position in a clockwise direction.


planktoscope-assembly-248.jpg

Info

The result should be similar to the picture.


planktoscope-assembly-249-00.jpg planktoscope-assembly-249-01.jpg

  • Place the Fluidic Path into position between the mount and the Peristaltic Pump.
  • Connect the magnets to face each other.

planktoscope-assembly-250.jpg

The result should look the same as the pictures.


planktoscope-assembly-251-00.jpg planktoscope-assembly-251-01.jpg

  • 🟢 Connect the Fluidic Path to the Peristaltic Pump by twisting the two connectors together.
  • The result should be the same as the picture.

Build complete! 💯 💫🔗

planktoscope-assembly-251-01.jpg

The next stage is to plug in our PlanktoScope and connect it to the computer.

Assembly🔗

planktoscope-assembly-workshop.jpg

Content of the Kit🔗

It is important to ensure that you have all of the necessary components before beginning the assembly of your PlanktoScope. To do so, please check that all bags are present as part of the kit.

planktoscope-assembly-002.jpg

Bag Content
A Scews
B Tools
C Adhesive Pads
D Tubing, Glass Cuvettes
E Bubbler Pump
F Peristaltic Pump
G Linear Stepper Motor
H Raspberry PI Chip cooler
I Raspberry HAT
J Camera Lens
K MicroSD Card, DC Power Jack Socket
L DC Power Supply and Cable
M Syringe and Falcon Tube
X1 Raspberry PI 4
X2 Pipet
X3 Cable ties
X4 Raspberry PI HQ Camera Modul
X5 Sandpaper

If any bags are missing, please go back to the BOM (Bill of Materials) and reorder the required components.

About this document🔗

To read this document, follow these guidelines:

Color codes🔗

  • 🔴 Look to the color red
  • 🟠 Look to the color orange
  • 🟡 Look to the color yellow
  • 🟢 Look to the color green
  • 🔵 Look to the color blue
  • 🟣 Look to the color purple

Icons🔗

  • 👁 Pay attention to this
  • ⚠ Be careful with this
  • 📜 The book says
  • 🎬 Action !
  • ❌ Don't focus on that location

As you read through the document, be sure to pay attention to these visual cues to guide you through the build process.

Requirements🔗

Tools🔗

planktoscope-assembly-254.jpg

Content of Bag B:

  • 🔴 B1. Small flat screwdriver 2mm
  • 🟠 B2. Razor blade
  • 🟡 B3. Allen key 2mm
  • 🟢 B4. Wrenches for standoffs

Components🔗

planktoscope-assembly-253.jpg

Content of Bag A:

  • 🟢 A1. Standoff M2.5 - 6mm - Brass
  • 🔵 A2. Standoff M2.5 - 15mm -  Brass
  • 🟣 A3. Standoff M2.5 - 16mm - SS
  • 🟠 A4. Screw M2.5x5mm CHC - SS
  • 🟡 A5. Screw M2.5x10mm CHC - SS
  • 🔴 A6. Screw M3x12mm BHC - SS

Chapter 1: Detach the Parts from panels by cutting the tabs🔗

planktoscope-assembly-004.jpg 👁 Locate the panel S1 and discover the 5 differents Parts F, P, K, J and I.


planktoscope-assembly-005.jpg 🎬 Flip your panel S1.


planktoscope-assembly-006.jpg 🔴 Locate the outer tabs on the edges of the different Parts. These are typically small projections of material that are used to secure the case parts to the panels.


planktoscope-assembly-007.jpg Gather all the necessary tools. You will need the B2 🟠 Razor blade to cut the tabs.


planktoscope-assembly-008.jpg

  • 🟣 Use the razor blade to cut the outer tabs located on the edges of the different Parts
  • ❌ Do not cut the inner tabs present inside the different Parts for now and focus on the outer tabs attaching the Parts to the main panel.

planktoscope-assembly-009.jpg

  • Position your razor blade on the tab as close to the piece as possible to avoid residual tab after cutting.
  • Press firmly on the razor blade, being very careful with your finger, to cut your first tab.
  • Make sure you don't damage your table by placing a flat, rigid support under the S1 panel.
  • Keep going with the other tabs of this piece F.

Once all of the tabs are cut, gently lift the case parts away from the panels. If the case parts are stuck or difficult to remove, you may need to gently wiggle or pry them loose using a flat tool such as a screwdriver.

Warning

Be extremely careful because this is very sharp.


planktoscope-assembly-011.jpg

Once you have removed your Part from the main panel by cutting off all the tabs holding it, inspect it for potential residual tabs.

  • 🟣 Here is a residual tab that will need to be removed.
  • 🟠 Here there is no residual tab which is perfect.

planktoscope-assembly-012.jpg

🟣 Place your razor blade flat on the edge of your piece being very careful with your fingers and cut the residual tab.

Warning

Be extremely careful because this is very sharp.


planktoscope-assembly-013.jpg

Repeat the cutting of the tabs on all the Parts F, P, K, J and I present on the panel S1.

Warning

Be extremely careful because this is very sharp.


planktoscope-assembly-014.jpg

🔴 Locate the inner tabs on the edges of the different Parts.


planktoscope-assembly-015.jpg

Cut out the tabs inside of all the Parts F, P, K, J and I detached from the panel S1.

Dispose of the cut tabs and any other debris that may have been created during the detachment process.

Warning

Be extremely careful because this is very sharp.


planktoscope-assembly-016.jpg

  • ✅ Good way of cutting inner tabs
  • ❌ Wrong way of cutting inner tabs

planktoscope-assembly-018.jpg

Repeat the process on the panel S2.

Warning

Be extremely careful because this is very sharp.


planktoscope-assembly-019.jpg

Discover the 11 differents Parts.


planktoscope-assembly-020.jpg

Dispose of the cut tabs and any other debris that may have been created during the detachment process. Inspect the case parts and panels for any damage or imperfections that may have occurred during the detachment process. If any damage is found, it may be necessary to repair or replace the affected parts.


Chapter 2: Place the 4 Adhesive Pads under the Part I🔗

planktoscope-assembly-023.jpg To secure the PlanktoScope on slippery grounds using the adhesive pads, follow these steps. Gather all the necessary materials. You will need:

  • Time: 1 min
  • 👁 and Take the Part I
  • 🟠 Take the four adhesive pads present in the bag A.
  • 🟣 Locate the four pockets that will receive the four adhesive pads.

planktoscope-assembly-024.jpg

  • Clean the bottom of the case part I. Make sure the surface is free of dirt, debris, and any other substances that may prevent the adhesive pads from sticking properly.
  • Remove the paper and place the four adhesive pads in the pockets by pressing firmly on them, sticky-side down.
  • Test the stability of the PlanktoScope by gently shaking or tilting it. If it feels secure and does not slip or slide, the adhesive pads have been successfully installed.

Note

🎬 Store this assembly for later.


Chapter 3: Screw the four Standoffs into Part A🔗

planktoscope-assembly-026.jpg

Now it's time to assemble the ground plate for the Raspberry Pi as the PlanktoScope main processing unit.

  • Time: 5 min

planktoscope-assembly-027.jpg

  • 👁 Grab the Part A.
  • 🟣 Locate the four holes on Part A.

planktoscope-assembly-028.jpg

🟢 A1. Standoff M2.5 - 6mm- Brass


planktoscope-assembly-029.jpg

🟢 B4. Wrenches for standoffs


planktoscope-assembly-030.jpg

  • 🟣 Place the Standoff M2.5 - 6mm in the small side of the wrenches for standoffs B4.
  • 🟠 Do not use the big side of the wrenches for standoffs since the standoff will be loose in it.

planktoscope-assembly-031.jpg

  • Place the standoff in the hole and start rotating by hand in a clockwise direction until secure.
  • Then tighten with the wrench.

planktoscope-assembly-032.jpg

  • ✅ Make sure to screw until the standoff is properly inserted in the hole.
  • ❌ Do not stop screwing before.

planktoscope-assembly-033.jpg

Keep going for each of the four holes.


Chapter 4: Mount the Heat Sinks on the Raspberry Pi🔗

planktoscope-assembly-035.jpg

  • Time: 2 min

Locate the Raspberry Pi 4 Model B packaging.

Warning

Be careful removing it from its packaging.


planktoscope-assembly-036.jpg

Place the four Heat Sinks next to your Raspberry Pi and mark the locations of the Heat Sinks on the Raspberry Pi.

  • 🟠 & 🔵 Small Heat Sinks
  • 🟢 Medium Heat Sink
  • 🟣 Big Heat Sink

planktoscope-assembly-037.jpg

Remove the protective labels under a Heat Sink and place the Heat Sink on the slot of the Raspberry Pi.


planktoscope-assembly-038.jpg

Remove the protective labels under all the Heat Sinks and place all the Heat Sinks on the slots of the Raspberry Pi.


Chapter 5: Insert the micro SD card in the Raspberry Pi🔗

planktoscope-assembly-040.jpg

  • Locate the SD card adapter in the bag K.
  • The micro SD card is inserted in the SD card adapter.
  • 🟣 Remove the micro SD card from the SD card adapter.

planktoscope-assembly-041.jpg

  • Flip your Raspberry Pi.
  • 🟠 Locate the micro SD port.
  • 🟣 Insert the micro SD card in the Raspberry Pi.

planktoscope-assembly-042.jpg

Push the micro SD card in the Raspberry Pi port to a point of resistance.

Note

If you notice that the micro SD card protrudes about 2mm from its slot, this is normal.


Chapter 6: Mount the Raspberry Pi on the Part A🔗

  • Time: 1 min

planktoscope-assembly-044.jpg

  • ✅ Make sure to position the Raspberry Pi properly on the four standoffs screwed on the Part A.
  • ❌ Do not invert the position of the Raspberry Pi on the four standoffs screwed on the Part A.

planktoscope-assembly-045.jpg

🟣 A3. Standoff M2.5 - 16mm - SS


planktoscope-assembly-046.jpg

Screw by hand a Standoff M2.5 - 16mm on the Raspberry Pi.


planktoscope-assembly-047.jpg

  • Screw by hand all Standoffs M2.5 - 16mm on the Raspberry Pi.
  • Make sure you insert all four standoffs by hand and tighten slightly.

planktoscope-assembly-048.jpg

🟢 B4. Wrenches for standoffs


planktoscope-assembly-049.jpg

  • 🟠 Secure the Standoff M2.5 - 16 mm - SS A3 in the big side of the wrenches for standoffs B4.
  • 🟣 Do not use the small side of the wrenches for standoffs since the standoff won’t fit in it.

Chapter 7: Attach the Ribbon Cable to the Raspberry Pi🔗

  • Time: 2 min

planktoscope-assembly-051.jpg

Locate the Raspberry Pi Camera HQ packaging.

Warning

Be careful removing it from its packaging.


planktoscope-assembly-052.jpg

Lay your Raspberry Pi Camera face down on a suitable surface.

🔴 The black connector is simply a push/pull fit. To disengage the cable, pull the two corners of the black connector down, away from the camera board. It will unclip to about 3mm, make sure you don't pull it off! If you're struggling, try pulling off one corner of the connector at a time.

Warning

Be careful with this, this part is delicate. Lift the black connector gently


planktoscope-assembly-053.jpg

Once the connector has been disengaged from the Raspberry Pi camera board, the cable will simply slide out!

  • 🟣 Put aside Camera the Raspberry Pi
  • 🟢 Keep the Ribbon Cable for next step.

planktoscope-assembly-054.jpg

🔴 Locate the black connector present on the Raspberry Pi.


planktoscope-assembly-055.jpg

🔴 The black connector is simply a push/pull fit. To disengage the cable, pull the two corners of the black connector down, away from the camera board. It will unclip to about 3mm, make sure you don't pull it off! If you're struggling, try pulling off one corner of the connector at a time.

Warning

Be careful, this part is delicate. Gently prise the black connector with nail or fingertip and thumb.


planktoscope-assembly-056.jpg

Insert the Ribbon Cable you just detached from the Raspberry Pi Camera in the Raspberry Pi.

  • Make sure to insert in as much as you can.
  • Blue rectangle on Ribbon Cable should face the same direction as the arrow below.

planktoscope-assembly-057.jpg

🔴 Secure the Ribbon Cable in the Raspberry Pi by pressing firmly on the black connector.


Chapter 8: Mount the PlanktoScope HAT on the Raspberry Pi🔗

planktoscope-assembly-059.jpg

  • Time: 2 min

Locate the PlanktoScope HAT present in bag I.


planktoscope-assembly-060.jpg

🔴 Thread the Ribbon cable through the PlanktoScope HAT slot from the underside.

Warning

Make sure the two 🟣 black connectors are aligned before threading through the ribbon.


planktoscope-assembly-061.jpg

🔴 Plug the PlanktoScope HAT into the Raspberry Pi.

Warning

Make sure the two black connectors are aligned before attaching them together.


planktoscope-assembly-062.jpg

Press the PlanktoScope HAT against the Raspberry Pi until it is no longer possible to move them closer together.

Warning

Continue to feed through the Ribbon Cable and do not crush it while pressing the PlanktoScope HAT against the standoffs.


planktoscope-assembly-063.jpg

🟠 A4. Screw M2.5X5mm CHC - SS


planktoscope-assembly-064.jpg

🟣 Locate the 4 holes on the top of the PlanktoScope HAT and insert the four M2.5X5mm


planktoscope-assembly-065.jpg

🟡 B3. Allen key 2mm


planktoscope-assembly-066.jpg

Screw the four A4 screws through the PlanktoScope HAT onto the Standoff M2.5 - 16mm.

Note

🎬 Store this assembly for later.

Chapter 9: Place the Power Socket on Part M🔗

planktoscope-assembly-068.jpg

  • Time: 2 min
  • Locate the DC Power Jack from the Bag K.
  • Remove the Lock Ring from the DC Power Jack

planktoscope-assembly-069.jpg


planktoscope-assembly-070.jpg

  • 🔴 Lay the Part M down and make sure the pockets in these holes are facing upwards.
  • 🟣 Locate the Power Socket hole on Part M.

planktoscope-assembly-071.jpg

🔴 Insert the cable inside of the hole by being sure of the orientation of the Part M.


planktoscope-assembly-072.jpg

🟣 Flip the Part M and secure the DC Power Jack by hand on the Part M by screwing the Lock Ring.

Warning

Make sure the Lock Ring doesn’t spin on itself.

Note

🎬 Store this assembly for later.

Chapter 10: Mount the Raspberry Pi Camera HQ on Part B🔗

planktoscope-assembly-074.jpg

  • Time: 2 min

planktoscope-assembly-075.jpg

🟣 Locate the 4 holes on the top of the Part B.


planktoscope-assembly-076.jpg

🔵 A2. Standoff M2.5 - 15mm - Brass


planktoscope-assembly-077.jpg

Insert the four Standoff M2.5 - 15mm.


planktoscope-assembly-078.jpg

The result should be similar to the picture.


planktoscope-assembly-079.jpg

🟢 B4. Wrenches for standoffs


planktoscope-assembly-080.jpg

Using the small side of the Standoff Wrench, secure the 4 M2.5 - 15mm Standoffs


planktoscope-assembly-081.jpg

  • ✅ Make sure to screw until the Standoff is properly tightened into the hole.
  • ❌ Do not stop screwing before.

planktoscope-assembly-082.jpg

Locate the Raspberry Pi Camera HQ


planktoscope-assembly-083.jpg

Remove the lens cap Raspberry Pi Camera HQ.

planktoscope-assembly-084.jpg

Warning

Make sure your camera lens is clean. If it is not, gently wipe using cotton swab for this task.


planktoscope-assembly-085.jpg

Place the Raspberry Pi Camera HQ on top of the four Standoffs installed on Part B.

🟣Ensure correct orientation of the Raspberry Pi Camera HQ. The black connector where the Ribbon Cable was removed is on the same side as the 🟢slot circled in green


planktoscope-assembly-086.jpg

🟠 A4. Screw M2.5X5mm CHC - SS


planktoscope-assembly-087.jpg

🟡 B3. Allen key 2mm


planktoscope-assembly-088.jpg

Use the allen key and tighten the Raspberry Pi Camera to the Standoffs.


planktoscope-assembly-089.jpg

The result should be similar to the picture.

Note

🎬 Store this assembly for later.

Chapter 11: Mount the Linear Stepper Motor on Part E🔗

planktoscope-assembly-091.jpg

Locate the Stepper Motors

Warning

Avoid touching the metal rods on the Stepper Motors

Info

You can touch the 🟣 gold stands


planktoscope-assembly-092.jpg


planktoscope-assembly-093.jpg

🟡 A5. Screw M2.5X10mm CHC - SS


planktoscope-assembly-094.jpg

🟡 B3. Allen key 2mm


planktoscope-assembly-095.jpg

  • 🔴 Lay the Part E down and make sure the pockets in these holes are facing upwards.
  • 🟣 Locate the four holes on Part E and place four M2 Screws in the holes.

planktoscope-assembly-096.jpg

Attach the stepper motors to the screws we have just placed with the 🔴 pockets positioned on opposite to the cabling.

The result should be similar to the picture.


planktoscope-assembly-097.jpg

Use the 2mm allen key to fix the Stepper Motors.

The result should be similar to that picture.


planktoscope-assembly-098.jpg

The result should be similar to the picture.


planktoscope-assembly-099.jpg

Repeat the process on the other side with the other Stepper Motor.


planktoscope-assembly-100.jpg

Repeat the process on the other side with the other Stepper Motor.


planktoscope-assembly-101.jpg

The result should be similar to the picture.

Note

🎬 Store this assembly for later.


Chapter 12: Mount the LED on Part G🔗

planktoscope-assembly-103.jpg

  • Locate the LED and LED cable in Bag K.
  • 🟣 The LED will go on the end where the white plastic connector is smallest.

planktoscope-assembly-104.jpg

Insert the LED into the LED cable.


planktoscope-assembly-105.jpg

The result should be similar to the picture.


planktoscope-assembly-106.jpg


planktoscope-assembly-107.jpg

Locate part G.


planktoscope-assembly-108.jpg

🟣 Locate the LED hole on Part G.


planktoscope-assembly-109.jpg

We will now place the LED into the slot on part G.


planktoscope-assembly-110.jpg

Warning

Gently push the LED into the LED hole located on Part G. It should be a snug fit.


planktoscope-assembly-111.jpg

The result should be similar to the picture.

Info

🎬 Store this assembly for later.


Chapter 13: Mount the Peristaltic Pump on Part O and Part L🔗

planktoscope-assembly-113.jpg

  • Locate the Kamoer Peristaltic pump from the Bag F.
  • 🟣 Put aside the tubing contained in the little bag.

planktoscope-assembly-114.jpg


planktoscope-assembly-115.jpg

🟢 Insert the cable of the Peristaltic Pump into the hole on Part O and then insert the motor block assembly of the pump into it.

Warning

👁 Ensure the correct orientation of Part O and the Peristaltic Pump


planktoscope-assembly-116.jpg

🟡 A5. Screw M2.5X10mm CHC - SS


planktoscope-assembly-117.jpg

🟡 B3. Allen key 2mm B3


planktoscope-assembly-118.jpg

🟢 Insert the two M2.5X10mm in the two holes.


planktoscope-assembly-119.jpg

Screw the two M2.5X10mm into the two holes.


planktoscope-assembly-120.jpg


planktoscope-assembly-121.jpg

🔴 Lay the Part L down and make sure the pockets in these holes are facing upwards.


planktoscope-assembly-122.jpg

  • Place the Peristaltic Pump underneath part L, ensuring the correct orientation of these two parts.
  • 🔴 Insert the Peristaltic Pump into the allocated slot in Part L.

planktoscope-assembly-123.jpg

Insert the Peristaltic Pump into the allocated slot in Part L.


planktoscope-assembly-124.jpg

Insert the Peristaltic Pump into the allocated slot in Part L.


planktoscope-assembly-125.jpg

  • Lay the assembly down.
  • 🔴 Locate the four different holes.

planktoscope-assembly-126.jpg

🟡 A5.Screw M2.5X10mm CHC - SS


planktoscope-assembly-127.jpg

🟡 B3.Allen key 2mm


planktoscope-assembly-128.jpg

Screw the four M2.5X10mm in the located holes attaching the Part O to the Part L Peristaltic Pump.


planktoscope-assembly-129.jpg The result should be similar to the picture.

Info

We will use this part in the next step.


Chapter 14: Spiral wrap the LED and Peristaltic Pump cabling🔗

planktoscope-assembly-131.jpg

  • Locate the LED and housing, along with the pump and housing.
  • 🟣 Locate the spiral wrap from bag K.

planktoscope-assembly-132.jpg

  • Spiral wrap both sets of cables together.
  • There should be 4 cm (1.5 inches) between the connectors and the start of the spiral wrap.

planktoscope-assembly-133.jpg

Continue wrapping around the cables until you have used all of the spiral wrap, leaving small or no gaps.

Info

The result should look the same as the picture.


planktoscope-assembly-134.jpg

Info

The result should look the same as the picture.

Note

🎬 Store this assembly for later.


Chapter 15: Attaching the Stepper Motors to the Raspberry Pi Camera🔗

planktoscope-assembly-136.jpg

Locate the Stepper Motors with mount, and the Raspberry Pi Camera.


planktoscope-assembly-137.jpg Feed the Stepper Motor cables into the slots either side of the Raspberry Pi Camera.

Warning

Make sure the orientation is correct and matches the picture.


planktoscope-assembly-138.jpg Feed the Stepper Motor cables into the slots either side of the Raspberry Pi Camera.

Warning

Make sure the orientation is correct and matches the picture.

Then insert the cylindrical parts of the Stepper Motor into the slots.


planktoscope-assembly-139.jpg

Feed the Stepper Motor cables into the slots either side of the Raspberry Pi Camera.

Warning

Make sure the orientation is correct and matches the picture.

Then insert the cylindrical parts of the Stepper Motor into the slots.

Note

The result should be the same as the picture.


Chapter 16: Connecting the Raspberry Pi Camera to the Raspberry Pi HAT🔗

planktoscope-assembly-141.jpg

  • We will need the Raspberry Pi HAT with housing and Ribbon Cable along \ with the Raspberry Pi Camera with Stepper Motors and housing.
  • We will be connecting the 🟢Ribbon Cableto the 🟡black Raspberry Pi Camera connector that we removed it from earlier.

planktoscope-assembly-142.jpg

Gently feed the Ribbon Cable into the port of the Camera.

Warning

👁 Ensure the correct orientation of the Ribbon Cable with the blue end facing upwards.


planktoscope-assembly-143.jpg 🔴 Press down on the black connector on the Raspberry Pi camera board once the Ribbon Cable is in position.


planktoscope-assembly-144.jpg 🔴 B1.Small flat screwdriver 2mm


planktoscope-assembly-145.jpg

  • Now we will plug in the Stepper Mounts to the HAT.
  • 🔴The cables for the Stepper Mounts will be plugged into the HAT 🟣here.

Warning

Hold tight, a specific order is required.


planktoscope-assembly-146.jpg

Starting with the red cable, insert the cable in the far left port and tighten the screw situated above the port.

Note

The result should look the same as the picture.


planktoscope-assembly-147.jpg

Repeat this process with the order pictured here from left to right: 🔴 Red 🟡 Yellow 🔵 Blue ⚫ Black.


Chapter 17: Connect the LED and Peristaltic Pump to the Raspberry Pi🔗

planktoscope-assembly-149.jpg

We will now be connecting the LED and Peristaltic Pump with the Raspberry Pi HAT and Camera.


planktoscope-assembly-150.jpg

Place the LED housing onto the Stepper Mounts.

Warning

👁 Ensure correct orientation of both 🟣 parts by looking at the precut holes.


planktoscope-assembly-151.jpg

Info

The result should be similar to the picture.


planktoscope-assembly-152.jpg

Now we will plug in the LED and Stepper Mount cables to the Raspberry Pi.


planktoscope-assembly-153.jpg

Feed the area of cabling that is not covered by the spiral wrap through the two holes to start. Then thread through to the spiral wrap so that it matches the picture.


planktoscope-assembly-154.jpg

We will now plug the cables into the correct ports.


planktoscope-assembly-155.jpg

🟣 The four wires (🔴 Red 🔵 Blue 🟢 Green ⚫ Black) enter the side port on the Raspberry Pi HAT.


planktoscope-assembly-156.jpg

🔴 The two wires (LED) enter on the port on top of the Raspberry Pi HAT.


planktoscope-assembly-157.jpg

The result should be similar to the picture.

Note

We will use this assembly in the next step.


Chapter 18: Connect the DC Power Jack to the Raspberry Pi🔗

planktoscope-assembly-159.jpg

  • 🟢 Locate the DC Power Jack
  • We will plug the DC Power Jack into the Raspberry Pi via the 🔵 blue port.

planktoscope-assembly-160.jpg

🔴 B1.Small flat screwdriver 2mm


planktoscope-assembly-161.jpg

  • Insert the 🔴 red cable of the DC Power Jack into the left side of the blue port.
  • Tighten the screw above.

planktoscope-assembly-162.jpg

  • Insert the ⚫ black cable of the DC Power Jack into the right side of the blue port.
  • Tighten the screw above.

planktoscope-assembly-163.jpg

Info

The result should be similar to the picture.

Note

We will use this assembly in the next step.


Chapter 19: Your PlanktoScope starts to take shape🔗

planktoscope-assembly-165.jpg


planktoscope-assembly-166.jpg

Locate Part I and Part H.


planktoscope-assembly-167.jpg

  • Slot Part H into Part I.
  • 🟣 Note the orientation. Part H goes into Part Iat the end with the rectangular slot (as opposed to the rectangle with bulbous hole).
  • 🟡 Also, the deeper slots on part H should be on the upper side.

planktoscope-assembly-168.jpg

🔴 Slot the Peristaltic Pump above the LED.


planktoscope-assembly-169.jpg

Note

The result should be the same as the picture.


planktoscope-assembly-170.jpg

Warning

👁 Ensure the correct orientation of the housing and the Peristaltic Pump.


planktoscope-assembly-171.jpg

At the other end, slot the DC Power Jack housing adjacent to the Raspberry Pi.


planktoscope-assembly-172-00.jpg planktoscope-assembly-172-00.jpg

Rotate so that the DC Power Jack is facing upwards. We will now slot the Raspberry Pi onto the rest of the housing.


planktoscope-assembly-173.jpg

Info

The result should be similar to that picture.

Note

🎬 Store this assembly for later.


Chapter 20: Inserting screws🔗

planktoscope-assembly-175.jpg

🟣 We will now insert eight M3 screws to fasten the housing together.

Note

🎬 Store this assembly for later.


planktoscope-assembly-176.jpg

🔴 A6. Screw M3X12mm BHC - SS


planktoscope-assembly-177.jpg

🟡 B3. Allen key 2mm


planktoscope-assembly-178.jpg

Info

The result should be similar to the picture.


planktoscope-assembly-179.jpg

We will now turn over the PlanktoScope and repeat the process for the underside.


planktoscope-assembly-180.jpg

🟣 Insert eight more M3 screws on the underside.


planktoscope-assembly-181.jpg

Info

The result should be similar to the picture.


planktoscope-assembly-182.jpg

Now turn the PlanktoScope on its side.


planktoscope-assembly-183.jpg


planktoscope-assembly-184.jpg

Warning

👁 Ensure the orientation of your PlanktoScope and Part K matches the picture.


planktoscope-assembly-185.jpg

Slot Part K onto the rest of the PlanktoScope.

Warning

🟢 Ensure the correct orientation. The result should look the same at the picture.


planktoscope-assembly-186.jpg

Content of Bag A: 🔴 A6. Screw M3X12mm BHC - SS


planktoscope-assembly-187.jpg

Content of Bag B: 🟡 B3. Allen key 2mm


planktoscope-assembly-188.jpg

🟣 Insert eight more M3 screws on the side to hold Part K in place.


planktoscope-assembly-189.jpg


planktoscope-assembly-190.jpg

We will now place Part J into position as the housing for the side.

Warning

👁 Ensure your PlanktoScope matches the orientation in the picture.


planktoscope-assembly-191.jpg

🟢 Place Part K onto the rest of the PlanktoScope and note the position of the cutout.


planktoscope-assembly-192.jpg

Content of Bag A: 🔴 A6. Screw M3X12mm BHC - SS


planktoscope-assembly-193.jpg

Content of Bag B: 🟡 B3. Allen key 2mm


planktoscope-assembly-194.jpg

🟣 Insert eight more M3 screws on the underside


planktoscope-assembly-195.jpg

Info

The result should be similar to the picture.


planktoscope-assembly-196.jpg


planktoscope-assembly-197.jpg

Content of Bag A: 🟡 A5. Screw M2.5X10mm CHC - SS


planktoscope-assembly-198.jpg

Place the M2.5 screw through Part N. It will act as a cover for the electrical inputs.


planktoscope-assembly-199.jpg

  • Place the cover over the electrical inputs on the PlanktoScope.
  • 🟣 The screw will enter the hole located here.

planktoscope-assembly-200.jpg

Using the allen key, tighten the screw so that it is possible to move the cover with light force.


planktoscope-assembly-201.jpg

Info

The result should be the same as the picture.


Chapter 21: Insert the tubing in the Peristaltic Pump🔗

planktoscope-assembly-203.jpg

  • Orientate your PlanktoScope so that it matches the picture.
  • Twist off the orange top of the Peristaltic pump in an anti-clockwise direction.

planktoscope-assembly-205.jpg

You can now remove the Peristaltic Pump housing and 🟢 Rotor.


planktoscope-assembly-206.jpg

You can now remove the Peristaltic Pump housing and 🟢 Rotor.


planktoscope-assembly-207.jpg

🔴 Locate the Tube for the Peristaltic Pump in Bag F and remove it from the bag.

Warning

The tips of the Tubing that are covered by black rubber are very delicate and easily broken.


planktoscope-assembly-208.jpg

Insert the first plastic arch of the Tube into the slot on the Peristaltic Pump \ housing.

Info

The result should be similar to the picture.


planktoscope-assembly-209-00.jpg planktoscope-assembly-209-01.jpg

Insert the Rotor into the housing ensuring the correct orientation. The hole in the centre should be visible on the underside.

Info

The result should be similar to the picture.


planktoscope-assembly-210.jpg

Insert the Rotor into the housing. Then, thread the Tube around the Rotor and insert the other plastic arch into the second slot.

Info

The result should be similar to the picture.


planktoscope-assembly-211.jpg

  • Thread the Tube around around the Rotor and insert the other plastic arch into the second slot.
  • This will require stretching the Tube slightly.

planktoscope-assembly-212.jpg

Info

The result should be similar to the picture.


planktoscope-assembly-213.jpg

Place the Peristaltic Pump housing back onto the PlanktoScope.


planktoscope-assembly-214.jpg

Achieve the angle shown in the picture between the Peristaltic Pump housing and PlanktoScope main body. Then, press and twist in a clockwise direction.


planktoscope-assembly-215.jpg

Info

The result should be similar to the picture.


planktoscope-assembly-216.jpg

  • 🟣 Gently remove the black rubber covers for the Peristaltic Pump connectors by pinching the very tip and pulling away.
  • Once complete, locate Bag D which contains tubing.

planktoscope-assembly-217.jpg

Push the small piece of tubing from Bag D over the left-side connector of the Peristaltic Pump.


planktoscope-assembly-218.jpg

Place the long piece of tubing from Bag D over the right-side connector of the Peristaltic Pump.


planktoscope-assembly-219.jpg

Insert the connector from Bag D into the other end of the small piece of tubing.


planktoscope-assembly-220.jpg


planktoscope-assembly-221.jpg

Orientate Part P so that the magnets are face-down on the left-hand side.


planktoscope-assembly-222.jpg

Place Part P over the magnets adjacent to the Peristaltic Pump.

Info

The result should be similar to the picture.


planktoscope-assembly-223.jpg

🔴 From Bag M, Place the light blue Test Tube in the hole adjacent to the Peristaltic Pump.


planktoscope-assembly-224.jpg

Place the 🔵 dark blue Test Tube into the hole situated outside of the PlanktoScope.


planktoscope-assembly-225.jpg

🟢 Insert the other end of the long piece of tubing into the 🔵 dark blue Test Tube. This will serve as the waste container. The result should look the same as the picture.


planktoscope-assembly-226.jpg


planktoscope-assembly-227-00.jpg planktoscope-assembly-227-01.jpg planktoscope-assembly-227-02.jpg

  • Locate Part C
  • Locate 25 mm camera lens and Lock Ring from Bag J.
  • 25MM is printed on the lens.

planktoscope-assembly-228-00.jpg planktoscope-assembly-228-01.jpg

  • Remove the plastic lens cap.
  • Slot the 25 mm camera lens into Part C.

Info

The magnets are raised on the side where the lens lays flat.

Warning

Try not to touch the lens

Screw the Lock Ring onto the lens, flat-side down.


planktoscope-assembly-229-00.jpg planktoscope-assembly-229-01.jpg planktoscope-assembly-227-02.jpg

  • Locate Part D.
  • Locate 16 mm camera lens and Lock Ring from Bag J.
  • 16MM is printed on the lens.

planktoscope-assembly-230-00.jpg planktoscope-assembly-230-01.jpg

  • Remove the plastic lens cap.
  • Slot the 16 mm camera lens into Part D.

Info

The magnets are indented on the side that the lens lays flat.

Warning

Try not to touch the lens

Screw the Lock Ring onto the lens, flat-side down.

The result should be similar to that picture.


planktoscope-assembly-231-00.jpg planktoscope-assembly-231-01.jpg

Place both Lenses (C and D) together so that they flat together and both lenses are facing each other.

Info

The result should be similar to the picture.


planktoscope-assembly-232-01.jpg planktoscope-assembly-232-00.jpg planktoscope-assembly-232-02.jpg

Place the Lenses (both C and D) into position, adjacent to the camera.

The orientation of your PlanktoScope and Lenses should match the pictures.


planktoscope-assembly-233.jpg

  • Once together, place the lenses (both C and D) into position, adjacent to the camera.
  • Part C / 25mm lens should be furthest from the pump (orange piece).

Info

The result should be similar to the picture.


planktoscope-assembly-234.jpg


planktoscope-assembly-235.jpg

Info

The Fluidic Path will have a cardboard protector.

Please take extra precaution while handling this part and avoid touching the glass element of the piece.

Warning

The Fluidic Path is very delicate.


planktoscope-assembly-236.jpg

Place the Tube Clamp over the long piece of tube at the end of the Fluidic Path.


planktoscope-assembly-237.jpg

Place the white clamp over the long piece of tube at the end of the Fluidic Path.

Info

The result should look the same as the picture.


planktoscope-assembly-238.jpg

Press down on the Tube Clamp so that it clicks into place with just one click.

Info

The result should look the same as the picture.


planktoscope-assembly-239.jpg

Insert a small plastic Connector into the end of the tubing, below the Tube Clamp.


planktoscope-assembly-240.jpg

Make sure the tubing is over the Connector.

Info

The result should look the same as the picture.


planktoscope-assembly-241.jpg

Remove the cardboard protector from the Fluidic Path.


planktoscope-assembly-242.jpg

Warning

A reminder, the glass part of the Fluidic Path is very delicate. Please try not to touch it.


planktoscope-assembly-243.jpg

Place another Connector at the end of the tubing.


planktoscope-assembly-244.jpg

The result should be the same as the picture.


planktoscope-assembly-245.jpg

⚠ Gently place the Fluidic Path in the designated indentation on Part F.

Warning

Do not touch the glass. 

  • You may have to slightly stretch the tubing to get the Fluidic Path into position.
  • The result should be the same as the picture.

planktoscope-assembly-246.jpg

If you have tape available, place a small piece at the the bottom of Part F so that the tubing remains fixed in its position.

Avoid placing tape over the glass.

Info

The result should be similar to the picture.


planktoscope-assembly-247-01.jpg planktoscope-assembly-247-00.jpg

To insert the syringe, place finger and thumb either side of part F where green circle is located. This ensures the tubing does not rotate while you twist the syringe into position in a clockwise direction.


planktoscope-assembly-248.jpg

Info

The result should be similar to the picture.


planktoscope-assembly-249-00.jpg planktoscope-assembly-249-01.jpg

  • Place the Fluidic Path into position between the mount and the Peristaltic Pump.
  • Connect the magnets to face each other.

planktoscope-assembly-250.jpg

The result should look the same as the pictures.


planktoscope-assembly-251-00.jpg planktoscope-assembly-251-01.jpg

  • 🟢 Connect the Fluidic Path to the Peristaltic Pump by twisting the two connectors together.
  • The result should be the same as the picture.

Build complete! 💯 💫🔗

planktoscope-assembly-251-01.jpg

The next stage is to plug in our PlanktoScope and connect it to the computer.

Hardware v2.5🔗

This page will help you to build the v2.5 hardware for a PlanktoScope.

Make an assembly kit🔗

If you do not already have an assembly kit, you will need to make a kit for yourself.

Assemble a PlanktoScope from a kit🔗

Once you have an assembly kit, you will need to assemble it into a PlanktoScope.

Next steps🔗

If you assembled your PlanktoScope from a kit provided by FairScope, you can proceed to our operation guide to learn how to operate your PlanktoScope. Otherwise, you will first need to set up the PlanktoScope software on the micro-SD card of your PlanktoScope's Raspberry Pi.

Hardware v2.5🔗

This page will help you to build the v2.5 hardware for a PlanktoScope.

Make an assembly kit🔗

If you do not already have an assembly kit, you will need to make a kit for yourself.

Assemble a PlanktoScope from a kit🔗

Once you have an assembly kit, you will need to assemble it into a PlanktoScope.

Next steps🔗

If you assembled your PlanktoScope from a kit provided by FairScope, you can proceed to our operation guide to learn how to operate your PlanktoScope. Otherwise, you will first need to set up the PlanktoScope software on the micro-SD card of your PlanktoScope's Raspberry Pi.

Kit Manufacturing🔗

manufacturing guide

Mechanical Structure🔗

CNC (computer numerical control) milling machines are used to fabricate parts with precise dimensions and shapes. The configuration of the feed rate and diameter plays a crucial role in the machining process and can significantly affect the quality and efficiency of the production of a workpiece.

case_parts_00

Manufacturing files🔗

Files Description
PlanktoScope-Case.dxf PlanktoScope Case export for CNC Milling

Tools🔗

Tool Specification
CNC Milling machine minimum traverse path at a minimum size of 600 mm to 1000 mm
End Mill Ø 6mm
End Mill Ø 3mm
End Mill Ø 2mm
End Mill Ø 1mm

case_00

Material🔗

Wood🔗

Valchromat is a wood-based composite material made from recycled wood fibers and colored with natural dyes. It is known for its durability, resistance to moisture and decay, and ability to be machined and finished in a similar way to solid wood. Here are some of the key characteristics of valchromat:

  • Durability: Valchromat is a highly durable material that is resistant to moisture, decay, and termites, making it ideal for use in outdoor or high-moisture environments.

  • Strength: Valchromat has a high mechanical strength, making it suitable for use in structural applications such as flooring, furniture, and doors.

  • Machinability: Valchromat can be machined using traditional woodworking tools, such as saws, routers, and drill bits. It can also be finished using sanding, staining, and painting techniques.

  • Sustainability: Valchromat is made from recycled wood fibers, which makes it a more sustainable option compared to traditional wood products. It is also produced using an eco-friendly manufacturing process that generates zero emissions.

  • Versatility: Valchromat is available in a variety of colors, including shades of red, yellow, green, blue, and black, making it suitable for a wide range of applications and design projects.

valchromat_colors

  • When compared to conventional MDF wood, valchromat has a number of advantages. It is more durable and resistant to moisture and decay, making it a better choice for use in outdoor or high-moisture environments. Valchromat is also more sustainable, as it is made from recycled wood fibers.

  • Valchromat can be processed using a CNC router in a similar way to MDF wood. However, it is important to consider the specific characteristics of valchromat when setting up the CNC router, such as the appropriate cutting speed and feed rate.

For the specific use case of the PlanktoScope Case, valchromat was used with a thickness of 8mm. This thickness may be suitable for a variety of applications, depending on the specific requirements and design of the project.

In summary, valchromat is a durable, strong, and versatile wood-based composite material that can be machined and finished in a similar way to solid wood. It is available in a variety of colors and is a more sustainable alternative to traditional wood products. When processed using a CNC router, it is important to consider the specific characteristics of valchromat in order to achieve the desired results.

Finishing🔗

Rubio Monocoat Plus is a wood finishing product that is designed to provide a durable, natural-looking finish to wood surfaces. It is made from plant-based oils and pigments, which give it a unique, transparent finish that enhances the natural beauty of the wood.

One of the key features of Rubio Monocoat Plus is its versatility and ease of use. It can be applied to a wide range of wood species, including hardwoods and softwoods, and can be used on both indoor and outdoor surfaces. It is also easy to apply, with a simple one-coat application process that allows users to achieve a professional-grade finish in a matter of hours.

Rubio Monocoat Plus is also environmentally friendly, with a low VOC (volatile organic compound) content and a biodegradable formula. This makes it a popular choice for those who are looking for a sustainable and eco-friendly wood finishing solution.

We use Rubio Monocoat Plus as a finishing product for Valchromat.

CNC workflow🔗

Here is a step-by-step guide on how to configure the feed rate and the diameter of the end mill of a CNC milling machine for the production of a workpiece, using the specified tools and configuration:

  1. Select the appropriate end mill: The end mill should be selected based on the material and shape of the workpiece, as well as the desired level of precision. For this specific production, the following end mills will be used:

    • 6mm end mill for straight flats
    • 2mm end mill for inner contours
    • 1mm end mill for small holes
  2. Determine the feed rate: The feed rate is the speed at which the end mill moves along the surface of the workpiece and is usually measured in millimeters per minute (mm/m). The appropriate feed rate will depend on the diameter of the end mill and the material and thickness of the workpiece. For this specific production, the following feed rates will be used:

    • 1500mm/min for 1-2mm end mills
    • 2500mm/min for 3mm end mills
    • 3500mm/min for 6mm end mills
  3. Load the end mill: Once the appropriate end mill has been selected, it can be loaded onto the spindle of the CNC milling machine.

  4. Set the workpiece: The workpiece should be securely clamped onto the table of the CNC milling machine.

  5. Set the machine parameters: The feed rate and end mill diameter should be entered into the machine's control panel or included in the machining program.

  6. Begin machining: The machining process should be carried out in the following sequence:

    • Mill the screw holes with a 2mm end mill and then with a 3mm end mill
    • Mill the corners with a 2mm end mill
    • Mill everything else with a 3mm end mill

By following these steps, you can properly configure the feed rate and the diameter of the end mill of a CNC milling machine for the production of a workpiece. It is important to follow the manufacturer's recommendations and guidelines for the specific CNC milling machine being used, as well as to use proper safety measures while operating the machine.

planktoscope_case_00.png

Finnish of the case parts🔗

Requirements for case parts🔗

Case tools🔗
  • Hammer
  • Air Compressor
  • Rubber gloves
  • Paper carpet pad
  • Clean piece of cotton fabric
  • Support material for drying the parts
Case part parts🔗
  • all case parts
  • Rubio Monocoat Oil Plus 2C
  • Rubio Monocoat Accelerator Component B
  • Magnets
  • Square nuts

Clean🔗

Stir🔗

Apply🔗

Dry🔗

Inserting the screws🔗

Inserting the magnets🔗

Package Housing part🔗

PlanktoScope Hat🔗

Welcome to the PCB production manual for the PlanktoScope Hat!

planktoscope_hat_front.png planktoscope_hat_back.png

A PCB (printed circuit board) is a crucial component of many electronic devices, providing a platform for connecting and mounting electronic components. The PCB production process involves several steps, including designing the PCB layout, fabricating the PCB, and assembling the electronic components onto the PCB.

The raw materials used in PCB production include copper sheets, fiberglass sheets, and various chemicals for etching and plating. These materials are used to create the circuitry patterns on the PCB.

There are two main types of electronic components that can be mounted onto a PCB: thru-hole components and surface mount components. Thru-hole components have leads that are inserted through holes in the PCB and soldered to the other side, while surface mount components are soldered directly onto the surface of the PCB. The choice between thru-hole and surface mount components depends on the specific requirements of the device being produced.

Note

Please note that this document describes a two-part production of the PCB. To reduce costs, the through hole components are assembled manually as described here. Depending on your budget and the services offered by the manufacturing company, this can also be ordered in the production of the PCB.

Manufacturing files🔗

Files Description
Planktoscope-Hat-gerbers.zip The exported Gerber files for PCB fabrication
Planktoscope-Hat-bom.csv The list of used SMD components
Planktoscope-Hat.pdf The SMD assembly footprints
Planktoscope-Hat-PnP-front.txt Pick-and-place machine instructions

PCB manufacturing process🔗

Placing an order🔗

To order a PCB board including assembly, follow these steps:

  • Select a manufacturing company based on your local availability, budget, delivery dates, and services such as assembly.

Note

If you need assistance with selecting a company, contact us. We can provide you with a list of companies we have worked with in the past.

  • Create a customer account if you do not already have one. Ensure to specify the correct tax, contact, and delivery information.

Warning

It is especially crucial to provide correct contact information, including a phone number if possible. Most manufacturing companies provide excellent customer service and will be happy to assist you during the order process.

  • Create a project and select the quantity of PCB boards you need for production.
  • Configure the order based on the values specified in this document.
  • Upload the bill of material (BOM) and validate the component availability.

Warning

It is crucial that you use the exact IC's like the RTC and EEPROM we specified. If a component is "end of life" (EOL), do not hesitate to contact us so we can help you find an alternative solution. For all other components, you are welcome to choose alternatives providet by the manufacturing company.

Info

The component costs will now be calculated, and the price should be displayed.

  • Upload the gerber files provided as a zip file in the repository under the following link.
  • Upload the assembly instructions provided as a zip file in the repository under the following link.
  • Check that there are no missing references in your order configuration.
  • Place the order based on your delivery requirements.
  • Select a payment method and complete the order process.

Configuration🔗

The following configuration parameters can be used for the production of the PCB.

Info

Please note that the naming may vary depanding on the manufacturing company you used and are only intended to provide you with support. You can, of course, adjust the parameters as you see fit.

Board dimensions🔗

65 mm x 100 mm

Circuit specifications🔗
Property Value
Material FR4
Thickness 1.6 mm
Finish Chem. gold
Number of layers 2
Specific stackup sans
SMD sides top
Finished external copper thickness (µ) 35 µm
Internal copper thickness (µ) without
IPC Class Class 2
Solder mask🔗
Property Value
Solder mask TOP + BOT
Mask colour green
Peelable mask without
Marking🔗
Property Value
Silkscreen (ink) TOP + BOT
Ink colour white
ROHS marking without
UL marking without
Date marking without
Specific options🔗
Property Value
Space between tracks > 0.15 mm
Min. drill hole size > 0.20 mm
Blind via with out
Cross blind no
Burried via na
Impedance control no
Edge plating no
Press-fit no
Carbon without
Via Fill without
Beveled edge without
Contersunk holes without
Contersunk holes (qty/PCB) without
Metallographic section without
Gold fingers (thickness) without
Gold fingers (qty/PCB) without

Quality assurance🔗

To ensure the quality of the produced PCB, request data validation from the customer support team. They can provide you with image files like the following to visually verify the manufacturing files you provide.

Warning

This step must be requested directly after completing the order process and confirmed promptly. Otherwise, the delivery date will be postponed or the order may be put on hold completely.

Top🔗

Planktoscope-Hat-validation-top.png

Bottom🔗

Planktoscope-Hat-validation-bottom.png

Copper layer 1🔗

Planktoscope-Hat-validation-layer1.png

Copper layer 2🔗

Planktoscope-Hat-validation-layer2.png

Mechanical🔗

Planktoscope-Hat-validation-mechanical.png

Component placement🔗

Planktoscope-Hat-validation-component-placement.png

Assembly of the Thru-Hole components🔗

Thru-Hole Requirements🔗

Thru-Hole tools🔗
Thru-Hole parts🔗
Files Description
Planktoscope-Hat-bom-through-hole.csv The list of used SMD components

Warning

When you solder this for the first time, take special care not to damage the board.

Info

To learn how to solder we recommend you the awesome Comic "Soldering is easy" by Mitch Altmal, Andie Nordgren and Jeff Keyzer

Soldering of the stepper motor driver🔗

Unpack the motor driver and the connector strips and take the breadboard aside.


Plug the connectors with the appropriate distance to the breadboard.

Info

The breadboard supports you during soldering to ensure the spacing and angle of the connectors, alternatively you can also use a third hand.


Now position the motor driver on the connector strips of the beadboard.

Warning

Make sure that the larger chip labeled trimatik is positioned on the bottom of the board and the four smaller chips are positioned on the top of the board as shown in the picture.


Now solder all pins of the connector strip.

Info

Soldering is sometimes like eating with chopsticks 🥢. It takes a bit of practice, but with time you learn how to hold the workpiece in place with one free finger and apply the solder with another, and then use the other hand to move the soldering iron to the workpiece and solder it.

Tip

You can also solder one pin on one side and then the opposite one to fix your workpiece, this ensures that nothing accidentally moves.


Soldering of the motor driver sockets🔗

Now take the PlanktoScope Hat board and the female connector of the stepper motor driver and position them as shown in the picture.


Now put the previously soldered motor driver on the socket connector to fix it for the soldering process. Turn the board as shown in the picture and place it carefully.


Now solder all pins of the connector strip.

Info

Soldering is sometimes like eating with chopsticks 🥢. It takes a bit of practice, but with time you learn how to hold the workpiece in place with one free finger and apply the solder with another, and then use the other hand to move the soldering iron to the workpiece and solder it.

Tip

You can also solder one pin on one side and then the opposite one to fix your workpiece, this ensures that nothing accidentally moves.


Repeat the procedure with the second motor driver. The end result should look like this.


Soldering the connection sockets🔗

Now solder the motor driver sockets, inserting the connector into the holes as shown.


Turn the board over and hold the loose connector while soldering it. Repeat the procedure with the second motor connector.

Info

Soldering is sometimes like eating with chopsticks 🥢. It takes a bit of practice, but with time you learn how to hold the workpiece in place with one free finger and apply the solder with another, and then use the other hand to move the soldering iron to the workpiece and solder it.


Repeat the procedure with the power connector. The end result should look like this.


Repeat the procedure with the led connector. The end result should look like this.


Soldering the Raspberry Pi connector🔗

Now solder the Raspberry Pi header connector with all 20 pins.

Warning

Be extremely careful when soldering the connections, make sure you don't accidentally bridge several contacts because you used too much solder or have cold solder joints because you had too little solder or too little heat.


Install and solder the cooling fan🔗

Install the fan with the four screws and nuts.

Warning

Pay attention to the running direction with the arrow marking on the side of the fan. The fan should blow on the cooler of the Raspberry Pi.


Cut off the excess cable of the fan and leave about 6 cm.


Feed the fan cable through the hole provided, check if you can reach the contacts on the board without any problems and trim it further if necessary and enisolate the ends.


Solder the fan cables according to the marking and color codes ⚫ GND, 🔴 VCC, 🟡 RPM, 🔵 PWM.

Note

If your fan doesn't have a 🔵 PWM connector, then that's not a problem, you can just leave it out.


Solder the display connector🔗

Insert the pin headers into the holes provided, hold them in place, carefully turn the board over and solder the connector.

Note

If you do not use an OLED display, you do not need to solder the connector.


Solder the configuration option jumpers🔗

Insert the pin headers into the holes provided, hold them in place, carefully turn the board over and solder the connector.

Note

If you do not use an OLED display, you do not need to solder the connector.


You have finished soldering the components🔗

The assembly of the thru-hole components for the planktoscope hat is now complete. The end result should look like this.


PlanktoScope Hard case🔗

Hard case Requirements🔗

Hard case tools🔗

  • double sided adhesive tape

Hard case parts🔗

  • Hard case

Case and double sided adhesive tape

Foam preparation🔗

Divide foam

Cut the foam block at the outer edge by gently tearing it apart with your fingers.

Warning

Be careful the foam tears easily and can not be repaired.

Tip

You can try in the middle of the foam block to see how the material can be cut through before you peel off with the edge.


Foam glue

Now lay a layer of two-sided adhesive tape on the upper inside edge of the case, with which we can later attach the show fabric.


Insert foam

Now insert the foam edge in to the case and glue it to the outer wall.

Note

Before you fix the foam, position it completely and check that it is placed flush with the edge of the case.


Kit composition🔗

Now divide all the components for the kit, and pack it in the hard case. You can find the full list of components for the kit in the v2.5 hardware BOM (Bill of Materials). However, this BOM does not include ordering links, since such links will need to be different for each country. If you've customized the v2.5 hardware BOM for your own v2.5 PlanktoScope kit (e.g. by finding and adding part ordering links from suppliers in your country for each component), please share your custom BOM to our GitHub Discussions thread for v2.5 Localized Hardware BOMs, so that other members of our community can learn from your work!

Kit Manufacturing🔗

manufacturing guide

Mechanical Structure🔗

CNC (computer numerical control) milling machines are used to fabricate parts with precise dimensions and shapes. The configuration of the feed rate and diameter plays a crucial role in the machining process and can significantly affect the quality and efficiency of the production of a workpiece.

case_parts_00

Manufacturing files🔗

Files Description
PlanktoScope-Case.dxf PlanktoScope Case export for CNC Milling

Tools🔗

Tool Specification
CNC Milling machine minimum traverse path at a minimum size of 600 mm to 1000 mm
End Mill Ø 6mm
End Mill Ø 3mm
End Mill Ø 2mm
End Mill Ø 1mm

case_00

Material🔗

Wood🔗

Valchromat is a wood-based composite material made from recycled wood fibers and colored with natural dyes. It is known for its durability, resistance to moisture and decay, and ability to be machined and finished in a similar way to solid wood. Here are some of the key characteristics of valchromat:

  • Durability: Valchromat is a highly durable material that is resistant to moisture, decay, and termites, making it ideal for use in outdoor or high-moisture environments.

  • Strength: Valchromat has a high mechanical strength, making it suitable for use in structural applications such as flooring, furniture, and doors.

  • Machinability: Valchromat can be machined using traditional woodworking tools, such as saws, routers, and drill bits. It can also be finished using sanding, staining, and painting techniques.

  • Sustainability: Valchromat is made from recycled wood fibers, which makes it a more sustainable option compared to traditional wood products. It is also produced using an eco-friendly manufacturing process that generates zero emissions.

  • Versatility: Valchromat is available in a variety of colors, including shades of red, yellow, green, blue, and black, making it suitable for a wide range of applications and design projects.

valchromat_colors

  • When compared to conventional MDF wood, valchromat has a number of advantages. It is more durable and resistant to moisture and decay, making it a better choice for use in outdoor or high-moisture environments. Valchromat is also more sustainable, as it is made from recycled wood fibers.

  • Valchromat can be processed using a CNC router in a similar way to MDF wood. However, it is important to consider the specific characteristics of valchromat when setting up the CNC router, such as the appropriate cutting speed and feed rate.

For the specific use case of the PlanktoScope Case, valchromat was used with a thickness of 8mm. This thickness may be suitable for a variety of applications, depending on the specific requirements and design of the project.

In summary, valchromat is a durable, strong, and versatile wood-based composite material that can be machined and finished in a similar way to solid wood. It is available in a variety of colors and is a more sustainable alternative to traditional wood products. When processed using a CNC router, it is important to consider the specific characteristics of valchromat in order to achieve the desired results.

Finishing🔗

Rubio Monocoat Plus is a wood finishing product that is designed to provide a durable, natural-looking finish to wood surfaces. It is made from plant-based oils and pigments, which give it a unique, transparent finish that enhances the natural beauty of the wood.

One of the key features of Rubio Monocoat Plus is its versatility and ease of use. It can be applied to a wide range of wood species, including hardwoods and softwoods, and can be used on both indoor and outdoor surfaces. It is also easy to apply, with a simple one-coat application process that allows users to achieve a professional-grade finish in a matter of hours.

Rubio Monocoat Plus is also environmentally friendly, with a low VOC (volatile organic compound) content and a biodegradable formula. This makes it a popular choice for those who are looking for a sustainable and eco-friendly wood finishing solution.

We use Rubio Monocoat Plus as a finishing product for Valchromat.

CNC workflow🔗

Here is a step-by-step guide on how to configure the feed rate and the diameter of the end mill of a CNC milling machine for the production of a workpiece, using the specified tools and configuration:

  1. Select the appropriate end mill: The end mill should be selected based on the material and shape of the workpiece, as well as the desired level of precision. For this specific production, the following end mills will be used:

    • 6mm end mill for straight flats
    • 2mm end mill for inner contours
    • 1mm end mill for small holes
  2. Determine the feed rate: The feed rate is the speed at which the end mill moves along the surface of the workpiece and is usually measured in millimeters per minute (mm/m). The appropriate feed rate will depend on the diameter of the end mill and the material and thickness of the workpiece. For this specific production, the following feed rates will be used:

    • 1500mm/min for 1-2mm end mills
    • 2500mm/min for 3mm end mills
    • 3500mm/min for 6mm end mills
  3. Load the end mill: Once the appropriate end mill has been selected, it can be loaded onto the spindle of the CNC milling machine.

  4. Set the workpiece: The workpiece should be securely clamped onto the table of the CNC milling machine.

  5. Set the machine parameters: The feed rate and end mill diameter should be entered into the machine's control panel or included in the machining program.

  6. Begin machining: The machining process should be carried out in the following sequence:

    • Mill the screw holes with a 2mm end mill and then with a 3mm end mill
    • Mill the corners with a 2mm end mill
    • Mill everything else with a 3mm end mill

By following these steps, you can properly configure the feed rate and the diameter of the end mill of a CNC milling machine for the production of a workpiece. It is important to follow the manufacturer's recommendations and guidelines for the specific CNC milling machine being used, as well as to use proper safety measures while operating the machine.

planktoscope_case_00.png

Finnish of the case parts🔗

Requirements for case parts🔗

Case tools🔗
  • Hammer
  • Air Compressor
  • Rubber gloves
  • Paper carpet pad
  • Clean piece of cotton fabric
  • Support material for drying the parts
Case part parts🔗
  • all case parts
  • Rubio Monocoat Oil Plus 2C
  • Rubio Monocoat Accelerator Component B
  • Magnets
  • Square nuts

Clean🔗

Stir🔗

Apply🔗

Dry🔗

Inserting the screws🔗

Inserting the magnets🔗

Package Housing part🔗

PlanktoScope Hat🔗

Welcome to the PCB production manual for the PlanktoScope Hat!

planktoscope_hat_front.png planktoscope_hat_back.png

A PCB (printed circuit board) is a crucial component of many electronic devices, providing a platform for connecting and mounting electronic components. The PCB production process involves several steps, including designing the PCB layout, fabricating the PCB, and assembling the electronic components onto the PCB.

The raw materials used in PCB production include copper sheets, fiberglass sheets, and various chemicals for etching and plating. These materials are used to create the circuitry patterns on the PCB.

There are two main types of electronic components that can be mounted onto a PCB: thru-hole components and surface mount components. Thru-hole components have leads that are inserted through holes in the PCB and soldered to the other side, while surface mount components are soldered directly onto the surface of the PCB. The choice between thru-hole and surface mount components depends on the specific requirements of the device being produced.

Note

Please note that this document describes a two-part production of the PCB. To reduce costs, the through hole components are assembled manually as described here. Depending on your budget and the services offered by the manufacturing company, this can also be ordered in the production of the PCB.

Manufacturing files🔗

Files Description
Planktoscope-Hat-gerbers.zip The exported Gerber files for PCB fabrication
Planktoscope-Hat-bom.csv The list of used SMD components
Planktoscope-Hat.pdf The SMD assembly footprints
Planktoscope-Hat-PnP-front.txt Pick-and-place machine instructions

PCB manufacturing process🔗

Placing an order🔗

To order a PCB board including assembly, follow these steps:

  • Select a manufacturing company based on your local availability, budget, delivery dates, and services such as assembly.

Note

If you need assistance with selecting a company, contact us. We can provide you with a list of companies we have worked with in the past.

  • Create a customer account if you do not already have one. Ensure to specify the correct tax, contact, and delivery information.

Warning

It is especially crucial to provide correct contact information, including a phone number if possible. Most manufacturing companies provide excellent customer service and will be happy to assist you during the order process.

  • Create a project and select the quantity of PCB boards you need for production.
  • Configure the order based on the values specified in this document.
  • Upload the bill of material (BOM) and validate the component availability.

Warning

It is crucial that you use the exact IC's like the RTC and EEPROM we specified. If a component is "end of life" (EOL), do not hesitate to contact us so we can help you find an alternative solution. For all other components, you are welcome to choose alternatives providet by the manufacturing company.

Info

The component costs will now be calculated, and the price should be displayed.

  • Upload the gerber files provided as a zip file in the repository under the following link.
  • Upload the assembly instructions provided as a zip file in the repository under the following link.
  • Check that there are no missing references in your order configuration.
  • Place the order based on your delivery requirements.
  • Select a payment method and complete the order process.

Configuration🔗

The following configuration parameters can be used for the production of the PCB.

Info

Please note that the naming may vary depanding on the manufacturing company you used and are only intended to provide you with support. You can, of course, adjust the parameters as you see fit.

Board dimensions🔗

65 mm x 100 mm

Circuit specifications🔗
Property Value
Material FR4
Thickness 1.6 mm
Finish Chem. gold
Number of layers 2
Specific stackup sans
SMD sides top
Finished external copper thickness (µ) 35 µm
Internal copper thickness (µ) without
IPC Class Class 2
Solder mask🔗
Property Value
Solder mask TOP + BOT
Mask colour green
Peelable mask without
Marking🔗
Property Value
Silkscreen (ink) TOP + BOT
Ink colour white
ROHS marking without
UL marking without
Date marking without
Specific options🔗
Property Value
Space between tracks > 0.15 mm
Min. drill hole size > 0.20 mm
Blind via with out
Cross blind no
Burried via na
Impedance control no
Edge plating no
Press-fit no
Carbon without
Via Fill without
Beveled edge without
Contersunk holes without
Contersunk holes (qty/PCB) without
Metallographic section without
Gold fingers (thickness) without
Gold fingers (qty/PCB) without

Quality assurance🔗

To ensure the quality of the produced PCB, request data validation from the customer support team. They can provide you with image files like the following to visually verify the manufacturing files you provide.

Warning

This step must be requested directly after completing the order process and confirmed promptly. Otherwise, the delivery date will be postponed or the order may be put on hold completely.

Top🔗

Planktoscope-Hat-validation-top.png

Bottom🔗

Planktoscope-Hat-validation-bottom.png

Copper layer 1🔗

Planktoscope-Hat-validation-layer1.png

Copper layer 2🔗

Planktoscope-Hat-validation-layer2.png

Mechanical🔗

Planktoscope-Hat-validation-mechanical.png

Component placement🔗

Planktoscope-Hat-validation-component-placement.png

Assembly of the Thru-Hole components🔗

Thru-Hole Requirements🔗

Thru-Hole tools🔗
Thru-Hole parts🔗
Files Description
Planktoscope-Hat-bom-through-hole.csv The list of used SMD components

Warning

When you solder this for the first time, take special care not to damage the board.

Info

To learn how to solder we recommend you the awesome Comic "Soldering is easy" by Mitch Altmal, Andie Nordgren and Jeff Keyzer

Soldering of the stepper motor driver🔗

Unpack the motor driver and the connector strips and take the breadboard aside.


Plug the connectors with the appropriate distance to the breadboard.

Info

The breadboard supports you during soldering to ensure the spacing and angle of the connectors, alternatively you can also use a third hand.


Now position the motor driver on the connector strips of the beadboard.

Warning

Make sure that the larger chip labeled trimatik is positioned on the bottom of the board and the four smaller chips are positioned on the top of the board as shown in the picture.


Now solder all pins of the connector strip.

Info

Soldering is sometimes like eating with chopsticks 🥢. It takes a bit of practice, but with time you learn how to hold the workpiece in place with one free finger and apply the solder with another, and then use the other hand to move the soldering iron to the workpiece and solder it.

Tip

You can also solder one pin on one side and then the opposite one to fix your workpiece, this ensures that nothing accidentally moves.


Soldering of the motor driver sockets🔗

Now take the PlanktoScope Hat board and the female connector of the stepper motor driver and position them as shown in the picture.


Now put the previously soldered motor driver on the socket connector to fix it for the soldering process. Turn the board as shown in the picture and place it carefully.


Now solder all pins of the connector strip.

Info

Soldering is sometimes like eating with chopsticks 🥢. It takes a bit of practice, but with time you learn how to hold the workpiece in place with one free finger and apply the solder with another, and then use the other hand to move the soldering iron to the workpiece and solder it.

Tip

You can also solder one pin on one side and then the opposite one to fix your workpiece, this ensures that nothing accidentally moves.


Repeat the procedure with the second motor driver. The end result should look like this.


Soldering the connection sockets🔗

Now solder the motor driver sockets, inserting the connector into the holes as shown.


Turn the board over and hold the loose connector while soldering it. Repeat the procedure with the second motor connector.

Info

Soldering is sometimes like eating with chopsticks 🥢. It takes a bit of practice, but with time you learn how to hold the workpiece in place with one free finger and apply the solder with another, and then use the other hand to move the soldering iron to the workpiece and solder it.


Repeat the procedure with the power connector. The end result should look like this.


Repeat the procedure with the led connector. The end result should look like this.


Soldering the Raspberry Pi connector🔗

Now solder the Raspberry Pi header connector with all 20 pins.

Warning

Be extremely careful when soldering the connections, make sure you don't accidentally bridge several contacts because you used too much solder or have cold solder joints because you had too little solder or too little heat.


Install and solder the cooling fan🔗

Install the fan with the four screws and nuts.

Warning

Pay attention to the running direction with the arrow marking on the side of the fan. The fan should blow on the cooler of the Raspberry Pi.


Cut off the excess cable of the fan and leave about 6 cm.


Feed the fan cable through the hole provided, check if you can reach the contacts on the board without any problems and trim it further if necessary and enisolate the ends.


Solder the fan cables according to the marking and color codes ⚫ GND, 🔴 VCC, 🟡 RPM, 🔵 PWM.

Note

If your fan doesn't have a 🔵 PWM connector, then that's not a problem, you can just leave it out.


Solder the display connector🔗

Insert the pin headers into the holes provided, hold them in place, carefully turn the board over and solder the connector.

Note

If you do not use an OLED display, you do not need to solder the connector.


Solder the configuration option jumpers🔗

Insert the pin headers into the holes provided, hold them in place, carefully turn the board over and solder the connector.

Note

If you do not use an OLED display, you do not need to solder the connector.


You have finished soldering the components🔗

The assembly of the thru-hole components for the planktoscope hat is now complete. The end result should look like this.


PlanktoScope Hard case🔗

Hard case Requirements🔗

Hard case tools🔗

  • double sided adhesive tape

Hard case parts🔗

  • Hard case

Case and double sided adhesive tape

Foam preparation🔗

Divide foam

Cut the foam block at the outer edge by gently tearing it apart with your fingers.

Warning

Be careful the foam tears easily and can not be repaired.

Tip

You can try in the middle of the foam block to see how the material can be cut through before you peel off with the edge.


Foam glue

Now lay a layer of two-sided adhesive tape on the upper inside edge of the case, with which we can later attach the show fabric.


Insert foam

Now insert the foam edge in to the case and glue it to the outer wall.

Note

Before you fix the foam, position it completely and check that it is placed flush with the edge of the case.


Kit composition🔗

Now divide all the components for the kit, and pack it in the hard case. You can find the full list of components for the kit in the v2.5 hardware BOM (Bill of Materials). However, this BOM does not include ordering links, since such links will need to be different for each country. If you've customized the v2.5 hardware BOM for your own v2.5 PlanktoScope kit (e.g. by finding and adding part ordering links from suppliers in your country for each component), please share your custom BOM to our GitHub Discussions thread for v2.5 Localized Hardware BOMs, so that other members of our community can learn from your work!

Setup🔗

This section of the PlanktoScope documentation will help you get to a working PlanktoScope. Every PlanktoScope has two aspects which have to work together: the hardware and the software. Depending on what hardware you already have, you should start at different places in the documentation:

  • "I have a product from FairScope": you probably received either a fully-assembled Planktoscope or a PlanktoScope do-it-yourself assembly kit. For more information, see the FairScope product section of this page.
  • "I have a fully assembled PlanktoScope, and it was not assembled by FairScope": you will need to ensure that you have the latest version of the PlanktoScope software installed on the PlanktoScope, and that the PlanktoScope hardware works. For more information, see the Fully-assembled PlanktoScope section of this page.
  • "I have a kit of hardware parts to assemble into a PlanktoScope, and it was not provided by FairScope": you will need to assemble your PlanktoScope hardware and then set up the software on it. For more information, see the DIY kit section of this page.
  • "I don't have any of the hardware for the PlanktoScope": you have several options for getting the PlanktoScope hardware. For more information, see the No hardware yet section of this page.

FairScope product🔗

You probably purchased either a fully-assembled PlanktoScope or a do-it-yourself assembly kit from FairScope. The various sections of this documentation will provide you with instructions for how to proceed:

  • If you purchased a fully-assembled PlanktoScope, it is ready for you to use! You should go to our operation guide to learn how to operate your PlanktoScope.
  • If you purchased a do-it-yourself assembly kit from FairScope, you should go to our hardware setup guide to learn how to assemble your kit into a working PlanktoScope. The software will already have been set up for you, so after you finish setting up the hardware you can proceed to our operation guide to learn how to operate your PlanktoScope.

Fully-assembled PlanktoScope🔗

If you have a fully-assembled PlanktoScope which was provided to you by FairScope, please refer instead to the Fairscope product section of this page. If someone else provided you with a PlanktoScope, you might need to do some additional hardware setup, software setup, calibration, and/or troubleshooting - please talk to them to figure out what might be needed. The various sections of this documentation site may be a useful resource for you:

  • Depending on what software is pre-installed on your PlanktoScope, and how old the software is, our software setup guide may be useful to help you update the software. You should always ensure that you are running the most recent available version of the PlanktoScope software.
  • Depending on what software configuration your PlanktoScope is running, our operation guide may be useful to help you operate your PlanktoScope.

DIY kit🔗

If you have a DIY assembly kit which was provided to you by FairScope, please refer instead to the Fairscope product section of this page. If someone else provided you with a DIY assembly kit, the process for assembling it into a PlanktoScope may be different from what is described in this documentation site - please talk to them to figure out what you should do. The various sections of this documentation site may be a useful resource for you:

  • Depending on what is included in your DIY kit, our hardware setup guide may be useful to assemble a PlanktoScope from your kit.
  • Depending on what is on the micro-SD card included with your DIY kit (if it includes a micro-SD card), our software setup guide may be useful to help you update the software. You should always ensure that you are running the most recent available version of the PlanktoScope software.
  • Depending on what software configuration your PlanktoScope is running, our operation guide may be useful to help you operate your PlanktoScope.

No hardware yet🔗

If you don't have any hardware for a PlanktoScope yet, you have a few options depending on how much work you want to do, what your budget is, and how much troubleshooting you are willing to do:

  1. Purchase a fully pre-assembled PlanktoScope.
  2. Purchase a DIY kit of parts to assemble into a PlanktoScope.
  3. Both make your own kit of parts and assemble it into a PlanktoScope.

Buy a pre-assembled PlanktoScope🔗

You can buy a PlanktoScope from FairScope, which is a small business started by the inventor of the PlanktoScope in order to make it easier for people to obtain PlanktoScopes. If you buy a PlanktoScope from FairScope, it will be fully standard, fully assembled, and fully tested. It will already have been calibrated in order to produce scientific data which can be compared with data from other PlanktoScopes, without requiring you to perform any additional calibration steps. The software will be pre-installed, so that once you receive your PlanktoScope you can immediately start using it.

We recommend this approach for:

  • Anyone who wants a PlanktoScope which "just works" out-of-the-box.
  • Scientists who just want to collect data and don't want to become engineers.
  • Anyone who just wants to use the PlanktoScope as a tool, rather than tinkering with their PlanktoScope as a project.

Buy a DIY kit🔗

If you are on a budget which does not allow you to buy a fully-assembled PlanktoScope from FairScope, you can instead buy a do-it-yourself assembly kit from FairScope. By assembling your PlanktoScope yourself, you will gain a deeper understanding of how it works, how to troubleshoot any problems you might encounter, and how to repair your PlanktoScope if you damage its hardware. If you make any mistakes while assembling the PlanktoScope, you will have to do some troubleshooting. You will also need to calibrate your PlanktoScope if you want to use it to produce data useful for scientists.

We recommend this approach for:

  • Anyone who wants a standard PlanktoScope but is on a limited budget, and has some interest in building things and troubleshooting problems.
  • Anyone who wants to approach the PlanktoScope as a project and not just a tool, but who has a limited tolerance of technical complexity.
  • Anyone who wants a do-it-yourself experience but does not have access to a laser cutter or CNC mill.
  • Anyone who wants a standard set of parts as the foundation for customizing their PlanktoScope.
  • Engineers and makers who don't want to worry about figuring out suppliers and making their own one-time supply chain in order to obtain all the hardware parts needed to build a single PlanktoScope.

Make a kit and assemble it🔗

If you don't want to purchase a pre-assembled PlanktoScope or a DIY assembly kit from FairScope, you will need to make your own assembly kit, and then assemble it into a PlanktoScope. This will require identifying sellers who will provide you with the necessary parts, and it will require identifying a way either to fabricate various mechanical parts yourself or to use a commercial service to fabricate those parts for you. Depending on which version of the PlanktoScope hardware you want to build, you might also need to assemble a custom printed circuit board (or work with a commercial service to assemble it for you). Once you have a kit, you can begin to assemble your PlanktoScope from it. You will almost certainly have to do some troubleshooting of problems with how you assembled your hardware, which is a great learning opportunity - but only if you're interested in it.

We recommend this approach for:

  • Anyone who is on an extremely limited budget but has lots of time and some hardware engineering experience.
  • Makers who are already familiar with laser cutting or CNC milling, and with soldering or PCB assembly (the necessary skills will depend on the version of PlanktoScope hardware being built).
  • Hobbyists and students who are primarily interested in the PlanktoScope as an engineering project and want to figure out everything by themselves.
  • Anyone who wants to design and build an extremely non-standard PlanktoScope, whether for fun or to use it for unconventional purposes.

Next steps🔗

After finishing any necessary hardware setup and all necessary software setup for your PlanktoScope, you can proceed to our guide on how to operate your PlanktoScope.

Setup🔗

This section of the PlanktoScope documentation will help you get to a working PlanktoScope. Every PlanktoScope has two aspects which have to work together: the hardware and the software. Depending on what hardware you already have, you should start at different places in the documentation:

  • "I have a product from FairScope": you probably received either a fully-assembled Planktoscope or a PlanktoScope do-it-yourself assembly kit. For more information, see the FairScope product section of this page.
  • "I have a fully assembled PlanktoScope, and it was not assembled by FairScope": you will need to ensure that you have the latest version of the PlanktoScope software installed on the PlanktoScope, and that the PlanktoScope hardware works. For more information, see the Fully-assembled PlanktoScope section of this page.
  • "I have a kit of hardware parts to assemble into a PlanktoScope, and it was not provided by FairScope": you will need to assemble your PlanktoScope hardware and then set up the software on it. For more information, see the DIY kit section of this page.
  • "I don't have any of the hardware for the PlanktoScope": you have several options for getting the PlanktoScope hardware. For more information, see the No hardware yet section of this page.

FairScope product🔗

You probably purchased either a fully-assembled PlanktoScope or a do-it-yourself assembly kit from FairScope. The various sections of this documentation will provide you with instructions for how to proceed:

  • If you purchased a fully-assembled PlanktoScope, it is ready for you to use! You should go to our operation guide to learn how to operate your PlanktoScope.
  • If you purchased a do-it-yourself assembly kit from FairScope, you should go to our hardware setup guide to learn how to assemble your kit into a working PlanktoScope. The software will already have been set up for you, so after you finish setting up the hardware you can proceed to our operation guide to learn how to operate your PlanktoScope.

Fully-assembled PlanktoScope🔗

If you have a fully-assembled PlanktoScope which was provided to you by FairScope, please refer instead to the Fairscope product section of this page. If someone else provided you with a PlanktoScope, you might need to do some additional hardware setup, software setup, calibration, and/or troubleshooting - please talk to them to figure out what might be needed. The various sections of this documentation site may be a useful resource for you:

  • Depending on what software is pre-installed on your PlanktoScope, and how old the software is, our software setup guide may be useful to help you update the software. You should always ensure that you are running the most recent available version of the PlanktoScope software.
  • Depending on what software configuration your PlanktoScope is running, our operation guide may be useful to help you operate your PlanktoScope.

DIY kit🔗

If you have a DIY assembly kit which was provided to you by FairScope, please refer instead to the Fairscope product section of this page. If someone else provided you with a DIY assembly kit, the process for assembling it into a PlanktoScope may be different from what is described in this documentation site - please talk to them to figure out what you should do. The various sections of this documentation site may be a useful resource for you:

  • Depending on what is included in your DIY kit, our hardware setup guide may be useful to assemble a PlanktoScope from your kit.
  • Depending on what is on the micro-SD card included with your DIY kit (if it includes a micro-SD card), our software setup guide may be useful to help you update the software. You should always ensure that you are running the most recent available version of the PlanktoScope software.
  • Depending on what software configuration your PlanktoScope is running, our operation guide may be useful to help you operate your PlanktoScope.

No hardware yet🔗

If you don't have any hardware for a PlanktoScope yet, you have a few options depending on how much work you want to do, what your budget is, and how much troubleshooting you are willing to do:

  1. Purchase a fully pre-assembled PlanktoScope.
  2. Purchase a DIY kit of parts to assemble into a PlanktoScope.
  3. Both make your own kit of parts and assemble it into a PlanktoScope.

Buy a pre-assembled PlanktoScope🔗

You can buy a PlanktoScope from FairScope, which is a small business started by the inventor of the PlanktoScope in order to make it easier for people to obtain PlanktoScopes. If you buy a PlanktoScope from FairScope, it will be fully standard, fully assembled, and fully tested. It will already have been calibrated in order to produce scientific data which can be compared with data from other PlanktoScopes, without requiring you to perform any additional calibration steps. The software will be pre-installed, so that once you receive your PlanktoScope you can immediately start using it.

We recommend this approach for:

  • Anyone who wants a PlanktoScope which "just works" out-of-the-box.
  • Scientists who just want to collect data and don't want to become engineers.
  • Anyone who just wants to use the PlanktoScope as a tool, rather than tinkering with their PlanktoScope as a project.

Buy a DIY kit🔗

If you are on a budget which does not allow you to buy a fully-assembled PlanktoScope from FairScope, you can instead buy a do-it-yourself assembly kit from FairScope. By assembling your PlanktoScope yourself, you will gain a deeper understanding of how it works, how to troubleshoot any problems you might encounter, and how to repair your PlanktoScope if you damage its hardware. If you make any mistakes while assembling the PlanktoScope, you will have to do some troubleshooting. You will also need to calibrate your PlanktoScope if you want to use it to produce data useful for scientists.

We recommend this approach for:

  • Anyone who wants a standard PlanktoScope but is on a limited budget, and has some interest in building things and troubleshooting problems.
  • Anyone who wants to approach the PlanktoScope as a project and not just a tool, but who has a limited tolerance of technical complexity.
  • Anyone who wants a do-it-yourself experience but does not have access to a laser cutter or CNC mill.
  • Anyone who wants a standard set of parts as the foundation for customizing their PlanktoScope.
  • Engineers and makers who don't want to worry about figuring out suppliers and making their own one-time supply chain in order to obtain all the hardware parts needed to build a single PlanktoScope.

Make a kit and assemble it🔗

If you don't want to purchase a pre-assembled PlanktoScope or a DIY assembly kit from FairScope, you will need to make your own assembly kit, and then assemble it into a PlanktoScope. This will require identifying sellers who will provide you with the necessary parts, and it will require identifying a way either to fabricate various mechanical parts yourself or to use a commercial service to fabricate those parts for you. Depending on which version of the PlanktoScope hardware you want to build, you might also need to assemble a custom printed circuit board (or work with a commercial service to assemble it for you). Once you have a kit, you can begin to assemble your PlanktoScope from it. You will almost certainly have to do some troubleshooting of problems with how you assembled your hardware, which is a great learning opportunity - but only if you're interested in it.

We recommend this approach for:

  • Anyone who is on an extremely limited budget but has lots of time and some hardware engineering experience.
  • Makers who are already familiar with laser cutting or CNC milling, and with soldering or PCB assembly (the necessary skills will depend on the version of PlanktoScope hardware being built).
  • Hobbyists and students who are primarily interested in the PlanktoScope as an engineering project and want to figure out everything by themselves.
  • Anyone who wants to design and build an extremely non-standard PlanktoScope, whether for fun or to use it for unconventional purposes.

Next steps🔗

After finishing any necessary hardware setup and all necessary software setup for your PlanktoScope, you can proceed to our guide on how to operate your PlanktoScope.

Post-Installation Configuration🔗

After installing the PlanktoScope software onto your PlanktoScope, you will need to configure the software to match your PlanktoScope hardware and your operational requirements.

Currently, all post-installation configuration is performed in the PlanktoScope software's Node-RED dashboard. To access it, you should first open the PlanktoScope's landing page in your web browser, e.g. following the instructions in the software installation guide. Then you should click the "Node-RED dashboard" link at the top of the "Browser applications" section of the landing page.

Hardware Settings🔗

You will need to choose hardware settings for the PlanktoScope software to match the actual configuration of your PlanktoScope hardware. To do this, open the navigation sidebar of the Node-RED dashboard and go to the "Hardware Settings" page. You will see a dropdown menu to select the hardware version. You should select the correct version for your PlanktoScope. This will replace all existing hardware settings with the default settings for that PlanktoScope hardware version.

Next steps🔗

Now that you have configured the PlanktoScope software, you can proceed to our guide on how to operate your PlanktoScope.

Post-Installation Configuration🔗

After installing the PlanktoScope software onto your PlanktoScope, you will need to configure the software to match your PlanktoScope hardware and your operational requirements.

Currently, all post-installation configuration is performed in the PlanktoScope software's Node-RED dashboard. To access it, you should first open the PlanktoScope's landing page in your web browser, e.g. following the instructions in the software installation guide. Then you should click the "Node-RED dashboard" link at the top of the "Browser applications" section of the landing page.

Hardware Settings🔗

You will need to choose hardware settings for the PlanktoScope software to match the actual configuration of your PlanktoScope hardware. To do this, open the navigation sidebar of the Node-RED dashboard and go to the "Hardware Settings" page. You will see a dropdown menu to select the hardware version. You should select the correct version for your PlanktoScope. This will replace all existing hardware settings with the default settings for that PlanktoScope hardware version.

Next steps🔗

Now that you have configured the PlanktoScope software, you can proceed to our guide on how to operate your PlanktoScope.

PlanktoScope Software🔗

This section of the PlanktoScope documentation will help you to set up the necessary software for your PlanktoScope hardware. Our documentation splits the PlanktoScope software setup process into two phases: installing the PlanktoScope software onto the micro-SD card of the Raspberry Pi computer in your PlanktoScope, and configuring the PlanktoScope software after installation.

The PlanktoScope software is distributed as an SD card image to be run on the PlanktoScope hardware's embedded Raspberry Pi computer. The PlanktoScope SD card image provides a ready-to-use collection of software programs for operating and managing the PlanktoScope from the web browser of a computer or phone connected to the PlanktoScope - so we also use the terms "PlanktoScope software distribution" and "PlanktoScope distro" to refer to the PlanktoScope software when we provide it as an integrated collection of software components (e.g. an SD card image).

If you are building your own PlanktoScope from your own hardware kit, you will need to install the PlanktoScope software. If you received a PlanktoScope from FairScope, a working version of the PlanktoScope software is already pre-installed, and you can skip the software setup process and proceed to our guide on how to operate your PlanktoScope. - but you still might wish to update the software to the latest release of the PlanktoScope distro, in which case you should reinstall the PlanktoScope software by going through our software setup guide below.

In order to install the PlanktoScope software, you will first need to choose an SD card image file to use for installation, and then you will install that SD card image and perform some configuration of the software.

Choosing an SD card image🔗

PlanktoScope SD card image files are identified with a version number as well as a hardware configuration tag - for example, the SD card image file named planktoscope-v2023.9.0+pscopehat.img.gz is for v2023.9.0 of the PlanktoScope distro, configured to work with versions of the PlanktoScope hardware based on the custom PlanktoScope HAT (rather than the Adafruit Stepper Motor HAT). Thus, you will need to choose both a version number (e.g. v2023.9.0) and a hardware configuration (e.g. pscopehat).

Distro versions🔗

Because the PlanktoScope project aims to release occasional updates to the PlanktoScope distro in order to fix software problems and make the software easier to operate, multiple versions of the PlanktoScope distro exist, and new distro versions will be released in the future. In general, each version of the PlanktoScope distro will be compatible with all previous officially-released versions of the PlanktoScope hardware (which are the versions listed in the hardware changelog without the description of a "prototype"). The PlanktoScope documentation describes the latest stable release of the PlanktoScope distro, and you should always use the latest stable release on your PlanktoScopes.

PlanktoScope distro versions are independent of hardware versions, and (starting in 2023) use a different version numbering system from the hardware (see the Hardware setup guide for an overview of some hardware versions). Now, distro version numbers have three numbers: the year of the release, a minor number (which is incremented for releases with new features and/or backwards-incompatible changes), and a patch number (which is incremented for minor bugfixes). You may see references to the following SD card image versions in online discussions of the PlanktoScope software:

  • v2.3: this release, from December 2021, was the last release of the PlanktoScope software in the old version numbering system in which the software and hardware were released together. The v2.3 distro is preinstalled on most PlanktoScopes sold by FairScope during 2023.

  • v2023.9.0: this release, from the end of 2023, is the first software release in the new version numbering system, and it is currently the latest release of the PlanktoScope distro. The number 9 should not be interpreted as having any special meaning.

  • v2024.0.0: this version will be the first release of the PlanktoScope distro in 2024.

Hardware configurations🔗

Currently, each version of the PlanktoScope distro is provided as two SD card images, corresponding to the two different hardware configurations supported by the PlanktoScope software:

  • adafruithat: this configuration of the PlanktoScope distro is compatible with v2.1 of the PlanktoScope hardware, which uses the Adafruit Stepper Motor HAT.

  • pscopehat: this configuration of the PlanktoScope distro is compatible with all versions of the PlanktoScope hardware starting with hardware v2.3; those hardware versions use a custom HAT.

If you have a v2.1 PlanktoScope, you should probably use an adafruithat SD card image; if you have a PlanktoScope from FairScope or any hardware version after v2.3, you should probably use the pscopehat SD card image.

Installation🔗

After you have chosen a PlanktoScope SD card image for the desired software version and hardware configuration, you should follow our standard installation guide in order to install that SD card image into your PlanktoScope. If the official PlanktoScope SD card images don't meet your requirements and you have successfully set up and used the PlanktoScope software in the past via the standard installation process, then you may also find the non-standard installation guide useful.

Post-installation configuration🔗

The first time you start the PlanktoScope after installing or updating the software, you should change some settings in the PlanktoScope software in order to match the configuration of your PlanktoScope hardware. Refer to our post-installation configuration guide for details.

Next steps🔗

After installing the PlanktoScope software (or ensuring that the PlanktoScope software is installed) and performing all necessary post-installation configuration, then you can proceed to our guide on how to operate your PlanktoScope.

PlanktoScope Software🔗

This section of the PlanktoScope documentation will help you to set up the necessary software for your PlanktoScope hardware. Our documentation splits the PlanktoScope software setup process into two phases: installing the PlanktoScope software onto the micro-SD card of the Raspberry Pi computer in your PlanktoScope, and configuring the PlanktoScope software after installation.

The PlanktoScope software is distributed as an SD card image to be run on the PlanktoScope hardware's embedded Raspberry Pi computer. The PlanktoScope SD card image provides a ready-to-use collection of software programs for operating and managing the PlanktoScope from the web browser of a computer or phone connected to the PlanktoScope - so we also use the terms "PlanktoScope software distribution" and "PlanktoScope distro" to refer to the PlanktoScope software when we provide it as an integrated collection of software components (e.g. an SD card image).

If you are building your own PlanktoScope from your own hardware kit, you will need to install the PlanktoScope software. If you received a PlanktoScope from FairScope, a working version of the PlanktoScope software is already pre-installed, and you can skip the software setup process and proceed to our guide on how to operate your PlanktoScope. - but you still might wish to update the software to the latest release of the PlanktoScope distro, in which case you should reinstall the PlanktoScope software by going through our software setup guide below.

In order to install the PlanktoScope software, you will first need to choose an SD card image file to use for installation, and then you will install that SD card image and perform some configuration of the software.

Choosing an SD card image🔗

PlanktoScope SD card image files are identified with a version number as well as a hardware configuration tag - for example, the SD card image file named planktoscope-v2023.9.0+pscopehat.img.gz is for v2023.9.0 of the PlanktoScope distro, configured to work with versions of the PlanktoScope hardware based on the custom PlanktoScope HAT (rather than the Adafruit Stepper Motor HAT). Thus, you will need to choose both a version number (e.g. v2023.9.0) and a hardware configuration (e.g. pscopehat).

Distro versions🔗

Because the PlanktoScope project aims to release occasional updates to the PlanktoScope distro in order to fix software problems and make the software easier to operate, multiple versions of the PlanktoScope distro exist, and new distro versions will be released in the future. In general, each version of the PlanktoScope distro will be compatible with all previous officially-released versions of the PlanktoScope hardware (which are the versions listed in the hardware changelog without the description of a "prototype"). The PlanktoScope documentation describes the latest stable release of the PlanktoScope distro, and you should always use the latest stable release on your PlanktoScopes.

PlanktoScope distro versions are independent of hardware versions, and (starting in 2023) use a different version numbering system from the hardware (see the Hardware setup guide for an overview of some hardware versions). Now, distro version numbers have three numbers: the year of the release, a minor number (which is incremented for releases with new features and/or backwards-incompatible changes), and a patch number (which is incremented for minor bugfixes). You may see references to the following SD card image versions in online discussions of the PlanktoScope software:

  • v2.3: this release, from December 2021, was the last release of the PlanktoScope software in the old version numbering system in which the software and hardware were released together. The v2.3 distro is preinstalled on most PlanktoScopes sold by FairScope during 2023.

  • v2023.9.0: this release, from the end of 2023, is the first software release in the new version numbering system, and it is currently the latest release of the PlanktoScope distro. The number 9 should not be interpreted as having any special meaning.

  • v2024.0.0: this version will be the first release of the PlanktoScope distro in 2024.

Hardware configurations🔗

Currently, each version of the PlanktoScope distro is provided as two SD card images, corresponding to the two different hardware configurations supported by the PlanktoScope software:

  • adafruithat: this configuration of the PlanktoScope distro is compatible with v2.1 of the PlanktoScope hardware, which uses the Adafruit Stepper Motor HAT.

  • pscopehat: this configuration of the PlanktoScope distro is compatible with all versions of the PlanktoScope hardware starting with hardware v2.3; those hardware versions use a custom HAT.

If you have a v2.1 PlanktoScope, you should probably use an adafruithat SD card image; if you have a PlanktoScope from FairScope or any hardware version after v2.3, you should probably use the pscopehat SD card image.

Installation🔗

After you have chosen a PlanktoScope SD card image for the desired software version and hardware configuration, you should follow our standard installation guide in order to install that SD card image into your PlanktoScope. If the official PlanktoScope SD card images don't meet your requirements and you have successfully set up and used the PlanktoScope software in the past via the standard installation process, then you may also find the non-standard installation guide useful.

Post-installation configuration🔗

The first time you start the PlanktoScope after installing or updating the software, you should change some settings in the PlanktoScope software in order to match the configuration of your PlanktoScope hardware. Refer to our post-installation configuration guide for details.

Next steps🔗

After installing the PlanktoScope software (or ensuring that the PlanktoScope software is installed) and performing all necessary post-installation configuration, then you can proceed to our guide on how to operate your PlanktoScope.

Standard Installation🔗

easy install

This page provides instructions for installing the most recent standard version of the PlanktoScope software distribution on a PlanktoScope.

Set up the SD card🔗

If you purchased a fully-assembled PlanktoScope or a DIY-assembly PlanktoScope kit from FairScope which includes a microSD card, then the SD card is already set up with the PlanktoScope software distribution, and you should skip to the next step.

Prerequisites🔗

In order to complete this step, you will need all of the following:

  1. A microSD card for your Raspberry Pi.
  2. A separate computer which can flash SD card images to your microSD card.

Download the PlanktoScope software SD card image🔗

For ease of setup, we provide an SD card image file with the PlanktoScope software distribution. You can download it from the latest software release on the releases page for the PlanktoScope project on GitHub.

Each released version of the PlanktoScope software distribution has downloadable SD card images under the "Assets" dropdown. Depending on whether your PlanktoScope uses an Adafruit Stepper HAT or the custom PlanktoScope HAT, you should download the corresponding .img.gz file. If you purchased a PlanktoScope or PlanktoScope kit from FairScope, it probably uses the custom PlanktoScope HAT.

Write the image to the SD card🔗

To write the image file to your microSD card, you can install balenaEtcher or the Raspberry Pi imager.

Here are instructions for using the Raspberry Pi Imager:

  1. Download, install, and start the latest version of the Raspberry Pi Imager.
  2. Plug your microSD card into your computer; you may need to use a microSD-to-SD-card adapter, and/or an SD-card-to-USB adapter.
  3. Press the "Choose Device" button. Select "No filtering" from the menu. It actually doesn't matter what you select here.
  4. Press the "Choose OS" button. Select "Use custom" from the menu (this is why it doesn't matter what you selected in the "Choose Device" menu). In the file dialog, open the PlanktoScope SD card image file you downloaded in the previous section of this setup guide.
  5. Press the "Choose Storage" button. Select your SD card from the menu.
  6. Press the "Next" button. A pop-up dialog should appear asking if you would like to customize the OS. You should probably press the "No" button unless you are already experienced with the PlanktoScope software, because most of the settings inside don't matter to typical users of the PlanktoScope software, and because it's possible to break the software with incorrect settings.
  7. A pop-up dialog should appear asking you to confirm whether you selected the correct SD card and want to wipe all data on the SD card in order to write the PlanktoScope SD card image to your SD card. If you are ready, press the "Yes" button.
  8. The Raspberry Pi Imager will begin overwriting your SD card with the PlanktoScope SD card image. This will take a while to finish.

Here are instructions for using balenaEtcher:

  1. Download, install, and start balenaEtcher.
  2. Plug your microSD card into your computer; you may need to use a microSD-to-SD-card adapter, and/or an SD-card-to-USB adapter.
  3. Open balenaEtcher
  4. Select the SD card image file which you had download in the previous section.
  5. Select the SD card you wish to write your image to.
  6. Review your selections and click 'Flash!' to begin writing data to the SD card.

Once flashing is complete, unmount the SD card and remove it from the computer.

Insert the SD card into the PlanktoScope🔗

Insert the microSD card into the Raspberry Pi computer installed in your PlanktoScope.

Connect to the PlanktoScope🔗

Power on your PlanktoScope, and wait for it to start up. Note that it may take a few minutes to start up. Once it has finished starting up, it should create a new isolated Wi-Fi network whose name starts with the word pkscope followed by the unique randomly-generated name of your PlanktoScope.

Note that you will not be able to access the PlanktoScope's graphical user interface by plugging in a display to the Raspberry Pi. This is because the SD card image we provide does not include a graphical desktop or web browser, in order to keep the SD card image file smaller and to keep the PlanktoScope's Raspberry Pi running more efficiently. Instead, you will need to connect another device (e.g. a phone or a computer) directly to the PlanktoScope's Raspberry Pi, either over its isolated Wi-Fi network or over an Ethernet cable.

After you connect another device directly to the PlanktoScope's Raspberry Pi, then you can open a web browser on the device to access the PlanktoScope's graphical user interface at one of the following URLs (try them in the following order, and just use the first one which works):

The web browser should show a landing page with some information about your PlanktoScope and a list of links, including links to apps running on your PlanktoScope.

Next steps🔗

Now that you have installed the software and accessed the PlanktoScope software's user interface from your web browser, you should proceed to our guide for configuring your PlanktoScope.

Standard Installation🔗

easy install

This page provides instructions for installing the most recent standard version of the PlanktoScope software distribution on a PlanktoScope.

Set up the SD card🔗

If you purchased a fully-assembled PlanktoScope or a DIY-assembly PlanktoScope kit from FairScope which includes a microSD card, then the SD card is already set up with the PlanktoScope software distribution, and you should skip to the next step.

Prerequisites🔗

In order to complete this step, you will need all of the following:

  1. A microSD card for your Raspberry Pi.
  2. A separate computer which can flash SD card images to your microSD card.

Download the PlanktoScope software SD card image🔗

For ease of setup, we provide an SD card image file with the PlanktoScope software distribution. You can download it from the latest software release on the releases page for the PlanktoScope project on GitHub.

Each released version of the PlanktoScope software distribution has downloadable SD card images under the "Assets" dropdown. Depending on whether your PlanktoScope uses an Adafruit Stepper HAT or the custom PlanktoScope HAT, you should download the corresponding .img.gz file. If you purchased a PlanktoScope or PlanktoScope kit from FairScope, it probably uses the custom PlanktoScope HAT.

Write the image to the SD card🔗

To write the image file to your microSD card, you can install balenaEtcher or the Raspberry Pi imager.

Here are instructions for using the Raspberry Pi Imager:

  1. Download, install, and start the latest version of the Raspberry Pi Imager.
  2. Plug your microSD card into your computer; you may need to use a microSD-to-SD-card adapter, and/or an SD-card-to-USB adapter.
  3. Press the "Choose Device" button. Select "No filtering" from the menu. It actually doesn't matter what you select here.
  4. Press the "Choose OS" button. Select "Use custom" from the menu (this is why it doesn't matter what you selected in the "Choose Device" menu). In the file dialog, open the PlanktoScope SD card image file you downloaded in the previous section of this setup guide.
  5. Press the "Choose Storage" button. Select your SD card from the menu.
  6. Press the "Next" button. A pop-up dialog should appear asking if you would like to customize the OS. You should probably press the "No" button unless you are already experienced with the PlanktoScope software, because most of the settings inside don't matter to typical users of the PlanktoScope software, and because it's possible to break the software with incorrect settings.
  7. A pop-up dialog should appear asking you to confirm whether you selected the correct SD card and want to wipe all data on the SD card in order to write the PlanktoScope SD card image to your SD card. If you are ready, press the "Yes" button.
  8. The Raspberry Pi Imager will begin overwriting your SD card with the PlanktoScope SD card image. This will take a while to finish.

Here are instructions for using balenaEtcher:

  1. Download, install, and start balenaEtcher.
  2. Plug your microSD card into your computer; you may need to use a microSD-to-SD-card adapter, and/or an SD-card-to-USB adapter.
  3. Open balenaEtcher
  4. Select the SD card image file which you had download in the previous section.
  5. Select the SD card you wish to write your image to.
  6. Review your selections and click 'Flash!' to begin writing data to the SD card.

Once flashing is complete, unmount the SD card and remove it from the computer.

Insert the SD card into the PlanktoScope🔗

Insert the microSD card into the Raspberry Pi computer installed in your PlanktoScope.

Connect to the PlanktoScope🔗

Power on your PlanktoScope, and wait for it to start up. Note that it may take a few minutes to start up. Once it has finished starting up, it should create a new isolated Wi-Fi network whose name starts with the word pkscope followed by the unique randomly-generated name of your PlanktoScope.

Note that you will not be able to access the PlanktoScope's graphical user interface by plugging in a display to the Raspberry Pi. This is because the SD card image we provide does not include a graphical desktop or web browser, in order to keep the SD card image file smaller and to keep the PlanktoScope's Raspberry Pi running more efficiently. Instead, you will need to connect another device (e.g. a phone or a computer) directly to the PlanktoScope's Raspberry Pi, either over its isolated Wi-Fi network or over an Ethernet cable.

After you connect another device directly to the PlanktoScope's Raspberry Pi, then you can open a web browser on the device to access the PlanktoScope's graphical user interface at one of the following URLs (try them in the following order, and just use the first one which works):

The web browser should show a landing page with some information about your PlanktoScope and a list of links, including links to apps running on your PlanktoScope.

Next steps🔗

Now that you have installed the software and accessed the PlanktoScope software's user interface from your web browser, you should proceed to our guide for configuring your PlanktoScope.

Troubleshooting🔗

We don't yet have documentation to help you troubleshoot problems with your PlanktoScope yet! For now, you should sign up to join the PlanktoScope community on Slack, and ask for help in the #3-start-testing channel on Slack.

Troubleshooting🔗

We don't yet have documentation to help you troubleshoot problems with your PlanktoScope yet! For now, you should sign up to join the PlanktoScope community on Slack, and ask for help in the #3-start-testing channel on Slack.