FOSSASIA PSLab Pocket Science Lab
This lab introduces students to open-source hardware instrumentation and mixed-signal test and measurement using the FOSSASIA PSLab (Pocket Science Lab) platform. Students explore the design and operation of a multifunction laboratory instrument that combines a multichannel digital oscilloscope, logic analyzer, waveform and PWM generator, programmable voltage and current sources, frequency counter, and capacitance meter. Through hands-on experimentation, students measure analog and digital signals, characterize analog front-end circuits featuring operational amplifiers and programmable gain amplifiers, and observe split-rail power generation using charge pump inverters and doublers. Working across hardware, firmware, and Python software interfaces, learners gain practical experience in data acquisition, embedded instrument control, sensor interfacing, and electronic circuit debugging.
Uploaded by demo on 2026-09-03 · ready · Electronics · Original source ↗
Files: pslab_hardware_README.md · pslab_python_README.md · pyproject.toml · requirements.txt
Readiness checks
-
complete 2026-09-03 15:58 🛡 Cybersecurity: Review before networking · 8 findings 41 searches · 12 pagesview · PDF
Latest report — 2026-09-03 15:58
Readiness: FOSSASIA PSLab Pocket Science Lab
Verdict: Ready with caveats · 2026-09-03 · est. parts cost $40–$60 per board (distributor single-unit pricing, excluding the bare PCB and the one-time programmer) Cybersecurity — software & network: Review before networking
This is the cold check — the first readiness report for this lab, so it establishes the baseline every future check will measure drift against. Every part on the board is buyable today and nothing is priced unreasonably: fifteen of the bill-of-materials lines came back Active and in stock, several with six-figure inventories. Three things keep this from a plain "Ready". The PICkit 3 programmer the lab requires is obsolete with zero stock at every authorized distributor checked, and the replacement the lab's own notes suggest (PICkit 4) is equally obsolete — you need a PICkit 5 at $79.68. The TC1240A charge pump is on Last Time Buy, so it is comfortable today and gone tomorrow. And the lab's written parts list disagrees with the v6 board file this run fetched — on the USB bridge's package, the fuse rating, and whether the board even has the manual amplitude knob and DC power jack the documentation describes. Settle which board revision you are building before you place an order.
Action required
| Part | Problem | Recommended action |
|---|---|---|
| PICkit 3 (PG164130) | Obsolete. Zero stock at DigiKey (14-week factory lead), RS and Mouser both out of stock — no authorized distributor has any. | Buy the PICkit 5 (PG164150), $79.68, 1,691 in stock. One per class, not per board. Do not order the PICkit 4 — it is obsolete too. |
| TC1240A (TC1240AECHTR) | Last Time Buy. 12,156 pieces remain and there will be no restock. | Buy now for the full class if you build soon; otherwise design in LM2665M6/NOPB ($1.36, 48,207 in stock), which matches on package, switching frequency and supply range. |
| 74HC126 (SN74HC126PW) | The exact tube part is Obsolete ($0.94, 3,530 left). | Order SN74HC126PWR instead — $0.40, 12,073 in stock, same TI device and same 14-TSSOP package, differing only in reel-versus-tube packaging. |
| LDL212PU50R | Active, but DigiKey stock is zero. | Not a shortage — order from Mouser (8,437 in stock at $0.51) or Rochester (422 at $0.3063). ECIA rates its lifecycle risk Low. |
| Protection fuse | The lab's part number 0ZCJ0050FF2E does not exist at DigiKey or any ECIA distributor. | The board file names 0ZCJ0025FF2E — $0.21, 105,105 in stock. Note it holds 250 mA and trips at 500 mA, not the 0.5 A hold the lab text specifies. |
| USB Type-C receptacle | The board's part U262-161N-4BVC11 returns no results at DigiKey and no ECIA distributor lists it. | Alternatives exist from $0.85, but none was verified against the board's land pattern. Match a candidate to the board footprint before ordering. |
| SI1 amplitude potentiometer | No part number in any source, and no potentiometer appears anywhere in the v6 board file. | Confirm which board revision the lab targets. On the v6 file this control does not exist and the amplitude is set digitally. |
| CP2102N package conflict | The lab specifies CP2102N-A02-GQFN24 (QFN-24, 4×4); the v6 board file specifies a QFN-20 3×3 variant. | Check the footprint on the board in hand before ordering — these are not interchangeable. |
Cybersecurity — software & network
Review before networking — The USB-only setup is low risk, but the optional Wi-Fi bridge has no documented authentication, the host dependencies are entirely unpinned with known high-severity flaws at their declared floors, and the desktop application is archived.
| Component | Version | How known | Support status |
|---|---|---|---|
| Microchip MPLAB X IDE | 3.35 | inferred (Recorded in the snapshot from the lab's pslab_hardware_README.md; that file was not re-fetched this run, so the version is not confirmed against a project file.) | — |
| Microchip MPLAB XC16 C Compiler | not determined | not determined (Referenced by name only in pslab_hardware_README.md; the lab states no version.) | — |
| pslab-bootloader (PIC24 bootloader source) | not determined | unpinned (Built from the repository's current default branch 'main'; the lab pins no revision. Repository active, last code push 2026-08-16 (GitHub API, fetched/04-pslab-bootloader).) | — |
| pslab-firmware (PIC24 firmware source) | not determined | unpinned (Built from the repository's current default branch 'main'; the lab pins no revision. Repository active, last code push 2026-08-28 (GitHub API, fetched/03-pslab-firmware).) | — |
| pslab-app (mobile/cross-platform application) | not determined | unpinned (Installed from the project's current sources; the lab pins no version. Repository active, last code push 2026-09-03 (GitHub API, fetched/02-pslab-app).) | — |
| pslab-desktop (desktop application) | not determined | unpinned (Archived, read-only repository; last code push 2024-02-06 (GitHub API, fetched/01-pslab-desktop). No version is pinned by the lab.) | — |
| Python (host environment) | 3.8 | inferred (pyproject.toml declares requires-python = '>=3.8' (fetched/05-pyproject.toml); 3.8 is the lowest version the project allows, not a pin.) | unsupported since 2024-10-07 |
| flit_core (build backend) | 3.4.0 | inferred (pyproject.toml [build-system] requires 'flit_core >=3.4,<4' (fetched/05-pyproject.toml); 3.4.0 is the floor of that range, not a pin.) | — |
| mcbootflash | 8.0.0 | inferred (Floor constraints only, and they disagree: pyproject.toml requires '>=8.0.0' (fetched/05-pyproject.toml) while requirements.txt requires '>=4.1.0' (fetched/06-requirements.txt). Both floors were checked.) | — |
| numpy | 1.16.3 | inferred (requirements.txt declares 'numpy >=1.16.3' (fetched/06-requirements.txt) and pyproject.toml lists numpy with no constraint; 1.16.3 is the floor, not a pin.) | — |
| scipy | 1.3.0 | inferred (requirements.txt declares 'scipy >=1.3.0' (fetched/06-requirements.txt) and pyproject.toml lists scipy with no constraint; 1.3.0 is the floor, not a pin.) | — |
| pyserial | 3.4 | inferred (requirements.txt declares 'pyserial >=3.4' (fetched/06-requirements.txt) and pyproject.toml lists pyserial with no constraint; 3.4 is the floor, not a pin.) | — |
| setuptools | 35.0.2 | inferred (requirements.txt declares 'setuptools >=35.0.2' (fetched/06-requirements.txt); 35.0.2 is the floor, not a pin.) | — |
| Silicon Labs CP210x VCP drivers | not determined | not determined (The lab links the vendor download page but states no version.) | — |
| Component | Finding | Severity | Fix available? |
|---|---|---|---|
| numpy | requirements.txt allows numpy as old as 1.16.3, a version with a null-pointer dereference and buffer-handling flaws that can crash or corrupt the analysis step when a lab feeds it malformed measurement data. — GHSA-5545-2q6w-2gh6, GHSA-f7c7-j99h-c22f, GHSA-6p56-wp2h-9hxr, GHSA-fpfv-jqm9-f5jm | high | Yes — update to 1.22 |
| setuptools | requirements.txt allows setuptools as old as 35.0.2, and that version carries an arbitrary file write and a command-injection flaw reachable when the packaging tools fetch a package URL, so a student environment built to the stated floor is exploitable during installation. — GHSA-5rjg-fvgr-3xxf, GHSA-cx63-2mw6-8hw5, GHSA-r9hx-vwmv-q579, GHSA-h35f-9h28-mq5c | high | Yes — update to 83.0.0 |
| scipy | requirements.txt allows scipy as old as 1.3.0, which has a memory-leak issue and a disputed use-after-free report; the practical effect on this lab is instability over long capture sessions rather than a break-in. — PYSEC-2023-114, PYSEC-2023-102 | low | Yes — update to 1.10.0 |
| ESP-01 Wi-Fi bridge (optional) | Fitting the optional ESP-01 module turns the board's serial control channel into a network service, and the lab's documentation states no listening ports, services, or credentials for it, so whether it asks for any authentication is unknown. | posture | Mitigation only — leave the ESP-01 socket unpopulated, or place the board on an isolated lab network segment and confirm the module's configuration before use |
| pslab-desktop (desktop application) | The desktop application's repository is archived and read-only with no code changes since 2024-02-06, so it will receive no further fixes of any kind. | posture | Mitigation only — use the maintained pslab-python client library or the pslab-app application instead |
| pslab-python (pyproject.toml) | Dependencies unpinned: 4 of 4 in pyproject.toml, three of them with no constraint at all, and its mcbootflash floor (>=8.0.0) contradicts requirements.txt (>=4.1.0), so the two install paths do not agree on what gets installed. | posture | Mitigation only — pin versions / use the lockfile |
| pslab-python (requirements.txt) | Dependencies unpinned: 5 of 5 in requirements.txt are floor constraints only, so two students installing on different days can get different versions and the environment has no fixed security state to check. | posture | Mitigation only — pin versions / use the lockfile |
| Python (host environment) | The project still permits Python 3.8, which stopped receiving security updates on 2024-10-07, so an environment built to the stated floor runs an unsupported interpreter. | posture | Mitigation only — install on a currently supported Python release and raise requires-python |
What this means for your lab
As shipped, this instrument is a USB device: the board talks to the host over a serial connection and nothing is exposed to the network, so a plain USB setup is low risk. That changes if you fit the optional ESP-01 Wi-Fi module, which puts the board's control channel on the network; the project's documentation does not say what port it opens or whether it asks for a password, so we cannot tell you it is protected. Treat it as unprotected until you have checked: leave the ESP-01 socket empty unless you need wireless, and if you do need it, ask campus IT for an isolated segment rather than the general campus Wi-Fi. On the host side, the Python client library does not pin the versions of the packages it installs, so what students end up with varies by install date. The oldest versions the project still allows are genuinely unsafe - setuptools 35.0.2 can be tricked into writing files and running commands during installation - and Python 3.8, which the project still permits, stopped receiving security updates in October 2024. Install on a current Python and let pip fetch current numpy, scipy and setuptools rather than the stated minimums, and prefer the maintained client library or mobile app over the desktop application, whose code has been archived and unchanged since February 2024.
Not checked
- Microchip MPLAB XC16 C Compiler: the lab states no version, and no advisory database covers Microchip compiler releases
- pslab-firmware and pslab-bootloader (C sources): no vulnerability database covers vendor C firmware sources, and the lab pins no released revision
- pslab-app (Dart/Flutter application): the lab pins no version and no dependency manifest for it was fetched this run
- pslab-desktop (JavaScript application): archived; the lab pins no version and no dependency manifest for it was fetched this run
- Silicon Labs CP210x VCP drivers: version not stated, and vendor driver packages are not covered by an advisory database
- ESP-01 module firmware: the lab's materials do not state which firmware the module runs
- Installed versions of the pslab-python dependencies: every declared dependency is a floor constraint, so no exact installed version exists; the declared floors were checked against OSV instead
- mplab 3.35: support status: endoflife.date has no such product
Parts
Package suffixes matter: they encode the physical footprint, and a part in the wrong package will not fit the board. Where the lab's documentation left a package unstated, this run resolved it from the v6 board file (docs/components/BillOfMaterials.csv, pslab-v6 branch), fetched this session.
Microcontroller and Digital Logic
| Part | Spec/Package | Status | Stock | Price | Source |
|---|---|---|---|---|---|
| PIC24EP256GP204-I/PT | 16-bit MCU, 256 KB Flash, 44-TQFP (10×10), Vdd 3–3.6 V | Active — readily available | 458 | $4.54 | DigiKey (Microchip) |
| SN74HC126PW | Quad 3-state buffer, 14-TSSOP, 2–6 V | Obsolete — order the reel variant | 3,530 | $0.94 | DigiKey (TI) |
Analog Front-End, Data Conversion, and Signal Conditioning
| Part | Spec/Package | Status | Stock | Price | Source |
|---|---|---|---|---|---|
| MCP6S21-I/SN | SPI programmable gain amp, 8-SOIC, 2.5–5.5 V. Qty 2 per board (U14, U18) per the board file | Active — readily available | 423 | $1.49 | DigiKey (Microchip) |
| MCP4728T-E/UN | 4-ch 12-bit I2C DAC, 10-MSOP, 2.7–5.5 V | Active — readily available | 20,125 | $2.50 | DigiKey (Microchip) |
| TL082IDR | Dual JFET-input op-amp, 8-SOIC, 10–30 V span | Active — readily available | 1,622 | $0.47 | DigiKey (TI) |
| LM324APT | Quad op-amp, TSSOP-14 (board footprint), 3–30 V | Active — readily available | 14,273 | $0.43 | DigiKey (ST) |
| TC7660EOA713 | Charge-pump inverter, 8-SOIC, Vin 1.5–10 V | Active — readily available | 13,383 | $1.06 | DigiKey (Microchip) |
| TC1240AECHTR | Charge-pump doubler, SOT-23-6, Vin 2.5–5.5 V, 40 mA, 80 kHz | Last Time Buy — end of life | 12,156 | $1.11 | DigiKey (Microchip) |
The lab runs the TC7660 at the 5 V rail, well inside the standard part's 10 V ceiling. If the full 1.5–12 V range the lab text quotes is genuinely needed, TC7660SEOA713 covers it in the same 8-SOIC package — Active, $1.22, 2,304 in stock.
Power Regulation, Protection, and Support ICs
| Part | Spec/Package | Status | Stock | Price | Source |
|---|---|---|---|---|---|
| LDFM33PUR | 3.3 V LDO, DFN6 3×3 | Active — readily available | 1,625 | $0.89 | DigiKey (ST) |
| LDL212PU50R | 5.0 V LDO 1.2 A, 6-DFN 3×3, Vin ≤ 18 V | Active — zero at DigiKey, in stock elsewhere | 0 at DigiKey; 8,437 Mouser, 422 Rochester, 32 Arrow | $0.49 DigiKey; $0.51 Mouser | ECIA authorized-distributor check |
| CP2102N-A02-GQFN24 | USB-to-UART bridge, 24-QFN 4×4, 3–3.6 V | Active — readily available (see package conflict) | 5,868 DigiKey; 3,727 Mouser; 1,811 Arrow | $5.15 | DigiKey (Silicon Labs) |
| DS1307Z+ | I2C RTC, 8-SOIC, 4.5–5.5 V, battery 2–3.5 V | Active — readily available | 3,818 DigiKey; 4,627 Mouser; 779 Newark | $6.03 DigiKey; $5.41 Mouser | DigiKey / ECIA (ADI-Maxim) |
| SP0503BAHTG | 3-ch TVS ESD array, SOT-143, 5.5 V standoff | Active — readily available | 82,357 | $1.50 | DigiKey (Littelfuse) |
| 0ZCJ0050FF2E (as written in the lab docs) | 0.5 A PTC resettable fuse | Not found — no DigiKey result, no ECIA listing | — | — | — |
| 0ZCJ0025FF2E (the board file's actual part) | PTC resettable fuse, 1206, hold 250 mA / trip 500 mA | Active — readily available | 105,105 | $0.21 | DigiKey (Bel Fuse) |
The board file's own price column lists the DS1307Z+ at $3.69. That figure is stale; $6.03 at DigiKey or $5.41 at Mouser is current.
Electromechanical, Controls, Passives, and Expansion
| Part | Spec/Package | Status | Stock | Price | Source |
|---|---|---|---|---|---|
| SI1 amplitude potentiometer | PCB-mount potentiometer with a student-operated knob | not checked — no part number in any source, and no potentiometer row exists in the v6 board file | — | — | — |
| Status LED, blue — HSMR-C170-R0000 | 0805 SMD LED | Active — readily available | 9,893 | $1.00 | DigiKey (Broadcom) |
| Status LED, green — HSMQ-C170-T0000 | 0805 SMD LED | Active — readily available | 2,646 | $1.25 | DigiKey (Broadcom) |
| LTST-C190GKT (the lab's representative LED) | 0603 SMD green LED | Active — readily available | 1,332,607 | $0.14 | DigiKey (Lite-On) |
| Crystal, 32.768 kHz — representative ABS07-166-32.768KHZ-T | 32.768 kHz tuning fork, 12.5 pF load, for the DS1307Z+ | Active — representative part only; the board's exact crystal is not confirmed | 19,342 | $0.83 | DigiKey (Abracon) |
| Assorted passives (resistors, capacitors, diodes, inductors, transistors) | All 0603 unless noted. Caps: 12 pF ×3, 1 nF ×2, 10 nF ×4, 100 nF ×18, 1 µF ×3, 2.2 µF ×1, 10 µF ×7, 22 µF ×8 (10–16 V). Resistors: 18 Ω ×4, 200 Ω ×9, 1 kΩ ×5, 5.1 kΩ ×13, 10 kΩ ×31, 12 kΩ ×1, 30 kΩ ×1, 51 kΩ ×1, 100 kΩ ×1, 180 kΩ ×1, 200 kΩ ×7, 1 MΩ ×3. Diodes: 1N4148W ×2, BZV55B6V8 6.8 V zener ×2, K1N5817HW Schottky ×1. Inductors: 3.3 µH ×3, 4.7 µH ×1. Transistors: MMBT3904 ×1, MMBT3906 ×2 (SOT-23) | not checked individually — commodity parts; values and counts read from the v6 board file this run | — | roughly $10–$20 per board at single-unit pricing | v6 board file (counts); no individual lookups run |
| USB Type-C receptacle — U262-161N-4BVC11 | 16-position Type-C SMT receptacle | Not found — no DigiKey result, no ECIA listing. Alternatives unverified against the board footprint | — | alternatives from $0.85 | Google Shopping |
| External DC power input jack | PCB-mount DC connector | not checked — no part number in any source, and no DC jack row exists in the v6 board file (it carries a battery-cell connector and a CR1225 holder instead) | — | — | — |
| MicroSD card socket | Push-push SMD microSD socket, TF-015 footprint, no part number in the board file | Commodity — plentiful; land pattern not verified | — | $1.12 Molex 475710001 | Google Shopping (DigiKey seller) |
| ESP-01 socket — SSW-104-01-T-D | Samtec 2×4 female header, 2.54 mm | Active — available, thinnest stock of any part checked | 248 | $1.22 | DigiKey (Samtec) |
| ESP8266 ESP-01 module (optional) | ESP-01/ESP-01S Wi-Fi module, 3.3 V | Widely stocked at retail | — | $1.86–$5.49 | Google Shopping |
| Bluetooth module header socket | 2.54 mm female pin header, pin count not specified | Commodity — no distinct Bluetooth header in the v6 board file; family priced via SSW-114-01-T-D | 1,200 | $2.95 | DigiKey (Samtec) |
Programming and Toolchain Hardware
| Part | Spec/Package | Status | Stock | Price | Source |
|---|---|---|---|---|---|
| PICkit 3 (PG164130) | ICSP programmer/debugger, 6-pin 0.1" header | Obsolete — zero stock at every authorized distributor checked | 0 (DigiKey 14-week lead; RS and Mouser out of stock) | $47.95 listed, unavailable | DigiKey / ECIA (Microchip) |
| PICkit 4 (PG164140) — the lab's suggested replacement | ICSP programmer/debugger | Obsolete — zero stock at every authorized distributor checked | 0 (DigiKey 40-week lead) | $94.075 listed, unavailable | DigiKey / ECIA (Microchip) |
| PICkit 5 (PG164150) — recommended | ICSP programmer/debugger | Active — readily available | 1,691 | $79.68 | DigiKey (Microchip) |
Substitutes
| For part | Substitute | Differences | Verified | Judgment |
|---|---|---|---|---|
| SN74HC126PW (Obsolete) | SN74HC126PWR — $0.40, 12,073 in stock | Same TI device, same 14-TSSOP (0.173", 4.40 mm) package, same 2–6 V supply. The only difference is tape-and-reel versus tube packaging. Cheaper than the obsolete part. | Verified: package + width (DigiKey parametrics, both 14-TSSOP 0.173"/4.40 mm); supply range (both 2–6 V, covers the 3.3 V and 5.0 V rails). Nothing outstanding. | Acceptable — a direct swap. |
| SN74HC126PW (Obsolete) | MC74HC126ADR2G — $0.32, 1,137 in stock | onsemi equivalent, but 14-SOIC against the board's TSSOP-14 footprint. | Verified: package (DigiKey parametrics, 14-SOIC) against the board file footprint TSSOP-14 — they do not match. | Rejected — hard stop. Wrong footprint. |
| TC1240AECHTR (Last Time Buy) | LM2665M6/NOPB — $1.36, 48,207 in stock | Package SOT-23-6 = SOT-23-6. Switching frequency 80 kHz = 80 kHz. Input 2.5–5.5 V = 2.5–5.5 V. Output current 40 mA = 40 mA. Output 2×Vin, with an extra Vin/2 mode the TC1240A lacks. Temperature range quoted as −40 °C to 85 °C TJ rather than TA — no shortfall at this power level. $0.25 dearer. | Verified: package/footprint (DigiKey parametrics, both SOT-23-6); switching frequency (both 80 kHz, DigiKey parametrics); supply range (both 2.5–5.5 V, DigiKey parametrics); output current (both 40 mA). Not verified: pin assignment — the lab requires a matching pinout, and the parametrics give package and pin count but not pin order. | Acceptable, subject to a pinout check. Matches every constraint that could be checked; confirm the pin order against the LM2665 datasheet before ordering. |
| TC1240AECHTR (Last Time Buy) | MCP1259T-E/MF — $0.5544, DigiKey "MFR Recommended" | 10-DFN package against the board's SOT-23-6. | Verified: package (DigiKey substitution data, 10-DFN) against the board's SOT-23-6 — they do not match. | Rejected — hard stop. Wrong footprint, despite being the manufacturer's nominal recommendation. |
| LM324APT (if a TI part is preferred) | LM324APWR — $0.32, 18,947 in stock | Same 14-TSSOP footprint, 3–30 V supply, 1.2 MHz gain-bandwidth. Cheaper than the ST part. | Verified: package (DigiKey parametrics, 14-TSSOP 0.173"/4.40 mm, against the board file footprint TSSOP-14 4.4×5 mm P0.65 mm); supply range (3–30 V, covers single-rail and split operation). Not verified: pin assignment. | Acceptable. |
| LM324 — the common LM324DR | LM324DR — $0.28, 590,419 in stock | 14-SOIC against the board's TSSOP-14 footprint. | Verified: package (DigiKey parametrics, 14-SOIC) against the board file footprint TSSOP-14 — they do not match. | Rejected — hard stop. The cheapest and most plentiful result is the wrong footprint; do not let a parts search default to it. |
| PICkit 3 (PG164130, Obsolete) | PICkit 5 (PG164150) — $79.68, 1,691 in stock | The only in-stock ICSP programmer found. Microchip's own replacement chain runs PICkit 3 → PICkit 4 → PICkit 5. The lab permits any compatible Microchip ICSP programmer supporting the PIC24EP family. Roughly $32 dearer than the PICkit 3's last listed price. | Verified: obsolescence of both the PICkit 3 and the PICkit 4 (DigiKey lifecycle status plus the ECIA multi-distributor check — zero stock at every authorized distributor listed); current stock and price of the PICkit 5 (DigiKey); the manufacturer-recommended replacement chain (DigiKey substitution data this session). Not verified: explicit PIC24EP device support — Microchip's product page could not be fetched this session, so nothing in evidence states the supported device families. | Acceptable, subject to a device-support check. Confirm PIC24EP support on Microchip's device list before ordering. |
| PICkit 3 (PG164130, Obsolete) | PICkit 4 (PG164140) — $94.075 listed | The replacement the lab's own notes suggest. | Verified: lifecycle status Obsolete and zero stock at DigiKey (40-week lead), Richardson RFPD, RS and Mouser (ECIA check); ECIA lifecycle risk High, supply-chain risk High. | Rejected. Also obsolete and unobtainable — dearer than the PICkit 5 and not buyable. |
Verify any substitute against its datasheet and against your own board's footprint before ordering.
Other dependencies
- Ready-made PSLab boards — thin market. The only relevant retail listing found was a pre-order, "Pre-Order: Pocket Science Lab Version 2023", $103.28, from PSLab. No in-stock offer appeared. The Seeed Studio product page was fetched but returned only the site's export-compliance boilerplate, with no price or stock, so nothing can be said about Seeed's availability from evidence. Plan on fabricating rather than buying.
- PCB fabrication — 4 copper layers, Arduino Mega form factor, all components surface-mount on the top side. Not checked: no fabrication quotes were run this session. The Gerbers and drill files are absent from the upload and must be pulled from the
fossasia/pslab-hardwarerepository. - Board design files — the v6 bill of materials (
docs/components/BillOfMaterials.csv,pslab-v6branch) was fetched successfully this run and resolved the packages the lab's prose left unstated. The fetch returned 58 of the file's 61 rows; anything whose reference sorts afterU16— including the crystal rows — is not on the record, which is why the crystal above is a representative rather than the board's confirmed part. - External links — pslab.io and the five project repositories on GitHub. Four repositories were queried directly this run and all resolved; what they contain is judged in the Cybersecurity section above.
- Board-revision ambiguity — the lab's written parts list and the v6 board file disagree in several places: the USB bridge package (QFN-24 4×4 versus QFN-20 3×3), the fuse rating (0.5 A hold versus 250 mA hold / 500 mA trip), and the existence of the SI1 potentiometer and the DC power jack, neither of which appears in the board file. The board file also carries parts the lab text never mentions (an AMS1117-3.3 regulator, an MCP4822 DAC, a WS2812B RGB LED, three tactile switches). Resolve this before ordering.
Watch list
- TC1240A — Last Time Buy. Healthy stock today, but this part is on its way out and the next check should confirm whether the 12,156 pieces have started draining. The LM2665M6/NOPB substitute is the exit route.
- PIC24EP256GP204-I/PT — only 458 pieces at DigiKey and no ECIA-authorized distributor lists the part number, so this is effectively single-sourced. No substitution is permitted (the firmware is built for this device), which makes it the single most fragile line in the build.
- SSW-104-01-T-D (ESP-01 socket) — 248 pieces is the thinnest stock of anything checked. A class-sized order could clear it.
- MCP6S21-I/SN — 423 pieces, and the board needs two per unit, so roughly 211 boards' worth. No substitution permitted.
- PICkit programmers — the PICkit 3 and PICkit 4 are already obsolete. Watch whether the PICkit 5 stays available, since it is now the only route to flashing the board.
- USB Type-C receptacle — the board's specified part is unlisted at every distributor checked. Until an alternative is matched to the land pattern, this is an open sourcing question rather than a solved one.
- DS1307Z+ pricing — at $6.03 it is the most expensive chip on the board and well above the $3.69 the board file records, so it is worth re-pricing each check.
Snapshot What the lab depended on when it was uploaded — the baseline the readiness checks research against.
The FOSSASIA PSLab (Pocket Science Lab) is an open-source multifunction electronic test and measurement instrument that functions as an oscilloscope (3-channel, up to 2 MSPS), logic analyzer (4-channel, 4 MHz), programmable voltage source (three 12-bit outputs: ±3.3 V, ±5.0 V, 0 to 3.0 V), programmable current source (12-bit, 0 to 3.3 mA), frequency counter, capacitance meter, and waveform/PWM generator. The system operates on dual internal power rails: a 5.0 V primary rail derived from USB Type-C or an external DC power input jack (regulated via an STMicroelectronics LDL212PU50R LDO) and a 3.3 V digital/analog supply rail (regulated via an STMicroelectronics LDFM33PUR LDO). In addition, on-board switched-capacitor charge pumps generate an inverted negative rail (via a Microchip TC7660) and a doubled positive rail (via a Microchip TC1240A) to power the analog front-end op-amps for bipolar signal measurements ranging from ±10 mV to ±16 V. Host communication runs over USB Type-C via a Silicon Labs CP2102N USB-to-UART bridge, with optional wireless networking provided through an ESP8266 ESP-01 Wi-Fi header or Bluetooth module socket.
Bill of Materials
Microcontroller and Digital Logic
Microcontroller
- Identity: Microchip PIC24EP256GP204 (16-bit digital signal controller, 256 KB Flash, 32 KB RAM)
- Quantity: 1
- Footprint/package: Described only as PIC24EP256GP204 (standard Microchip 44-pin TQFP or QFN; specific package suffix not stated in the upload documentation).
- Electrical constraints: Operates from the 3.3 V supply rail (operating voltage range 3.0 V to 3.6 V); operates up to 70 MIPS.
- Substitution latitude: No substitution permitted. The firmware and bootloader are built specifically for the PIC24EP256GP204 microcontroller architecture and its peripheral register mapping.
- Operated control: No.
- Sourcing plan: distributor lookup: PIC24EP256GP204
Quad Bus Buffer
- Identity: Texas Instruments / NXP 74HC126 (Quad buffer/line driver with 3-state outputs)
- Quantity: 1
- Footprint/package: Described only as 74HC126 (typically SOIC-14 or TSSOP-14; specific package suffix not stated).
- Electrical constraints: CMOS logic operating across the 3.3 V / 5.0 V rail (operating supply 2.0 V to 6.0 V).
- Substitution latitude: Any 74HC126 or pin-compatible 74HCT126 / 74AHC126 quad buffer in the matching footprint.
- Operated control: No.
- Sourcing plan: distributor lookup: 74HC126
Analog Front-End, Data Conversion, and Signal Conditioning
Programmable Gain Amplifier (PGA)
- Identity: Microchip MCP6S21 (Single-channel SPI programmable gain amplifier)
- Quantity: 1
- Footprint/package: Described only as MCP6S21 (typically SOIC-8 or MSOP-8; specific package suffix not stated).
- Electrical constraints: Supply voltage range 2.5 V to 5.5 V (operates on the analog rail); provides SPI-controlled gains of 1, 2, 4, 5, 8, 10, 16, and 32 V/V for oscilloscope input scaling.
- Substitution latitude: No substitution permitted without rewriting the SPI command routines in the firmware.
- Operated control: No.
- Sourcing plan: distributor lookup: MCP6S21
Digital-to-Analog Converter (DAC)
- Identity: Microchip MCP4728 (4-channel, 12-bit voltage output DAC with EEPROM and I2C interface)
- Quantity: 1
- Footprint/package: Described only as MCP4728 (10-pin MSOP; specific package suffix not stated).
- Electrical constraints: Supply voltage 2.7 V to 5.5 V; drives the programmable voltage sources (PV1, PV2, PV3) and the 12-bit programmable current source.
- Substitution latitude: No substitution permitted; firmware communicates directly with the MCP4728 I2C command structure and internal EEPROM.
- Operated control: No.
- Sourcing plan: distributor lookup: MCP4728
Dual Operational Amplifier
- Identity: Texas Instruments TL082 (Dual JFET-input operational amplifier)
- Quantity: 1
- Footprint/package: Described only as TL082 (typically SOIC-8; specific package suffix not stated).
- Electrical constraints: JFET input stages for high input impedance; powered from split rails generated by the charge pumps.
- Substitution latitude: Any dual JFET-input operational amplifier in the matching pinout and package (e.g., TL072, LF353) capable of operating on the split supply rails.
- Operated control: No.
- Sourcing plan: distributor lookup: TL082
Quad Operational Amplifier
- Identity: Texas Instruments LM324 (Quad operational amplifier)
- Quantity: 1
- Footprint/package: Described only as LM324 (typically SOIC-14 or TSSOP-14; specific package suffix not stated).
- Electrical constraints: Single or split rail operation down to ground; used for buffering reference voltages and signal conditioning.
- Substitution latitude: Any industry-standard quad operational amplifier (e.g., LM324, LMV324) in the matching SMD package.
- Operated control: No.
- Sourcing plan: distributor lookup: LM324
Charge Pump Voltage Inverter
- Identity: Microchip TC7660 (Charge pump DC-to-DC voltage converter)
- Quantity: 1
- Footprint/package: Described only as TC7660 (typically SOIC-8 or MSOP-8; specific package suffix not stated).
- Electrical constraints: Input operating voltage 1.5 V to 12.0 V; inverts positive supply to provide negative supply rail for analog op-amps.
- Substitution latitude: Any pin-compatible 7660-type charge pump inverter (e.g., ICL7660, MAX1044) meeting the voltage and current requirements.
- Operated control: No.
- Sourcing plan: distributor lookup: TC7660
Charge Pump Voltage Doubler
- Identity: Microchip TC1240A (Positive doubling charge pump)
- Quantity: 1
- Footprint/package: Described only as TC1240A (typically SOT-23-6; specific package suffix not stated).
- Electrical constraints: Input operating voltage 2.5 V to 5.5 V; boosts rail voltage to provide positive headroom for analog stages.
- Substitution latitude: Must match the TC1240A pinout, switching frequency, and footprint.
- Operated control: No.
- Sourcing plan: distributor lookup: TC1240A
Power Regulation, Protection, and Support ICs
3.3 V Low-Dropout Linear Regulator
- Identity: STMicroelectronics LDFM33PUR (Very low drop linear regulator, 3.3 V fixed output)
- Quantity: 1
- Footprint/package: DFN6 (3x3 mm), indicated by the "PUR" suffix.
- Electrical constraints: Input voltage up to 16 V; fixed 3.3 V output at up to 500 mA / 1 A.
- Substitution latitude: Must match the ST DFN6 pinout and thermal pad configuration.
- Operated control: No.
- Sourcing plan: distributor lookup: LDFM33PUR
5.0 V Low-Dropout Linear Regulator
- Identity: STMicroelectronics LDL212PU50R (1.2 A low-dropout ultra-low noise linear regulator, 5.0 V fixed output)
- Quantity: 1
- Footprint/package: DFN-6L (3x3 mm), indicated by the "PUR" suffix.
- Electrical constraints: Input voltage up to 18 V; fixed 5.0 V output at up to 1.2 A.
- Substitution latitude: Must match the DFN-6L footprint and pinout.
- Operated control: No.
- Sourcing plan: distributor lookup: LDL212PU50R
USB-to-UART Bridge Controller
- Identity: Silicon Labs CP2102N-A02-GQFN24 (USBXpress single-chip USB-to-UART bridge)
- Quantity: 1
- Footprint/package: QFN-24 (4x4 mm).
- Electrical constraints: USB 2.0 full-speed interface; powered via USB 5 V VBUS with internal 3.3 V LDO; UART signals at 3.3 V logic levels up to 3 Mbaud.
- Substitution latitude: Must be CP2102N in the 24-pin QFN footprint.
- Operated control: No.
- Sourcing plan: distributor lookup: CP2102N-A02-GQFN24
Real-Time Clock (RTC)
- Identity: Maxim Integrated / Analog Devices DS1307Z+ (64 x 8 I2C real-time clock)
- Quantity: 1
- Footprint/package: 8-pin SOIC (150 mil), indicated by the "Z" package code.
- Electrical constraints: Operates from 5.0 V rail; connects via I2C bus; requires external 32.768 kHz crystal.
- Substitution latitude: Must be DS1307Z+ or exact register-compatible I2C equivalent.
- Operated control: No.
- Sourcing plan: distributor lookup: DS1307Z+
ESD Protection TVS Diode Array
- Identity: Littelfuse SP0503BAHTG (3-channel TVS diode array for ESD protection)
- Quantity: 1 (at least 1; protects USB lines and/or input pins)
- Footprint/package: SOT-143 (indicated by the "HTG" suffix).
- Electrical constraints: Reverse standoff voltage 5.5 V; clamp voltage under ESD transient; low capacitance.
- Substitution latitude: Any 3-channel TVS diode array with matching pin configuration in a SOT-143 package.
- Operated control: No.
- Sourcing plan: distributor lookup: SP0503BAHTG
Protection Fuse
- Identity: 0.5 A Fuse (described only as "0.5 A Fuse")
- Quantity: 1
- Footprint/package: Surface-mount footprint (typically SMD 1206 or 1812 PTC polyfuse; footprint not stated in text).
- Electrical constraints: Hold current 0.5 A (500 mA), trip current ≥ 1.0 A, voltage rating ≥ 6 V DC.
- Substitution latitude: Any 0.5 A resettable PTC fuse fitting the board footprint.
- Operated control: No.
- Sourcing plan: distributor lookup (representative example — sources give spec only): 0ZCJ0050FF2E
Electromechanical, Controls, Passives, and Expansion
SI1 Waveform Generator Manual Amplitude Potentiometer
- Identity: Manual potentiometer / trimmer for SI1 amplitude control (described in hardware documentation as "Manual amplitude control for SI1", adjusting output up to ±3 V)
- Quantity: 1
- Footprint/package: PCB-mount potentiometer (package and footprint not stated in upload files).
- Electrical constraints: Analog signal attenuator for the SI1 waveform generator channel (±3 V range).
- Substitution latitude: Must have a physically accessible user actuator (knob or thumbwheel) because students manually adjust signal amplitude during experiments. A set-once flat screw trimmer cannot substitute for a user-operated control.
- Operated control: YES (manual rotary control for SI1 amplitude).
- Sourcing plan: general web research: "What potentiometer part number and footprint is used for SI1 amplitude control in PSLab v6?"
Status Indicator LEDs
- Identity: On-board visual indicator LEDs (described in software README: "check that both the LEDs light up")
- Quantity: 2
- Footprint/package: Surface-mount LED (typically 0603 or 0805; package not stated in upload files).
- Electrical constraints: Forward voltage ~2.0 V to 3.3 V with series current-limiting resistors.
- Substitution latitude: Any SMD LED in the matching physical package.
- Operated control: No (visual indicator only).
- Sourcing plan: distributor lookup (representative example — sources give spec only): LTST-C190GKT
Crystal Oscillators
- Identity: Clock crystals (described in v2 revision history: "added voltage regulator and crystal oscillator"; required by DS1307 RTC and optionally PIC24 MCU)
- Quantity: At least 1 (32.768 kHz crystal for DS1307; MCU primary crystal if used)
- Footprint/package: SMD crystal package (unspecified in text).
- Electrical constraints: 32.768 kHz, 12.5 pF load capacitance for DS1307Z+.
- Substitution latitude: Standard 32.768 kHz tuning fork crystal matching footprint and load capacitance.
- Operated control: No.
- Sourcing plan: general web research: "What crystal oscillators are used on the FOSSASIA PSLab v6 board?"
Assorted Passives (Resistors, Capacitors, Diodes)
- Identity: Assorted resistors, capacitors, and diodes (described only as "Assorted resistors, capacitors & diodes")
- Quantity: Assorted (exact counts omitted from uploaded markdown documentation; external file docs/components/BillOfMaterials.csv was not provided in upload).
- Footprint/package: SMD (standard open-hardware 0805 or 0603 passives).
- Electrical constraints: Bypass capacitors (0.1 µF, 1 µF, 10 µF, rated ≥ 10 V), I2C pull-ups (4.7 kΩ), analog dividers, and clamping diodes.
- Substitution latitude: Standard commodity SMD passive components matching the schematic values.
- Operated control: No.
- Sourcing plan: general web research: "What are the exact passive component values in pslab-hardware docs/components/BillOfMaterials.csv?"
USB Type-C Connector
- Identity: USB Type-C Receptacle (described in v6 revision: "Added external power input, RTC module, SD Card slot, USB type C, ESP 01")
- Quantity: 1
- Footprint/package: Surface-mount USB Type-C female connector (typically 12-pin or 16-pin USB 2.0 Type-C; footprint not specified in text).
- Electrical constraints: USB 2.0 bus lines (D+, D-), 5.0 V VBUS power line, CC1/CC2 pins with 5.1 kΩ pull-downs.
- Substitution latitude: Must match the exact PCB pad pattern and through-hole shell shield mounting posts.
- Operated control: No (plug-in cable port).
- Sourcing plan: retail shopping search: "USB Type-C female SMD receptacle 16 pin"
External Power Input Jack
- Identity: External DC Power Input Jack (described in v6 revision: "Added external power input")
- Quantity: 1
- Footprint/package: PCB-mounted DC power connector (barrel jack or screw terminal; footprint not specified in text).
- Electrical constraints: DC power input feeding on-board linear regulators.
- Substitution latitude: Must match PCB land pattern and pin diameter.
- Operated control: No.
- Sourcing plan: general web research: "What is the connector part number for the external power input jack on PSLab v6?"
MicroSD Card Slot
- Identity: MicroSD Card Socket (described in v6 revision: "SD Card slot")
- Quantity: 1
- Footprint/package: SMD MicroSD card socket (push-push or push-pull; footprint not specified in text).
- Electrical constraints: 3.3 V SPI / SDIO interface lines to PIC24 MCU.
- Substitution latitude: Must physically match the PCB land pattern.
- Operated control: Yes (students insert/remove microSD memory cards for data logging).
- Sourcing plan: retail shopping search: "Micro SD card socket SMD PCB mount"
Wi-Fi Module Header Socket & ESP8266 Module (Optional Expansion)
- Identity: Espressif ESP8266 (ESP-01) Module and mating 2x4 female socket (described in documentation as "ESP8266 (ESP-01) - UART-TCP bridge")
- Quantity: 1 module, 1 header socket
- Footprint/package: 2x4 pin, 0.1 inch (2.54 mm) pitch through-hole female header; ESP-01 module.
- Electrical constraints: 3.3 V supply, 3.3 V UART signaling, peak current up to 300 mA during RF bursts.
- Substitution latitude: Standard ESP-01 or ESP-01S module; mating header must be 2x4 pin 2.54 mm pitch.
- Operated control: No.
- Sourcing plan: retail shopping search: "ESP8266 ESP-01 module and 2x4 2.54mm female header"
Bluetooth Module Header Socket
- Identity: Bluetooth module expansion header socket (described in v5 revision: "Added socket for external bluetooth module")
- Quantity: 1
- Footprint/package: Female pin header (typically 4-pin or 6-pin 0.1 inch / 2.54 mm pitch; pin count not specified in text).
- Electrical constraints: 3.3 V or 5.0 V power, UART TX/RX lines.
- Substitution latitude: Standard 0.1 inch (2.54 mm) female pin header matching board pin count.
- Operated control: No.
- Sourcing plan: retail shopping search: "female pin header 2.54mm pitch for Bluetooth module"
Programming and Toolchain Hardware
- In-Circuit Debugger / Programmer
- Identity: Microchip PICkit 3 In-Circuit Debugger / Programmer (Microchip Part Number: PG164130)
- Quantity: 1 (required tool to flash firmware/bootloader to the PIC24 MCU)
- Footprint/package: Standalone external programmer with 6-pin 0.1" ICSP connector.
- Electrical constraints: Interfaces with target at 3.3 V VDD; connects to MCLR, ICSPDAT, ICSPCLK.
- Substitution latitude: Compatible Microchip ICSP programmers supporting the PIC24EP family (e.g., PICkit 4, SNAP, MPLAB ICD 3/4).
- Operated control: External shop/bench programming tool.
- Sourcing plan: distributor lookup: PG164130
Software and network dependencies
Microchip MPLAB X IDE
- Name: Microchip MPLAB X IDE
- Source: http://www.microchip.com/mplab/mplab-x-ide
- Version: v3.35
- Where the version came from: stated in documentation (
pslab_hardware_README.md). - Version pinning: Pinned to major/minor version v3.35 in documentation.
- Manifest location:
pslab_hardware_README.md - Check plan: support-status lookup: Microchip MPLAB X IDE v3.35
Microchip MPLAB XC16 C Compiler
- Name: Microchip MPLAB XC16 Compiler
- Source: http://www.microchip.com/mplab/compilers
- Version: not stated
- Where the version came from: not stated (referenced by name only in
pslab_hardware_README.md). - Version pinning: Unpinned in documentation.
- Manifest location:
pslab_hardware_README.md - Check plan: not checkable: version not stated
PSLab PIC24 Bootloader
- Name: pslab-bootloader
- Source: https://github.com/fossasia/pslab-bootloader
- Version: not stated
- Where the version came from: not stated.
- Version pinning: Unpinned.
- Manifest location:
pslab_hardware_README.md - Check plan: not checkable: version not stated
PSLab Microcontroller Firmware
- Name: pslab-firmware
- Source: https://github.com/fossasia/pslab-firmware
- Version: not stated
- Where the version came from: not stated.
- Version pinning: Unpinned.
- Manifest location:
pslab_hardware_README.md - Check plan: not checkable: version not stated
PSLab Desktop and Mobile Application
- Name: pslab-app
- Source: https://github.com/fossasia/pslab-app
- Version: not stated
- Where the version came from: not stated.
- Version pinning: Unpinned.
- Manifest location:
pslab_hardware_README.mdandpslab_python_README.md - Check plan: not checkable: version not stated
Python Host Environment
- Name: Python
- Source: https://www.python.org
- Version: >= 3.8
- Where the version came from: pinned in pyproject.toml (
requires-python = ">=3.8"). - Version pinning: Minimum version constraint only (
>=3.8); no upper bound pinned. - Manifest location:
pyproject.toml - Check plan: support-status lookup: Python 3.8
flit_core Build Backend
- Name: flit_core
- Source: PyPI
- Version: >= 3.4, < 4
- Where the version came from: pinned in pyproject.toml (
requires = ["flit_core >=3.4,<4"]). - Version pinning: Constrained to range
>= 3.4, < 4. - Manifest location:
pyproject.toml - Check plan: vulnerability lookup: flit_core / PyPI / 3.4.0
mcbootflash (Python Microchip Bootloader Flashing Library)
- Name: mcbootflash
- Source: PyPI
- Version: >= 8.0.0 (in
pyproject.toml) / >= 4.1.0 (inrequirements.txt) - Where the version came from: pinned in pyproject.toml (
mcbootflash >= 8.0.0) and pinned in requirements.txt (mcbootflash >= 4.1.0). - Version pinning: Minimum floor constraints only; disagreement between pyproject.toml (
>= 8.0.0) and requirements.txt (>= 4.1.0). - Manifest location:
pyproject.tomlandrequirements.txt - Check plan: vulnerability lookup: mcbootflash / PyPI / 8.0.0
NumPy
- Name: numpy
- Source: PyPI
- Version: >= 1.16.3 (in
requirements.txt) / unpinned (inpyproject.toml) - Where the version came from: pinned in requirements.txt (
numpy >= 1.16.3); unpinned bare string inpyproject.toml. - Version pinning: Minimum floor constraint only in
requirements.txt; unpinned inpyproject.toml. - Manifest location:
requirements.txtandpyproject.toml - Check plan: vulnerability lookup: numpy / PyPI / 1.16.3
SciPy
- Name: scipy
- Source: PyPI
- Version: >= 1.3.0 (in
requirements.txt) / unpinned (inpyproject.toml) - Where the version came from: pinned in requirements.txt (
scipy >= 1.3.0); unpinned bare string inpyproject.toml. - Version pinning: Minimum floor constraint only in
requirements.txt; unpinned inpyproject.toml. - Manifest location:
requirements.txtandpyproject.toml - Check plan: vulnerability lookup: scipy / PyPI / 1.3.0
pySerial
- Name: pyserial
- Source: PyPI
- Version: >= 3.4 (in
requirements.txt) / unpinned (inpyproject.toml) - Where the version came from: pinned in requirements.txt (
pyserial >= 3.4); unpinned bare string inpyproject.toml. - Version pinning: Minimum floor constraint only in
requirements.txt; unpinned inpyproject.toml. - Manifest location:
requirements.txtandpyproject.toml - Check plan: vulnerability lookup: pyserial / PyPI / 3.4
setuptools
- Name: setuptools
- Source: PyPI
- Version: >= 35.0.2
- Where the version came from: pinned in requirements.txt (
setuptools >= 35.0.2). - Version pinning: Minimum floor constraint only (
>= 35.0.2). - Manifest location:
requirements.txt - Check plan: vulnerability lookup: setuptools / PyPI / 35.0.2
Silicon Labs CP210x VCP Drivers
- Name: Silicon Labs CP210x Windows Drivers
- Source: https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads
- Version: not stated
- Where the version came from: stated in documentation (
pslab_python_README.md). - Version pinning: Unpinned.
- Manifest location:
pslab_python_README.md - Check plan: not checkable: version not stated
Network Exposure and Host Access Configuration
- Network Exposure: The physical board includes an expansion socket for an Espressif ESP8266 (ESP-01) module used as an optional UART-to-TCP/Wi-Fi bridge operating in Access Point or Station mode ("PSLab also has space for an ESP-01 module for WiFi access with access point/station mode" in
pslab_hardware_README.md). Specific listening ports, services, and default credentials are not stated in the sources. - Host Access: Host communication is conducted over a local USB-to-UART serial interface (CP2102N). On Linux, access requires adding the user to the
dialoutgroup or installing a udev rule using the commandpslab installrun as root (pslab_python_README.md). On Windows, manual installation of Silicon Labs CP210x VCP drivers is required. The documentation does not instruct users to enable SSH or open any host web server interface.
- Network Exposure: The physical board includes an expansion socket for an Espressif ESP8266 (ESP-01) module used as an optional UART-to-TCP/Wi-Fi bridge operating in Access Point or Station mode ("PSLab also has space for an ESP-01 module for WiFi access with access point/station mode" in
External Downloads and Fabrication
Web Resources and Repository URLs
- Project Website: https://pslab.io
- Hardware Design Repository: https://github.com/fossasia/pslab-hardware
- Python Client Library Repository: https://github.com/fossasia/pslab-python
- Bootloader Repository: https://github.com/fossasia/pslab-bootloader
- Firmware Repository: https://github.com/fossasia/pslab-firmware
- Application GUI Repository: https://github.com/fossasia/pslab-app
- Microchip PICkit 3 Product Page: http://www.microchip.com/Developmenttools/ProductDetails.aspx?PartNO=PG164130
- Silicon Labs CP210x Driver Download: https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads
PCB Fabrication Specifications
- Layer Count: 4 copper layers (documented via the
output/Imagesrepository tree entry: "Images of the four copper layers"). - Form Factor / Dimensions: v6 uses the Arduino Mega form factor profile with all components surface-mounted on the top side (the original v1 was
SEELABLET, v3 was Arduino Uno profile, and v4 transitioned to Arduino Mega form factor). Physical board dimensions, drill files, and Gerber layers were stored indocs/drawingsandoutput/Gerber, which are absent from this upload. Fabricating the bare PCB requires retrieving the raw KiCad files (schematics/PSLab.pro) or Gerber zip packages directly from thefossasia/pslab-hardwareGit repository.
- Layer Count: 4 copper layers (documented via the