# 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.| ---