Readiness report

OctoPrint 3D Printer Control Station · 2026-09-03 02:20 · complete · 24 searches, 11 pages fetched

Download PDF

Cybersecurity — software & network: Do not place on an open network · 6 findings

Details in the Cybersecurity section of the report below.

Readiness: OctoPrint 3D Printer Control Station

Verdict: Ready with caveats · 2026-09-03 · est. parts cost $266–$806 (the 3D printer itself is $169–$649 of that; the control station on its own is roughly $97–$157) Cybersecurity — software & network: Do not place on an open network

This is the cold check for this lab — there is no previous report, so everything below is the baseline the next check will measure drift against. The station is almost entirely commodity hardware and every required part can be ordered today: the Raspberry Pi 4 Model B is in stock at $55.00, the official 5.1 V / 3 A power supply at $8.00, and the printer cable at $2.26. Two of the snapshot's example part numbers are not catalog numbers and were replaced by their catalog siblings (details in Substitutes). The one real problem is the optional Raspberry Pi Camera Module 3, which is out of stock at every authorized distributor checked with 9–26 week factory lead times; the snapshot itself accepts any UVC USB webcam instead, and those are plentiful. Three items are cheap and in stock but arrive with one unverified attribute each — the power supply's output connector, the cable's shielding, and UVC compliance of any specific webcam — none of which blocks the build, all of which the instructor should confirm at the cart.

Action required

Part Problem Recommended action
Raspberry Pi Camera Module 3 (SC0872 / SC1223) Zero stock at every ECIA-authorized distributor checked — Newark 0, Mouser 0 (9-week factory lead), DigiKey 0 (26-week factory lead). Supply-chain risk rated High for SC1223. The camera is optional, and the snapshot accepts any UVC USB webcam. Buy a USB webcam instead ($14.99–$59.99 retail) after confirming UVC/MJPEG support on the seller's product page — see Substitutes. If the CSI module is required for the exercise, order against a 9-week lead time.
Raspberry Pi 15.3W USB-C PSU (KSA-15E-051300HU) Not a catalog number — no DigiKey record and no ECIA-authorized distributor lists it. Order Raspberry Pi SC0445 instead ($8.00, 2931 in stock). Confirm the output connector is USB-C (Pi 4 / Pi 5) or Micro-USB (Pi 3 / Zero 2 W) to match your board — the evidence does not state it.
Qualtek 3021001-01M (USB A-to-B cable) Not a catalog number — no DigiKey record and no ECIA-authorized distributor lists it. Order the sibling 3021001-03 ($2.26, 3384 in stock), 0.914 m, inside the snapshot's 0.5–1.5 m band. Confirm it is shielded before ordering; the snapshot requires shielding against stepper and heated-bed noise.
SanDisk SDSQUA4-032G-GN6MA (MicroSD) Not stocked through authorized electronics distribution — the only ECIA listing is Avnet at 0 stock. Not a real obstacle: buy any Class 10 / UHS-I card of 8 GB or more at retail ($7.22–$21.60). The snapshot explicitly allows any such card.
Libre Computer AML-S905X-CC ("Le Potato") Retail listings could not be confirmed for the bare board; both vendor product pages returned no readable text. Optional alternative board only — the Raspberry Pi path is fully sourceable. Confirm price and stock directly with Libre Computer if you want this board.

Cybersecurity — software & network

Do not place on an open network — The image ships documented default SSH credentials and an unauthenticated camera stream on port 8080, and OctoPrint's own security policy declares exposure beyond a private trusted network unsupported — network isolation is the control here, not a patch.

Component Version How known Support status
OctoPrint (host application, web interface on ports 80/443) 1.11.8 inferred (OctoPi installs it with pip install $OCTOPI_OCTOPRINT_PACKAGE where OCTOPI_OCTOPRINT_PACKAGE="OctoPrint" carries no version (fetched/03-config, fetched/04-start_chroot_script), so a build takes whatever PyPI serves; 1.11.8 is the current PyPI release, uploaded 2026-06-23 (fetched/05-json)) —
OctoPi (operating system distribution) not determined unpinned (no release tag or commit is pinned; the module config and build script reference moving upstream archives (fetched/03-config, fetched/04-start_chroot_script)) —
Debian 13 (Trixie) — current Raspberry Pi OS Lite base 13 inferred (Raspberry Pi OS release notes: every entry from 2025-10-01 onward is 'Based on Debian Trixie release', latest entry 2026-06-18 (fetched/06-release_notes.txt)) supported until 2028-08-09
Debian 12 (Bookworm) — Le Potato image option and older OctoPi base 12 inferred (the snapshot records the Libre Computer base image as Debian 12 Bookworm / Debian 11 Bullseye, and OctoPi as a Raspberry Pi OS Lite / Debian derivative) extended/LTS support only until 2028-06-30
Debian 11 (Bullseye) — Le Potato image option and older OctoPi images 11 inferred (the snapshot records the Libre Computer base image as Debian 11 Bullseye / Debian 12 Bookworm) unsupported since 2024-08-14
Raspberry Pi OS Lite armhf (base disk image) not determined unpinned (downloaded through the rolling 'latest' alias https://downloads.raspberrypi.org/raspios_lite_armhf_latest; no image release is pinned (snapshot)) —
mjpg-streamer (webcam stream, port 8080) not determined unpinned (OCTOPI_MJPGSTREAMER_ARCHIVE points at https://github.com/jacksonliam/mjpg-streamer/archive/master.zip — a moving branch archive, not a release (fetched/03-config)) —
OctoPrint Python dependency stack (setup.py) not determined unpinned (62 dependency rows are version ranges; only 6 are exact pins and five of those apply only to Python < 3.9 (fetched/01-setup.py). pyproject.toml declares no project dependencies at all (fetched/02-pyproject.toml)) —
Python 3 runtime (virtualenv at /home/pi/oprint) not determined not determined (the build creates the virtualenv from the image's system python3 (python3 -m virtualenv --python=python3 oprint, fetched/04-start_chroot_script); OctoPrint 1.11.8 requires >=3.7,<3.14 (fetched/05-json)) —
CustomPiOS (image build framework) not determined unpinned (cloned with git clone and no tag or commit hash (snapshot)) —
Component Finding Severity Fix available?
Debian 11 (Bullseye) The Le Potato build path and any older OctoPi image still on Debian 11 Bullseye run an operating system whose security support ended on 2026-08-31, so those stations stop receiving security fixes entirely. posture Yes — build on the Debian 12 (Bookworm) or Debian 13 (Trixie) image instead; Libre Computer publishes a Debian 12 image for the AML-S905X-CC and Raspberry Pi OS Lite is already on Trixie.
mjpg-streamer (webcam stream) The camera stream is served on port 8080 and through the /webcam/ proxy path with no authentication recorded anywhere in the sources, so anyone who can reach the station on the network can watch the printer. posture Mitigation only — keep the station on an isolated or segmented lab network and block port 8080 at the reverse proxy or the network edge; there is no authentication option to switch on.
OctoPi / SSH The image ships with a published default login (user pi, password raspberry) and SSH listening on port 22, so anyone on the same network who knows the documented default can log into the station until the password is changed. posture Mitigation only — change the password on first boot with sudo raspi-config (or preseed a password/SSH key before flashing) and verify it on every station before students connect one.
OctoPi image build The image build downloads the webcam streamer from a moving master.zip branch archive and the yq tool from whatever GitHub release is newest, with no version or checksum pinned, so nobody can say afterwards which code went into a given station. posture Mitigation only — pin OCTOPI_MJPGSTREAMER_ARCHIVE to a tagged release and record the build date and OCTOPI_COMMIT alongside each station.
OctoPrint OctoPi installs OctoPrint with no version constraint, so two images built on different days contain different releases of the network-facing application and the lab has no fixed version anyone can check or reproduce. posture Mitigation only — pin the version at build time (OCTOPI_OCTOPRINT_PACKAGE="OctoPrint==") or record the installed version per station, and re-check it after every rebuild.
OctoPrint Python dependency stack 62 of OctoPrint's dependency rows are open-ended version ranges rather than pins, so the library versions actually running on a station depend on the day it was imaged and cannot be determined from the project files. posture Mitigation only — capture pip freeze from the built image and re-check that list on each rebuild, rather than relying on the project's ranges.

What this means for your lab

Treat this station as an appliance that anyone on the same network can reach. As shipped, the OctoPi image has a published default login (user 'pi', password 'raspberry') for remote shell access, and the webcam stream on port 8080 has no password at all — so a person on the campus network could watch the printer's camera, and, if the default password has not been changed, log into the machine and send commands to the printer, including moving the head and heating the nozzle and bed. The web interface is reachable over plain HTTP on port 80, and the HTTPS option uses a self-signed certificate that will make every browser warn students to click through a security error. OctoPrint's own maintainers state that the software is built only for private, trusted networks and that putting it on the open internet is unsupported and dangerous. Practical steps before students use it: change the default password on first boot, put the station on an isolated or segmented lab network rather than the general campus network or the internet, never forward ports to it from outside, and talk to campus IT before connecting it. Build stations from a Debian 12 or Debian 13 based image — a Debian 11 (Bullseye) build no longer receives security updates at all. One more thing to know rather than to fix: because the image installs whatever version of OctoPrint and its libraries is current on the day it is built, two stations built months apart are not running the same software, so record what each one has and re-check it after every rebuild.

Not checked

  • tornado (OctoPrint web layer): the only exact pin available to check, 6.4.2, applies solely to Python 3.8 builds (python_version>='3.8' and python_version<'3.9'); a current build takes the range tornado>=6.5.1,<6.6 instead, and the version it resolves to was not determined this run — so the advisories recorded against 6.4.2 in the evidence do not describe this lab
  • OctoPrint Python dependency stack (62 range-specified rows): specified as ranges rather than pins; no exact version exists in the project to check against the advisory database
  • mjpg-streamer: installed from a moving master.zip branch archive; no version to check and no advisory database covers this source-only C project
  • CustomPiOS: unpinned git clone with no tag or commit hash recorded
  • Python 3 runtime: the virtualenv is built from the image's system python3; that version was not determined this run
  • Raspberry Pi OS Lite armhf image: downloaded through the rolling 'latest' alias, so no image release is pinned; only its Debian base was established
  • Image build APT packages (gawk, util-linux, qemu-user-static, git, p7zip-full, python3, jq, sudo) and the runtime apt set (nginx, haproxy, ffmpeg, avahi-daemon, imagemagick, avrdude): installed unpinned by apt; the versions depend on the distribution snapshot at build time and were not determined this run
  • Vagrant (> 1.9), VirtualBox, vagrant-nfs_guest, nfs-kernel-server, Docker builder image: build-host tooling only, never on the station; '> 1.9' is a minimum constraint, not a version, so no support-status lookup was possible
  • Development toolchain (ruff, djLint, prettier, pre-commit): development-only dependencies with no versions stated in the sources; not present on a student station
  • BrowserStack, PyVmMonitor, Sentry: hosted third-party services, not versioned software shipped with the lab

Parts

Part Spec/Package Status Stock Price Source
Raspberry Pi 4 Model B 2GB — snapshot MPN RASPBERRY PI 4B/2GB SBC, 85.00 mm x 56.00 mm, 5 V rail, 0 °C ~ 50 °C Active; ordered as SC0193(13) 1210 $55.00 DigiKey (Raspberry Pi SC0193(13))
Raspberry Pi 4 Model B 2GB — DigiKey keyword match SC0193(11) SBC 1.5 GHz 4-core 2GB, 85.00 mm x 56.00 mm Active; stock not reported — $55.00 DigiKey (Raspberry Pi SC0193(11))
Libre Computer AML-S905X-CC ("Le Potato") — alternative SBC SBC, Pi-3 footprint 85 mm x 56 mm, 5 V at 2.0–2.5 A not verified — bare board not priced in evidence — $64.99 (bundle with case) eBay listing (bundle, not the bare board)
MicroSD card — snapshot MPN SDSQUA4-032G-GN6MA MicroSDHC/SDXC, Class 10 / UHS-I / A1, >= 8 GB 0 stock at authorized distribution; readily available at retail 0 (ECIA) $21.60 Sweetwater (retail; $7.22 at Circuit Specialists)
SBC power supply — snapshot MPN KSA-15E-051300HU 90–264 VAC in; 5.1 V, 3 A, 15 W out; 45 x 45 x 27 mm Active; ordered as SC0445 2931 $8.00 DigiKey (Raspberry Pi SC0445)
Raspberry Pi Camera Module 3 — snapshot MPN SC0872 CSI ribbon camera module hard to obtain — 0 stock, 9-week factory lead (Mouser) 0 $25.00 (Mouser), $27.25 (Newark) ECIA authorized distributors; no stock anywhere
Raspberry Pi Camera 3 — DigiKey record SC1223 CSI ribbon camera module hard to obtain — 0 stock, 26-week factory lead (DigiKey); supply-chain risk High 0 $25.00 DigiKey (out of stock)
3D printer USB cable — snapshot MPN 3021001-01M USB 2.0 A plug to B plug, 0.5–1.5 m, shielded required Active; ordered as 3021001-03 (0.914 m) 3384 $2.26 DigiKey (Qualtek 3021001-03)
Consumer FDM 3D printer Serial G-code controller (Marlin/Repetier/Smoothieware), USB virtual serial, 115200 or 250000 baud readily available at retail; serial G-code support not verified per model — $179.00 MatterHackers (Creality Ender-3 V3 SE); band $169.00–$649.00
MicroSD reader/writer for the flashing workstation USB 3.0 SD/microSD reader-writer readily available — $9.99 Iogear (GFR304SD); band $9.99–$29.99
Flashing host workstation (PC) Any Windows/macOS/Linux PC running Raspberry Pi Imager, Etcher or dd not checked — — assumed institutional equipment, not a purchased line

Substitutes

For part Substitute Differences Verified Judgment
RASPBERRY PI 4B/2GB (SC0193(11), no stock figure reported) Raspberry Pi SC0193(13) — "RASPBERRY PI 4 DUAL RAM VARIANT", $55.00, 1210 in stock Same manufacturer, same Pi 4 Model B family, identical board outline 85.00 mm x 56.00 mm, identical $55.00 price. "Dual RAM variant" means the board ships with RAM from either of two sources; the capacity is not stated. verified: form factor / board outline (DigiKey parametrics, 85.00 mm x 56.00 mm on both), Pi 4 Model B family and Active lifecycle (DigiKey descriptions), price and stock. not verified: RAM capacity — the evidence never states 2GB. Acceptable — confirm the RAM option at the cart.
KSA-15E-051300HU (no catalog record) Raspberry Pi SC0445 — "AC/DC WALL MNT ADAPTER 5.1V 15W", $8.00, 2931 in stock 5.1 V output sits inside the required 5.0–5.25 V window; 3 A max meets the top of the required 2.5–3.0 A; 90–264 VAC input exceeds the required 100–240 VAC, which is acceptable. Same manufacturer. verified: output voltage, output current, wattage, AC input range and physical size (DigiKey parametrics). not verified: that SC0445 is the same physical unit as KSA-15E-051300HU; and the output connector type (USB-C vs Micro-USB), which DigiKey's parameters do not state. Acceptable on electrical specification — confirm the connector matches your board.
Qualtek 3021001-01M (no catalog record) Qualtek 3021001-03 — "CBL USB2.0 A PLUG TO B PLUG 3'", $2.26, 3384 in stock Length 0.914 m instead of 1.0 m, inside the snapshot's allowed 0.5–1.5 m band. Same manufacturer, same series, same connector pair, same USB 2.0 standard. verified: connector pair (A plug to B plug) and cable length from the DigiKey description; Active lifecycle, price and stock. not verified: shielding — DigiKey returned no parameters block and the description does not state it, while the snapshot requires a shielded cable. Acceptable on connectors and length — confirm shielding on the datasheet, or use any equivalent shielded USB 2.0 A-to-B cable.
Raspberry Pi Camera Module 3 (SC0872 / SC1223, 0 stock everywhere) Generic USB UVC webcam — e.g. Inland iC780 Full HD 1080p, $14.99 (Micro Center) or PiShop 1080p Full-HD WebCam, $39.95 Connects to a USB Type-A host port instead of the CSI ribbon connector, drawing from the 5 V USB bus (snapshot allows up to 500 mA) rather than the 3.3 V CSI interface. This is a different interface, but the snapshot explicitly permits it, so it is not a footprint hard stop. In stock at retail and cheaper at the low end. verified: retail price and seller for each listing (shopping results this run). not verified: UVC / MJPEG compliance of any specific listing — the one claim the swap hinges on. The product-page fetch was blocked, and shopping results are redirect URLs, not product pages. Plausible, unverified — confirm UVC/MJPEG support on the seller's own product page before ordering.

Verify any substitute against its datasheet or the seller's product page before ordering — the comparisons above rest only on the evidence gathered in this check.

Other dependencies

  • Fabrication: none required. The snapshot records no PCB layouts, Gerber files, schematics or STL/STEP files — the station is built entirely from commercial off-the-shelf modules and a pre-manufactured printer. Nothing to check.
  • Raspberry Pi OS download host (https://downloads.raspberrypi.org/) — reachable. The release-notes file at this host was fetched successfully during this check.
  • Upstream Git repositories — both reachable. github.com/OctoPrint/OctoPrint listed 35 entries at its root and github.com/guysoft/OctoPi listed its src/modules/octopi directory during this check.
  • OctoPi distribution download endpoints — not checked. No reachability evidence was gathered for octopi.octoprint.org/latest, the GitHub releases mirror, octopi.gnethomelinux.com, the unofficialpi.org 32-bit and 64-bit nightly build directories, or the two rpi-imager-octopi.json manifests. These are the links an instructor actually downloads the image from, so they are worth a manual click before a class.
  • Libre Computer image thread (hub.libre.computer/t/debian-12-bookworm-and-11-bullseye-for-libre-computer-boards/230) — not checked.
  • Documentation and community sites — not checked: docs.octoprint.org, plugins.octoprint.org, community.octoprint.org, octoprint.org/security.

Watch list

  • Raspberry Pi Camera Module 3 — the only part already in trouble. Zero stock at Newark, Mouser and DigiKey with 9-week and 26-week factory lead times and a High supply-chain risk rating on SC1223. Expect it to still be scarce at the next check; the USB webcam path is the durable answer.
  • Raspberry Pi 4 Model B — SC0193(11) returned no stock figure at all this run, and the orderable line is the dual-RAM SKU SC0193(13). Pi 4 board availability and SKU naming have moved before; re-confirm which SC0193 variant is stocked and what RAM it carries.
  • SanDisk SDSQUA4-032G-GN6MA — already at zero stock across authorized distribution and rated "Med" supply-chain risk. It will likely stay a retail-only purchase; watch that the Class 10 / UHS-I retail price band stays near $7–$22.
  • Libre Computer Le Potato — could not be priced from a primary source this check. If the alternative board matters to the course, establish a real supplier and price before the next run so there is a baseline to compare.
  • Consumer 3D printer — the retail band ($169–$649) is stable, but the risk is compatibility rather than price: new consumer models increasingly ship closed firmware without a serial G-code USB port. Confirm serial G-code support for whichever model the program standardises on.