---
# System prepended metadata

title: 'Sprint 1 Requirement Artifacts:'

---

# Sprint 1 Requirement Artifacts:

---

**Requirement ID:** 1 <br/>**Description:** Build the wooden smart frame of the drop box 
**Artifacts:**

**Box Frame Diagram:**
![PXL_20250208_202957848](https://hackmd.io/_uploads/r1uBta8F1g.jpg)

**Component List:**
| Piece ID | # Needed | Dimensions (in inches) | Description |
| -------- | -------- | -------- | -------|
| A.1    | 2     | 41x2x2     | Back Vertical columns (castle joints at top, half lap 30 inches up, and castle at the bottom)|
| A.2    | 2     | 41x2x2     | front Vertical columns (castle joints at top, half lap 30 inches up)|
| B.1    | 2     | 19x2x2     | Top side beams (castle joints on both ends)|
| B.2    | 2     | 19x2x2     | bottom side beams (half lap on both sides)|
| B.3    | 2     | 19x2x2     | side middle beam (half lap joints on both ends)|
| C.1    | 3     | 21x2x2     | front and back top beams and back bottom beam (castle joints on both ends)|
| C.2    | 1     | 21x2x2     | front middle beam (half lap on both sides)|
|Assorted plywood sheets| | | | 

These pieces will be put together into a box frame using castle joints and half lap joints.

**Castle Joint:**
![GLfX0q8](https://hackmd.io/_uploads/rJfvt68Fkx.jpg)


**Half Lap Joint:**
![Half-lap-joint-3-Tongue-and-groove-joint-Each-board-features-a-tongue-or-ridge-running](https://hackmd.io/_uploads/H1ivtpUtJe.jpg)

Small sheets of plywood will be attached to the interior of the frame to facilitate connecting hardware components.

---

**Requirement ID:** 2 </br>**Description:** Connect the Components: light curtain, reset button, counter display and logic board, solar panels, and battery together
**Artifacts:**

![CamScanner 02-09-2025 13.57_1](https://hackmd.io/_uploads/rJLCOY8Kkg.jpg)


---

**Requirement ID:** 3 </br>**Description:** Write the code to detect when ballots enter the box and increment the counter
**Artifacts:**

```python=
while True:
    if (light_curtain == ballot_detected):
        counter+=1

```
---
**Requirement ID:** 4 </br>**Description:** Write the code to detect when the reset button is hit and set the counter to 0
**Artifact:**

```python=
while True:
    if (button_is_pressed):
        counter = 0
```


---

**Requirement ID:** 5 </br>**Description:** Write the code to update the Counter Display through E-ink
**Artifacts:**

```python=
while True:
    if counter_changes:
        update_eink_display(counter)
```

---

**Requirement ID:** 6 </br>**Description:** Update documentation thoroughly to be accessible to a layman
**Artifacts:**

**Justifaction:** Ensures that non-technical users (election officials, ballot collectors, etc.) can understand and use the system effectively.


| Deliverables | Acceptance Criteria |
| -------- | -------- |
| System overview with simple explanations.| Overview is     written in plain language and clearly explains the         purpose of the Smart Drop-Box Frame.|
| Clear descriptions of components and their functions.|     Each component is described in non-technical terms with a   simple explanation of its role.|
| Step-by-step ballot collection and verification guide.|     The guide provides clear, sequential instructions that a   layperson can follow.|
| Glossary of technical terms.| All technical terms are       defined in simple, understandable language.|
| Troubleshooting guide| Common issues and solutions are     documented in a way that non-technical users can           understand.|
| Visual aids (diagrams, labeled images, etc.)| Diagrams     and images effectively illustrate system components and     processes, enhancing understanding.|

---

