Skip to content

Hardware (Bill of Materials)

This document lists a suggested Bill of Materials (BOM) for an Open-Locker test cabinet build.

It reflects the hardware used in the current Raspberry Pi based setup and documents the cabinet-independent electrical parts first. An ESP-based build is planned, but it is not yet built or validated.

This BOM focuses on:

  • controller and communication hardware
  • relay and lock control hardware
  • wiring, connectors, and power distribution
  • optional parts that simplify assembly and cabinet expansion

This BOM intentionally does not cover cabinet-specific mechanical integration, for example:

  • how locks are mounted into a wooden cabinet
  • how locks are mounted into a metal locker
  • drilling, brackets, sheet metal work, or reinforcement

Those details depend heavily on the cabinet type and should be documented separately once there is a repeatable cabinet design.

  • Supplier links are examples only. Equivalent parts from other suppliers are acceptable unless a specific part is marked as required.
  • We currently do not have affiliate relationships with any of the suppliers referenced in this document.
  • Use neutral technical names when sourcing parts. Marketplace titles often contain marketing language that is not useful for documentation.
  • The Modbus relay board must be the Waveshare board listed below because the current implementation depends on verified Waveshare-specific flash and digital-input behavior. See docs/adr/0004-waveshare-hardware-flash-and-supported-boards.md.
  • Cable lengths depend on cabinet size and wire routing.
  • Power supply sizing depends on the number of compartments, locks, and relay boards in the final cabinet.
  • This BOM is a documented example of how the project was built. It is not a guarantee for a specific supplier, brand, or part revision.

This is the currently used and validated build profile.

This build profile is planned, but not yet built or validated.

One reason for planning this variant is that the Raspberry Pi based setup was not always reliable in our tests and occasionally dropped out.

At a high level, the cabinet-side hardware is expected to stay similar:

  • lock hardware
  • relay hardware
  • wiring
  • connectors
  • power distribution

The planned controller board for the first ESP-based build is the Waveshare ESP32-S3-ETH-8DI-8RO. See docs/adr/0005-esp-build-controller-board-selection.md.

For builds with up to 8 compartments, the board’s onboard 8 relays and 8 digital inputs are the planned starting point.

For builds with more than 8 compartments, add one or more external Waveshare Modbus RTU Relay (D) boards over RS485.

We recommend using the Open-Locker connection board from the repository to make the cabinet wiring easier.

Recommended variant:

This is the 3.5 mm terminal variant. It is easier to wire and service than direct point-to-point wiring.

Per Modbus board / connection board, this design typically uses:

  • 10x 2-pin PCB screw terminal connectors
  • 13x 4-pin PCB screw terminal connectors

Example connector set:

PCB manufacturing reference:

  • We ordered our PCBs from JLCPCB.

All KiCad projects live under hardware/. Besides the recommended connection-board-cut-out_3_5 variant above, the repository also contains:

Pick the layout that matches your connector pitch, compartment count, and mechanical constraints.

Optional printable parts for lock mounting and PCB standoffs are maintained as OpenSCAD sources under hardware/models/, for example spacer variants for FIT0620-style cabinet locks (spacer1.scad, spacer2.scad) and a PCB mounting adapter (pcb_mounting_adapter.scad). Export STL locally or add pre-generated STL files to the repository when they are available. Quantities and material depend on your cabinet layout.

The same mechanical spacing and mounting can be solved in other ways—for example with cut-to-size wood, sheet stock, or other shop-made brackets—depending on your tools and cabinet. The Open-Locker reference builds used the 3D-printed parts described here.

These parts are shared by both build profiles unless noted otherwise.

ItemTypical quantityNotesExample link
8-channel Modbus RTU relay board with digital inputs1 per up to 8 compartmentsRequired part. Use the Waveshare Modbus RTU Relay (D) board because the current software uses its flash and digital-input features. Each compartment needs one relay output and one digital input.Waveshare relay board
12 V cabinet lock with feedback switch1 per compartmentUse a lock variant with an integrated status or detection switch if possible. Exact mounting depends on the cabinet material and door design.Example A, Example B
Rectifier diode 1N40071 per lockRecommended as a flyback protection diode across inductive 12 V loads such as cabinet locks.Example diodes
12 V DC power supply1 per cabinetSize the power supply for the maximum number of simultaneously active locks plus controller and relay board overhead.Example PSU
Internal cabinet wireas neededChoose the wire length based on cabinet geometry and routing paths.Example wire
Ferrules, 0.34 mm2as neededRecommended for clean and reliable termination on screw terminals.Example ferrules
2-pin plug connectors, 2.5 mm pitchoptionalOptional. Can be replaced with direct soldered wire connections if preferred.Example connectors
Panel-mount DC barrel jack, 5.5 x 2.1 mm1 per cabinetUseful for bringing external 12 V power into the cabinet enclosure.Example DC jack
4-pole GX16 connector setoptionalUseful when electrically linking multiple cabinets together.Example GX16 connector
Connection board, 3.5 mm terminal variantas neededRecommended to simplify cabinet wiring. Use the design from hardware/connection-board-cut-out_3_5.Repository design
3.5 mm PCB screw terminal set for the connection board1 set per connection boardTypical population: 10x 2-pin and 13x 4-pin connectors per board.Example terminal set
Short-run cabinet wire between connection board and relay boardas neededSpeaker wire or similar stranded wire is acceptable for short runs. Use wire suitable for up to 12 V / 2 A for the intended path.No fixed supplier

These parts are only required for the currently used Raspberry Pi based build.

ItemTypical quantityNotesExample link
Raspberry Pi 4 or 51 per cabinet controllerThe current build uses a Raspberry Pi 4 with 4 GB RAM.No fixed supplier
USB to RS485 adapter1Used to connect the Raspberry Pi to the Modbus RTU relay board.Waveshare USB to RS485 adapter
12 V to 5 V DC-DC converter1Used to power the Raspberry Pi from the cabinet’s 12 V supply.Example DC-DC converter

The ESP-based build is not yet finalized.

For now, treat the following as stable:

  • lock hardware
  • relay board requirement
  • connection board recommendation
  • internal cabinet wiring approach
  • basic 12 V power distribution
  • planned ESP controller board: Waveshare ESP32-S3-ETH-8DI-8RO
  • planned expansion path for more than 8 compartments: external Waveshare Modbus RTU Relay (D) board over RS485

The following items still need a dedicated design and validation step:

  • RS485 interface strategy
  • controller power conversion and protection
  • service and update workflow
  • final ESP software and service model

Until that work is complete, this document only provides a validated BOM for the Raspberry Pi based build.

The following topics are intentionally excluded from this BOM because they depend on the exact cabinet:

  • lock brackets and mounting plates
  • drilling templates
  • door reinforcement
  • mounting hardware for wooden cabinets
  • mounting hardware for metal lockers
  • enclosure cut-outs and finishing work

Document those items in a cabinet-specific build guide once a repeatable cabinet design exists.

This BOM is provided as a practical reference for the Open-Locker project. Parts and suppliers may change over time. The project does not provide warranty or supplier guarantees for the listed parts.

If you build an Open-Locker cabinet based on this BOM, we would appreciate your feedback.

Useful feedback includes:

  • which parts worked well
  • which parts were hard to source
  • compatible alternative parts or suppliers
  • cabinet-specific lessons learned
  • corrections for quantities, ratings, or wiring assumptions

Community feedback helps us improve this BOM and make future builds easier to replicate.