Readiness report
NASA JPL Open Source Rover · 2026-09-03 00:11 · complete · 76 searches, 15 pages fetched
Cybersecurity — software & network: Review before networking · 7 findings
Details in the Cybersecurity section of the report below.
Readiness: NASA JPL Open Source Rover
Verdict: Ready with caveats · 2026-09-02 · est. parts cost $1,900–$2,400 Cybersecurity — software & network: Review before networking
The rover is buildable today, and it is in better shape than at the last check: both problems that headlined the 2026-07-19 report have cleared. The Molex 1726750613 power header, previously out of stock everywhere on a 36-week lead, is back in stock at DigiKey, and the PPTC021LFBN-RC socket that needed a substitute is stocked again at 25,733 pieces — so the substitute the last report recommended is no longer needed. Every other line of the custom-PCB bill of materials that was checked is Active and in stock. The verdict stays at Ready with caveats, but for new reasons. One BOM line does not resolve to a real product: the 12 V regulator is listed as "Pololu D24V50F12 (#2855)", and Pololu item #2855 is in fact a 12 V 2.2 A regulator, well under the 5 A this rover's own specification calls for — that has to be settled before ordering. Beyond that, the two biggest cost centres, the RoboClaw motor controllers and the entire goBILDA chassis, come from single vendors with no authorised-distributor fallback, and the Molex header is stocked at exactly one warehouse. The cost estimate is not directly comparable with the last report's $1,250–$1,480: this check prices more of the goBILDA bill and corrects a wrong price the last report carried for the 5 V regulator.
Action required
| Part | Problem | Recommended action |
|---|---|---|
| Pololu D24V50F12 (#2855) | New since the last report. The BOM line is self-contradictory. Pololu item #2855 is the D24V22F12, 12 V at 2.2 A (input 12.7–36 V) — not a "D24V50F12", and no product by that name appeared anywhere in this check. The rover's own spec for this rail is 12 V at 5 A. | Settle the identity on Pololu's site before ordering. The nearest evidence-backed part found, the 12 V 4.5 A regulator at $31.95, still falls short of the stated ≥ 5 A requirement, so it is not a clean drop-in. |
| goBILDA chassis (57 lines) | Single-vendor. Six representative part numbers spanning motor, servo, ServoBlock, wheel, beam and fastener all returned no match at DigiKey and no ECIA-authorised distributor. | Order direct from goBILDA and budget lead time; there is no distributor fallback. Apply for the educational discount if eligible. |
| Basic Micro RoboClaw 2x7A (x3) | Single-vendor and protocol-locked — the ROS driver depends on RoboClaw's proprietary packet-serial protocol, so no substitute is possible. | Order direct from Basic Micro; vendor page reads In Stock at $79.95. Buy spares if the budget allows. |
| Molex 1726750613 (x6) | Resolved since the last report, but DigiKey is the only distributor holding stock (Newark, ICC, Heilind and Avnet all show zero). | Order all six at once rather than in stages. |
| goBILDA 5203-2402-0027 encoder spec | The vendor page states 751.8 PPR at the output shaft and 530 oz-in stall torque; the lab's own snapshot records 537.7 PPR and 258 oz-in. | Re-derive the encoder counts from the vendor page before setting the ROS launch parameters, or odometry will be wrong. |
Cybersecurity — software & network
Review before networking — No advisories could be checked because nothing in the stack is version-pinned, and the rover ships with SSH enabled and an auto-starting service that accepts drive commands over the local network with no documented access control.
| Component | Version | How known | Support status |
|---|---|---|---|
| Ubuntu LTS 24.04 (Noble Numbat) - documented target image | 24.04 | inferred (The lab's setup notes say to flash the latest Ubuntu LTS with Raspberry Pi Imager and name Noble as tested (snapshot); no image file or checksum is pinned.) | supported until 2029-05-31 |
| Ubuntu LTS 22.04 (Jammy Jellyfish) - alternative tested image | 22.04 | inferred (Listed in the setup notes as a tested release (snapshot).) | supported until 2027-06-01 |
| Ubuntu LTS 20.04 (Focal Fossa) - alternative tested image | 20.04 | inferred (Listed in the setup notes as a tested release (snapshot).) | extended/LTS support only until 2030-04-23 |
| ROS 2 Jazzy Jalisco (robotics middleware) | jazzy | inferred (Setup notes state 'In what follows, we assume ROS 2 Jazzy' (snapshot); installed with an unconstrained 'apt install ros-${ROS_DISTRO}-ros-base', so no package version is pinned.) | supported until 2029-05-31 |
| nasa-jpl/osr-rover-code (ROS packages osr_bringup, osr_control, osr_interfaces, osr_gazebo) | 0.0.0 | read from project (ROS/osr_control/setup.py (fetched/05-setup.py) declares version='0.0.0'; the repository itself is cloned with a bare 'git clone', with no tag or commit pinned.) | — |
| ROS 2 dependency set declared in package.xml | not determined | unpinned (37 dependencies across four fetched package.xml manifests, none carrying a version constraint - ROS package manifests do not express versions, so what gets installed is whatever the apt repository serves that day.) | — |
| Python packages installed by pip (adafruit-circuitpython-servokit, ina260, RPi.GPIO, smbus) | not determined | unpinned (Installed by a bare 'python3 -m pip install adafruit-circuitpython-servokit ina260 RPi.GPIO smbus' in the setup notes (snapshot); no requirements.txt or lockfile exists in the project.) | — |
| System and build packages installed by apt (git, python3-rosdep, python3-pip, python3-colcon-common-extensions, raspi-config, ros-${ROS_DISTRO}-joy) | not determined | unpinned (Bare 'apt install' commands in the setup notes (snapshot); versions are whatever the OS repository serves.) | — |
| Basic Micro RoboClaw 2x7A motor-controller firmware | 4.2.8 | inferred (The setup notes record roboclawtest.py reporting 'USB Roboclaw 2x7a v4.2.8' (snapshot); the firmware itself was not fetched.) | — |
| Component | Finding | Severity | Fix available? |
|---|---|---|---|
| nasa-jpl/osr-rover-code (ROS packages osr_bringup, osr_control, osr_interfaces, osr_gazebo) | The rover's own control code is installed with a bare 'git clone' at no tag or commit, so each class gets whatever is on the default branch that day and a lab that worked last term may not build this term. | posture | Mitigation only - clone a tagged release or record the commit hash the class was built against |
| osr_startup.service / ROS 2 DDS networking | The rover boots straight into a systemd service that launches the ROS 2 stack, which listens on local-network UDP and multicast for discovery and for the drive-command topics /cmd_pwm and /joy; the lab's own documentation records no authentication or access control on those topics. | posture | Mitigation only - keep the rover on an isolated segment and never run it on an open or shared campus network |
| Python packages installed by pip (adafruit-circuitpython-servokit, ina260, RPi.GPIO, smbus) | Dependencies unpinned: 4 of 4 Python packages are installed by a bare pip command with no requirements.txt or lockfile, so two builds a year apart run different code and neither can be checked for known vulnerabilities. | posture | Mitigation only - pin the four packages in a requirements.txt and install from it |
| ROS 2 dependency set declared in package.xml | Dependencies unpinned: 37 of 37 across the four package.xml manifests, so the rover's ROS 2 software has no fixed, checkable version set and no advisory lookup is possible against it. | posture | Mitigation only - record the ROS 2 distro and the apt package versions used by the class, and rebuild from that record |
| SSH server on the Raspberry Pi | The build instructions turn on SSH at imaging time so the rover can be reached headless over Wi-Fi, which means any machine on the same network can attempt to log in; the credentials are chosen by the builder, so the strength of that login is entirely down to what the student typed. | posture | Mitigation only - put the rover on an isolated network segment, require a strong unique password or key-only login, and clear it with campus IT before connecting |
| Ubuntu LTS 20.04 (Focal Fossa) - alternative tested image | One of the three Ubuntu releases the lab documents as tested, 20.04 Focal Fossa, left standard support on 2025-05-31 and now receives security updates only through Ubuntu Pro / ESM, so a rover built on it stops getting ordinary patches. | posture | Yes - update to 24.04 |
| Udev rules installed to /etc/udev/rules.d/ | The setup installs udev rules granting world read/write (0666) on the serial and input devices, so any local account on the Pi can drive the motors or read the gamepad, not just the rover's own user. | posture | Mitigation only - narrow the udev rules to the rover's user or group instead of 0666 |
What this means for your lab
Nothing here is a known break-in bug - no vulnerability database covers this software in a way that could be checked, which is not the same as it being clean. The real issue is reach. The rover is built to be logged into over Wi-Fi by design, and once it boots it automatically starts a service that listens on the local network for the messages that make its wheels turn; the lab's documentation describes no password or permission check on those driving messages. In practice that means anyone else on the same Wi-Fi - a shared campus, dorm or lab network - may be able to reach the rover, and the only door with a lock on it is the SSH login whose password the student chose during setup. Treat the rover as an unprotected device on whatever network you put it on: give it its own isolated network or a dedicated access point rather than the main campus Wi-Fi, insist on a strong unique password (not the classroom default everyone shares), and talk to campus IT before it goes on an institutional network. Two smaller housekeeping points: the software is installed without any version pinning at all, so a build that works this term may behave differently next term and cannot be security-checked; and if you image with Ubuntu 20.04 rather than the documented 24.04, you are on a release that has stopped receiving ordinary security updates.
Not checked
- ROS 2 dependency set declared in package.xml (37 dependencies): ROS package.xml carries no version constraints, so there is no exact version to match against an advisory database; no OSV lookup was possible.
- Python packages installed by pip (adafruit-circuitpython-servokit, ina260, RPi.GPIO, smbus): Unpinned - the project states no version, and a guessed version would produce a meaningless result.
- System and build packages installed by apt: Unpinned - versions come from whatever the OS repository serves at build time.
- Basic Micro RoboClaw 2x7A firmware v4.2.8: Vendor embedded firmware; no public advisory database covers it.
- nasa-jpl/osr-rover-code application code: Source-only checkout with no registry release; no advisory database covers it.
- Ubuntu and ROS 2 packages as actually installed on the rover: Installed unpinned from apt at build time; only the platform release's support status could be checked, not the package set.
- ros jazzy: support status: version matches no release cycle on endoflife.date
Parts
1. Custom PCB bill of materials (DigiKey)
| Part | Spec/Package | Status | Stock | Price | Source | Drift |
|---|---|---|---|---|---|---|
| C317C103K5R5TA7301 | 0.01 µF 50 V X7R radial, 5.08 mm | Active | 38,448 | $0.45 | DigiKey | $0.35 → $0.45 (+29%) |
| ESK107M050AG3EA | 100 µF 50 V radial can, 3.50 mm | Active | DigiKey: not published; Newark 858 | $0.36 | DigiKey / Newark $0.443 | new baseline |
| C322C104K5R5TA7317 | 0.1 µF 50 V X7R radial, 5.08 mm | Active | 14,701 | $1.23 | DigiKey | $0.94 → $1.23 (+31%) |
| ESK106M050AC3DA | 10 µF 50 V radial can, 2.00 mm | Active | 29,541 | $0.20 | DigiKey | prev. report priced the -AC3AA variant |
| STPS10L25D | Schottky 25 V 10 A, TO-220AC | Active | 2,758 | $2.66 | DigiKey | $2.51 → $2.66 (+6%) |
| 1N4148 | 75 V 300 mA, DO-35 axial | Active | 763,524 | $0.10 | DigiKey | price flat; stock 997k → 764k |
| 2N3906TA | PNP BJT, TO-92-3 | Active | 4,389 | $0.27 | DigiKey | flat |
| CF14JT / CD14ZT / CF18JT resistor group (9 values) | Axial carbon film, 0.25 W (68 Ω is 0.125 W), ±5% | Active (representative CF14JT4K70) | 139,905 | $0.10 | DigiKey | flat; 8 of 9 values not individually checked |
| MIC2937A-3.3WT | LDO 3.3 V 750 mA, TO-220-3 | Active | 603 | $3.02 | DigiKey | price flat; stock 360 → 603 |
| DC10CGKWA | 10-seg green bar graph, DIP-20 | Active | 857 | $4.69 | DigiKey | flat |
| 206-124 | SPDT slide DIP, 2.54 mm | Active | 7,714 | $2.34 | DigiKey | flat |
| C3920BAAAA | ON-OFF-ON toggle, panel mount | Active | 813 | $10.30 | DigiKey | flat |
| 696108003002 | 5x20 mm PCB fuse clip | Active | 32,135 | $0.64 | DigiKey | flat |
| 0233010.MXP | 10 A 5x20 mm glass fuse | Active | 1,319 | $1.56 | DigiKey | flat |
| TSW-104-07-F-T | 3x4 header, 2.54 mm | Active | 171 | $1.04 | DigiKey | price flat; stock 227 → 171 |
| PEC08SAAN | 1x8 header, 2.54 mm | Active | 8,488 | $0.52 | DigiKey (only stocking distributor) | $0.82 → $0.52; prev. "discontinued" not supported |
| PPTC102LFBN-RC | 2x10 female socket, 2.54 mm | Active | 3,820 | $1.32 | DigiKey | flat |
| SBH11-PBPC-D20-ST-BK | 2x20 shrouded header, 2.54 mm | Active | 28,699 | $0.66 | DigiKey | flat |
| B6B-PH-K-S(LF)(SN) | 1x6 JST PH header, 2.00 mm | Active | 29,733 (DigiKey) + 5 ECIA distributors | $0.28 | DigiKey | $0.27 → $0.28 |
| 0702462001 | 2x10 shrouded header, 2.54 mm | Active | 4,006 | $3.09 | DigiKey | price flat; stock 6,971 → 4,006 |
| PPTC021LFBN-RC | 1x2 female socket, 2.54 mm | Active | 25,733 | $0.27 | DigiKey (only stocking distributor) | was out of stock (11-wk lead) → now stocked |
| OSTTA024163 | 2-pos screw terminal, 5.08 mm | Active | 34,635 | $0.72 | DigiKey | flat |
| 1726750613 | 2x3 power header, 4.20 mm | Active | 3,734 | $2.74 | DigiKey (only stocking distributor) | was out of stock everywhere, 36-wk lead → now stocked |
| EDSTL130/24 | 1x24 terminal header, 5.00 mm | Active | 17,857 | $6.71 | DigiKey | $4.73 → $6.71 (+42%) |
| 0395016006 | 1x6 Eurostyle PCB header, 3.50 mm | Active | 9,324 | $2.46 | DigiKey | flat |
| 0395005006 | 1x6 Eurostyle plug, 3.50 mm | Active | 12,032 | $3.07 | DigiKey | flat |
2. Active modules, computing and power
| Part | Spec/Package | Status | Stock | Price | Source | Drift |
|---|---|---|---|---|---|---|
| Raspberry Pi 5 | SBC, 40-pin GPIO, dual UART | Active | in stock | $60.00 | CanaKit | $59.99 → $60.00 |
| MicroSD card 32 GB | Class 10 UHS-I | Active | in stock | $10.25 | Camera Film Photo | new baseline |
| Basic Micro RoboClaw 2x7A (x3) | Dual 7.5 A brushed H-bridge, packet serial | In Stock (vendor page) | in stock | $79.95 | Basic Micro (IMC404) | $75.00 → $79.95 (+6.6%) |
| Adafruit PCA9685 (815) | 16-ch 12-bit PWM, I2C 0x40 | Active | in stock | $14.95 | Adafruit | flat |
| Adafruit INA260 (4226) | I2C current/power monitor, 15 A | Active | in stock | $9.95 | Adafruit | flat |
| Pololu D24V50F5 (#2881) | 5 V 5 A buck | Active | in stock | $32.95 | Pololu | prev. $18.95 was a different part; $32.95 is the corrected baseline |
| Pololu D24V50F12 (#2855) | 12 V 5 A buck required | BOM line does not resolve | — | — | see Action required | prev. priced $29.95 without catching the mismatch |
| DC power meter LCD panel | DC 6.5–100 V / 20 A panel meter | Active | in stock | $11.25 | DROK | $12.50 → $11.25 (−10%) |
| 4S LiPo battery | 14.8 V, 5000 mAh, 50C, XT60 | Active | in stock | $47.99 | RCBattery.com | $53.99 → $47.99 (−11%) |
| LiPo balance charger | IMAX B6-class, 80 W | Active | in stock | $28.80 | Porcupine RC | new baseline |
| Fireproof LiPo bag | Flame-retardant charging sack | Active | in stock | $8.99 | Zeee | new baseline |
| Gamepad + wireless adapter | Xbox Wireless Controller + USB adapter | Active | in stock | $76.55 | Rarewaves | new baseline |
3. Wiring, connectors and standoffs
| Part | Spec/Package | Status | Stock | Price | Source | Drift |
|---|---|---|---|---|---|---|
| 18 AWG 2-cond. red/black | Primary DC power runs | Active | in stock | $0.14 | Missouri Wind and Solar | new baseline |
| 20 AWG 3-cond. | Servo and auxiliary power | Active | in stock | $1.75 | Tiny's LEDs | new baseline |
| 22 AWG 4-cond. | Encoder and serial signals | Active | in stock | $4.46 | DigiKey (Belden 88444) | new baseline |
| Adafruit 1988 | 40-pin GPIO ribbon, F-F | Active | in stock | $2.95 | Adafruit | new baseline |
| USB-C power pigtail | 5 V 5 A injection for RPi 5 | Active | in stock | $5.41 | eBay | new baseline |
| XT30 connectors (DFRobot FIT0586) | 15 A continuous, 5 pairs | Active | 8,800 | $1.90 | DigiKey | new baseline |
| JST-XH 4-pos encoder harness (x6) | 4-pos JST XH to 4x 1-pos TJC8, 300 mm | Active | in stock | $3.99 | RobotShop (ServoCity) | new baseline |
| Molex 0469920610 (x6) | 6-pin Mini-Fit receptacle housing | Active | 16,463 | $0.73 | DigiKey | new baseline |
| Molex 0039000077 (x36+) | Female crimp terminal | Active | 390,187 | $0.10 | DigiKey | new baseline |
| DuPont 2.54 mm housings + pins | 3-pos x4, 4-pos x8, 44+ pins | Active | in stock | $5.26 | Banggood (620-pc kit) | new baseline |
| 3.5 mm female bullet connectors (x12) | With insulating sleeves | Active | in stock | $3.99 | ServoCity | new baseline |
| M2.5 standoff assortment kit | Brass/nylon, 6–20 mm | not checked | — | — | — | — |
4. goBILDA powertrain and structure
No goBILDA part is carried by DigiKey or by any ECIA-authorised distributor — six representative part numbers were checked and all came back with no match. Everything below is vendor-direct.
| Part | Spec/Package | Status | Stock | Price | Source | Drift |
|---|---|---|---|---|---|---|
| 3616-0014-0144 (x6) | Wasteland Wheel, 144 mm x 52 mm | Active | in stock | $24.99 | goBILDA | flat |
| 5203-2402-0027 (x6) | Yellow Jacket 26.9:1, 223 RPM, 8 mm REX | Active | in stock | $54.99 | goBILDA | flat |
| 3202-0001-2501 (x4) | ServoBlock, 25T spline, hub-shaft | Active | in stock | $34.99 | goBILDA | flat |
| 2000-0025-0002 (x4) | Dual Mode Servo, 25-2 torque | Active | in stock | $36.99 | goBILDA | flat |
| 1106-0029-0232 (x7) | Square Beam, 29 hole, 232 mm | Active | in stock | $3.99 | goBILDA | new baseline |
| 1608-0001-0001 (x1) | Idler Bearing-Hub, 32 mm OD | Active | in stock | $16.99 | goBILDA | new baseline |
| 2805-0004-0108 (x1 pack) | Hurricane Nut for goRAIL, 25-pack | Active | in stock | $12.99 | goBILDA | new baseline |
The remaining structural, spacer, bracket and fastener lines were not individually priced this check — they are the same single vendor whose channel status is established above, so their risk is vendor-level rather than per-part. They are listed here so the next check has a baseline.
| Part | Spec | Qty | Status | Stock | Price | Source | Drift |
|---|---|---|---|---|---|---|---|
| 1401-0043-0036 | 2-side 2-post clamping mount, 43 mm / 36 mm bore | 6 | not checked | — | — | goBILDA | — |
| 1310-0016-4008 | Hyper Hub, 8 mm REX bore | 6 | not checked | — | — | goBILDA | — |
| 1120-0002-0072 | U-Channel, 2 hole, 72 mm | 8 | not checked | — | — | goBILDA | — |
| 1109-0024-0144 | goRAIL, 144 mm | 4 | not checked | — | — | goBILDA | — |
| 1121-0004-0120 | Low-Side U-Channel, 4 hole, 120 mm | 4 | not checked | — | — | goBILDA | — |
| 1120-0001-0048 | U-Channel, 1 hole, 48 mm | 2 | not checked | — | — | goBILDA | — |
| 1309-0016-0008 | Sonic Hub, 8 mm bore | 2 | not checked | — | — | goBILDA | — |
| 1611-0514-0008 | Flanged ball bearing, 8x14x5 mm (2-pack) | 2 | not checked | — | — | goBILDA | — |
| 1504-0032-0020 | 32 mm OD pattern spacer, 2 mm | 4 | not checked | — | — | goBILDA | — |
| 2100-0008-0050 | Stainless round shaft, 8 mm x 50 mm | 2 | not checked | — | — | goBILDA | — |
| 1102-0003-0024 | Flat Beam, 3 hole, 24 mm (2-pack) | 4 | not checked | — | — | goBILDA | — |
| 1221-0032-0002 | 2-side 2-post pattern mount (32-2) | 4 | not checked | — | — | goBILDA | — |
| 1126-0001-0001 | Steel flat bracket (1-1) (2-pack) | 2 | not checked | — | — | goBILDA | — |
| 1116-0024-0040 | Grid Plate, 3x5 hole, 24x40 mm | 8 | not checked | — | — | goBILDA | — |
| 1111-0003-0001 | Angle pattern bracket (3-1) | 2 | not checked | — | — | goBILDA | — |
| 1118-0024-0096 | Open goRAIL, 96 mm | 6 | not checked | — | — | goBILDA | — |
| 1118-0024-0288 | Open goRAIL, 288 mm | 2 | not checked | — | — | goBILDA | — |
| 1111-0001-0001 | Angle pattern bracket (1-1, 45°) | 4 | not checked | — | — | goBILDA | — |
| 1137-0001-0001 | Steel flat grid bracket (1-1, 90°) (2-pack) | 1 | not checked | — | — | goBILDA | — |
| 1916-0014-0072 | Plastic hub-mount control arm, 72 mm | 4 | not checked | — | — | goBILDA | — |
| 1522-0010-0060 | 8 mm ID spacer, 10 mm OD, 6 mm (4-pack) | 1 | not checked | — | — | goBILDA | — |
| 1522-0010-0040 | 8 mm ID spacer, 10 mm OD, 4 mm (4-pack) | 1 | not checked | — | — | goBILDA | — |
| 1118-0024-0120 | Open goRAIL, 120 mm | 2 | not checked | — | — | goBILDA | — |
| 1604-0043-0032 | 2-side 2-post pillow block, 32 mm bore | 4 | not checked | — | — | goBILDA | — |
| 1506-0032-0006 | 32 mm ID spacer, 36 mm OD, 6 mm (2-pack) | 3 | not checked | — | — | goBILDA | — |
| 1106-0041-0328 | Square Beam, 41 hole, 328 mm | 4 | not checked | — | — | goBILDA | — |
| 1106-0012-0096 | Square Beam, 12 hole, 96 mm | 8 | not checked | — | — | goBILDA | — |
| 1101-0041-0328 | U-Beam, 41 hole, 328 mm | 1 | not checked | — | — | goBILDA | — |
| 1102-0007-0056 | Flat Beam, 7 hole, 56 mm (2-pack) | 2 | not checked | — | — | goBILDA | — |
| 1205-0001-0004 | Dual block mount (1-4) (2-pack) | 2 | not checked | — | — | goBILDA | — |
| 1203-0001-0001 | Block mount (1-1, 90° gusset) (4-pack) | 1 | not checked | — | — | goBILDA | — |
| 2808-0004-0050 | Stainless threaded rod, M4 x 50 mm (2-pack) | 1 | not checked | — | — | goBILDA | — |
| 2913-0004-0241 | Steel ball linkage, female M4, 24.1 mm (2-pack) | 2 | not checked | — | — | goBILDA | — |
| 2902-0003-0001 | Plastic hinge (2-pack) | 2 | not checked | — | — | goBILDA | — |
| 1501-0006-0080 | M4 standoff, 6 mm OD, 8 mm (4-pack) | 2 | not checked | — | — | goBILDA | — |
| 1501-0006-0220 | M4 standoff, 6 mm OD, 22 mm (4-pack) | 2 | not checked | — | — | goBILDA | — |
| 1500-0010-0006 | Plastic spacer, 6 mm ID x 8 mm OD, 1 mm (12-pack) | 1 | not checked | — | — | goBILDA | — |
| 1102-0002-0016 | Flat Beam, 2 hole, 16 mm (2-pack) | 2 | not checked | — | — | goBILDA | — |
| 2911-0014-0001 | Plastic cable grommet (14-1) (12-pack) | 1 | not checked | — | — | goBILDA | — |
| 2801-0004-0008 | Steel washer, M4 x 8 mm OD (25-pack) | 1 | not checked | — | — | goBILDA | — |
| 2811-0004-0007 | Steel hex nut, M4 x 7 mm (25-pack) | 4 | not checked | — | — | goBILDA | — |
| 2812-0004-0007 | Nylon-insert locknut, M4 x 7 mm (25-pack) | 1 | not checked | — | — | goBILDA | — |
| 2802-0004-0006 | Button head screw, M4 x 6 mm (25-pack) | 2 | not checked | — | — | goBILDA | — |
| 2802-0004-0010 | Button head screw, M4 x 10 mm (25-pack) | 3 | not checked | — | — | goBILDA | — |
| 2802-0004-0016 | Button head screw, M4 x 16 mm (25-pack) | 2 | not checked | — | — | goBILDA | — |
| 2800-0004-0008 | Socket head screw, M4 x 8 mm (25-pack) | 2 | not checked | — | — | goBILDA | — |
| 2800-0004-0010 | Socket head screw, M4 x 10 mm (25-pack) | 3 | not checked | — | — | goBILDA | — |
| 2800-0004-0012 | Socket head screw, M4 x 12 mm (25-pack) | 1 | not checked | — | — | goBILDA | — |
| 2800-0004-0016 | Socket head screw, M4 x 16 mm (25-pack) | 2 | not checked | — | — | goBILDA | — |
| 2800-0004-0020 | Socket head screw, M4 x 20 mm (25-pack) | 1 | not checked | — | — | goBILDA | — |
5. Assembly tools and consumables
| Part | Spec/Package | Status | Stock | Price | Source | Drift |
|---|---|---|---|---|---|---|
| Loctite 242 blue threadlocker | Removable medium-strength | not checked | — | — | — | — |
| 7 mm nut driver | Hollow shaft, for M4 hex nuts | not checked | — | — | — | — |
| 2.5 mm and 3.0 mm ball-end hex keys | M4 button/socket head screws | not checked | — | — | — | — |
| Ratcheting terminal crimper | Molex Mini-Fit, JST-XH, DuPont | not checked | — | — | — | — |
Substitutes
| For part | Substitute | Differences | Verified | Judgment |
|---|---|---|---|---|
| ESK107M050AG3EA (DigiKey publishes no stock figure) | KEMET ESK107M050AG3AA — $0.36, 12,845 in stock | Identical on every constraint the lab states: 100 µF, 50 V, ±20%, radial can, through hole. DigiKey classes it a parametric equivalent. | verified: capacitance, voltage rating, tolerance, radial-can through-hole mounting (DigiKey parametrics on the original; exact-match lookup on the substitute). not verified: lead spacing and can diameter — the substitute's lookup returned no parametrics block, so the original's 3.50 mm lead spacing and 8.00 mm diameter could not be matched against it. | Electrically equivalent; footprint not verified. Usable, but check lead spacing on the datasheet first. Alternatively the exact part is stocked at Newark (858 @ $0.443). |
Instructor: verify any substitute against its datasheet before ordering.
Other dependencies
- Custom PCB fabrication — Brain Board and Motor Board, 2-layer FR-4, 1.6 mm, 1 oz copper, from gerber archive
v2.0.2, suggested vendor JLCPCB. Status: not checked. (v2.0.2is the board revision, not a software version.) - Laser-cut body panels — DXF profiles, 3 mm acrylic, MDF or birch; services cited are SendCutSend and Sculpteo. Status: not checked.
- OnShape hosted CAD assembly — the complete 3D model lives only in OnShape (document
e4f00b1a3d2edb1a84bbba1c), not as STEP or native files in the bundle. Status: not checked. - OSHWA certification record US002551 — https://certification.oshwa.org/us002551.html. Status: not checked.
- Source repositories — https://github.com/nasa-jpl/open-source-rover (hardware and documentation) and https://github.com/nasa-jpl/osr-rover-code (onboard code). Both reachable this check; the software pass listed and fetched files from osr-rover-code.
- goBILDA educational discount form — 123FormBuilder portal, third-party hosted. Status: not checked.
Watch list
- Basic Micro RoboClaw 2x7A — three per rover, one vendor, no possible substitute because the ROS driver speaks RoboClaw's proprietary protocol. If Basic Micro stops selling it, the lab needs a new motor-control layer, not a new part number.
- The whole goBILDA chassis — 57 lines, one vendor, no distributor fallback. A discontinued series here halts assembly.
- Molex 1726750613 — recovered from a 36-week stockout, but DigiKey is the only warehouse holding it. This is the line most likely to relapse.
- Samtec TSW-104-07-F-T — stock fell from 227 to 171. The thinnest stock figure in the electronics BOM.
- Pololu 12 V regulator — unresolved identity; until the BOM line is corrected, the 12 V rail has no confirmed part.
- On Shore EDSTL130/24 — up 42% in six weeks ($4.73 → $6.71). Worth re-pricing next check.
- Sullins PEC08SAAN and PPTC021LFBN-RC — both Active now, but DigiKey is the sole stocking distributor for each.