You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- A referenced image would be: `/img/user-guide/03-extending-your-pioreactor/08-hardware-calibrations/<image>.png`
15
20
16
-
## Screenshot guidelines
17
-
- Screenshots are committed as PNGs and grouped in sub-folders under `static/img/` (for example `static/img/user-guide/`).
18
-
- Existing screenshots are usually high-resolution captures taken from the Pioreactor UI; the common sizes range from ~1400×750 up to ~3200×1650 to keep interface text legible on Retina displays.
19
-
- When adding new screenshots:
20
-
- Capture the full relevant UI panel without cropping away context, and prefer light-theme UI unless the article explicitly targets dark-theme behavior.
21
-
- Export as PNG to preserve crisp text and UI accents. JPEGs are discouraged unless file size becomes an issue for photos.
22
-
- Resize or compress only if the asset exceeds several megabytes; `pngquant` works well and keeps transparency intact.
23
-
- Place the file in the matching doc-area subfolder and reference it with a relative path such as `/img/user-guide/<filename>.png`.
24
-
- Large assets should be reviewed to ensure no dimensions explode to placeholder values (for example, some legacy `custom_*` assets show `167772160×671088640` metadata and should be replaced if touched).
25
21
26
22
## Tech stack
27
-
- The documentation site is built with **Docusaurus 3** on top of **React 18** and MDX content. Styling extends the classic Docusaurus theme via custom CSS in `src/css/`.
23
+
- The documentation site is built with **Docusaurus 3.x** on top of **React 18** and MDX content. Styling extends the classic Docusaurus theme via custom CSS in `src/css/`.
28
24
- JavaScript tooling is managed with **Node.js** and npm. Install dependencies with `npm install` (Node 18+ recommended) and run the local preview with `npm run start`.
29
25
- Search is powered by the `@easyops-cn/docusaurus-search-local` plugin; diagrams and math rendering use `remark-math`/`rehype-katex`.
30
26
31
27
## Other helpful notes
32
28
- Follow Docusaurus front-matter conventions (`id`, `title`, `sidebar_label`, `description`) so pages appear in the correct sidebar.
33
29
- Use MDX for interactive examples—React components live in `src/components/` and can be imported into docs when needed.
34
30
- When reusing or adding React components from `src/components/`, prefer existing shared widgets (callouts, tabs, step-by-step helpers) before creating new ones, keep props well-documented in the component file, and ensure styles stay co-located in `src/css/custom.css` or the component's module CSS.
35
-
- For contributor workflow: create descriptive branch names, run `npm run build` locally if you modify configuration or dependencies, and ensure linting/formatting stays consistent with Prettier defaults.
36
31
- Deployment is handled by GitHub Actions, but manual deploys use `USE_SSH=true GIT_USER=<github-username> npm run deploy` as documented in `README.md`.
37
32
- When embedding videos, copy them to `static/vid/` and reference them via HTML `<video>` tags in MDX rather than external hosts (keeps docs offline-friendly).
- File download endpoints return binary bodies; use the response content-type to handle them.
15
15
- Path parameters are shown inline in the endpoint URL.
16
16
- Request/response examples are the canonical shapes; omit optional fields you do not need.
17
+
- Errors have the following schema:
18
+
19
+
```
20
+
{
21
+
"error": "Human-readable error message",
22
+
"error_info": {
23
+
"cause": "Human-readable cause (defaults to error if not set)",
24
+
"remediation": "Suggested fix or next step",
25
+
"status": integer,
26
+
}
27
+
}
28
+
29
+
```
17
30
18
31
19
32
Use `/api/workers/...` for worker-only targets (experiment-scoped jobs/logs) and `/api/units/...` when the leader is also a valid target; both accept `$broadcast` where supported.
Copy file name to clipboardExpand all lines: user-guide/03-Extending your Pioreactor/02-Calibrations/08-hardware-calibrations.md
+27-27Lines changed: 27 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,13 +4,6 @@ slug: /hardware-calibrations
4
4
hide_table_of_contents: true
5
5
---
6
6
7
-
import AssemblyInstructionBlock from '@site/src/components/AssemblyInstructionBlock';
8
-
import Highlight from '@site/src/components/Highlight';
9
-
import Admonition from '@theme/Admonition';
10
-
11
-
import * as colors from '@site/src/components/constants';
12
-
13
-
14
7
Hardware calibrations serve as a method to get accurate performance from your Pioreactor.
15
8
16
9
@@ -20,14 +13,21 @@ Hardware calibrations serve as a method to get accurate performance from your Pi
20
13
This is optional, but can really help stirring performance. Creating a stirring calibration is also very easy, so we recommend it.
21
14
:::
22
15
23
-
1. Start by filling a Pioreactor vial about 3/4th with water, and place the stirbar inside. Close with lid. Place into the Pioreactor.
24
-
1. We'll perform this routine through your computer's command line. Need help [accessing it](/user-guide/accessing-raspberry-pi)?
25
-
2. Enter **`ssh pioreactor@<insert unit name>.local`**.
26
-
* For example, to calibrate on our Pioreactor named _worker3_, we typed **`ssh pioreactor@worker3.local`**.
27
-
* The default password is `raspberry`.
28
-
2. After SSHing into your Pioreactor, enter `pio calibrations run --device stirring`.
29
-
4. The Pioreactor will increment the voltage applied to the motor, and record the RPM. After it's done, it will collect this data into a calibration curve, and store it locally.
30
-
4. At the end, you'll be prompted to set this as the "active" calibration. Select "Yes".
16
+
You'll need:
17
+
18
+
1. A vial
19
+
2. A stir bar
20
+
3. Liquid (water is fine)
21
+
22
+

23
+
24
+
1. In the **Protocols** page, choose your Pioreactor and select the **stirring** device.
25
+
2. Click **Run protocol** for **DC-based stirring calibration**.
26
+
3. Follow the on-screen flow:
27
+
1. Insert a vial with a stir bar and the liquid volume you plan to use.
28
+
2. Confirm stirring is off before starting.
29
+
3. Let the protocol step through duty cycles while it records RPM.
30
+
4. When the protocol finishes, save the calibration as active if prompted. Otherwise, set it active later from the **Calibrations** page.
31
31
32
32
You're done! Your stirring RPM should be much more responsive now.
33
33
@@ -43,24 +43,24 @@ There are three pumps on the Pioreactor: media, alt-media, and waste. You don't
43
43
2. An accurate weighing scale, with accuracy of 0.1g or better.
44
44
3. Container of water
45
45
46
+

47
+
46
48
47
49
:::tip
48
50
[Supplying external power](/user-guide/external-power)? Make sure to plug in your external power **before** pump calibration!
49
51
:::
50
52
51
53
52
-
<AssemblyInstructionBlock title="Calibrating the pumps" images={["experiments/turbidostat/ssh_into_unit.png","experiments/turbidostat/run_pump_calc.png"]}>
53
-
54
-
55
-
1. We'll perform this routine through your computer's command line. Need help [accessing it](/user-guide/accessing-raspberry-pi)?
56
-
2. Enter **`ssh pioreactor@<insert unit name>.local`**.
57
-
* For example, to calibrate on our Pioreactor named _worker3_, we typed **`ssh pioreactor@worker3.local`**.
58
-
* The default password is `raspberry`.
59
-
3. To calibrate the `media_pump`, enter `pio calibrations run --device media_pump`. Likewise for `waste_pump` and `alt_media_pump.`
60
-
4. Follow the prompts to calibrate your pump.
61
-
4. At the end, you'll be prompted to set this as the "active" calibration. Select "Yes".
62
-
63
-
</AssemblyInstructionBlock>
54
+
1. In the **Protocols** page, choose your Pioreactor and select the pump device you want to calibrate (for example `media_pump`, `waste_pump`, or `alt_media_pump`).
55
+
2. Click **Run protocol** for **Duration-based pump calibration**.
56
+
3. Follow the on-screen flow:
57
+
1. Review the safety steps for keeping liquids away from the Pioreactor hardware.
58
+
2. Name the calibration.
59
+
3. Enter the target volumes to calibrate around (comma-separated values, in mL).
60
+
4. Optionally adjust PWM settings.
61
+
5. Place both tubing ends in the water container and prime the pump until the tubing is fully filled.
62
+
6. For each dispense step, hold the outflow tube above your vial or graduated cylinder, run the pump for the prompted duration, and record the measured volume. Repeat until the protocol completes.
63
+
4. When the protocol finishes, save the calibration as active if prompted. Otherwise, set it active later from the **Calibrations** page.
0 commit comments