ZEIKU: a blood-sample swab drying system
Ottawa Police labs dry forensic swabs, such as blood samples taken for DNA analysis, by hand and judge dryness by eye. A badly dried swab can spoil the sample, skew results and risk cross-contamination. I led a five-person team through the design, fabrication, assembly and testing of a sealed, portable box that dries two swabs side by side, measures humidity in real time and lights up when each swab is dry.


What I did
- Led the team through design, fabrication, assembly and testing, and delivered a working prototype that met the client's main objective.
- Created SolidWorks parts and assemblies and fabricated the components by 3D printing and laser cutting.
- Integrated the Arduino temperature and humidity sensors, then analyzed the drying-test data and reported the findings.
What the client needed
- Drying without handling during the process, and no opening the box to check.
- Clear, reliable confirmation that a swab is dry.
- A compact, hygienic device that is easy to clean.
- Automatic temperature and humidity logging to prove the process worked.
Mechanical design
- Enclosure: rigid, non-porous acrylic that is easy to disinfect, reinforced with 3D-printed PLA brackets in the corners and along the edges.
- Sliding door on rails, so the box opens in one motion without disturbing the samples.
- Rail-mounted, removable shelves for the swab holder and the electronics. Everything comes out for cleaning without tools.
- Ventilation: 5×5 cm cut-out, 3D-printed fan mount with M3 screws, outer grille and a foam-filter frame, so only filtered air reaches the chamber.
Design decisions
| Choice | Picked | Why |
|---|---|---|
| Fan size | 40 mm | Best flow-to-noise trade-off. 30 and 60 mm were considered and rejected |
| Filter | Fine foam | HEPA is too restrictive for a small 40 mm fan |
| Mount material | PLA | Easy to print and not thermally critical, so no need for PETG |
| Humidity sensors | DHT11 | Accurate enough in testing, so the pricier DHT22 wasn't needed |
| Data link | Bluetooth | The electronics shelf sits inside the sealed box, where a USB cable is impractical |
Sizing the airflow
targetv ≈ 0.5 m/s
flowQ = A·v = 0.00125 m³/s ≈ 4.5 m³/h ≈ 2.6 CFM
supply5 V, 40 mm fan → 3–5 CFM ✓ adequate
Testing
| Test | Method | Result |
|---|---|---|
| Cross-contamination | Two swabs at 1, 3 and 5 cm, one with a tracer, fan on for 30 min | Contaminated at 1 cm, clean at 3 and 5 cm. Rule: ≥3 cm |
| Fan mount | 5 V fan on its printed mount, flow checked with light paper, noise and stability observed | Steady flow, no excessive vibration, filter doesn't choke the fan |
| Dryness detection | Wet swab placed under each sensor | Green LED on once dry, on every trial |
| Data logging | Sensors streamed over Bluetooth to Excel | All readings received and saved |

From prototype 1 to final
Prototype 1 was tested in November 2025 and reviewed with the client on November 3. Each failure turned into a design change in the final version.
| Where it came from | Prototype 1 | Final version |
|---|---|---|
| Door test | Failed. The removable door hit the top of the box and cracked it on every attempt to close it. | A sliding door that runs in two rails, with the fit and tolerances reworked. |
| Detection test | Failed. The LED stayed off after the swab had dried, until someone stirred the air by hand. | A 5 V, 40 mm fan keeps filtered air moving past the sensors. |
| Client review | Fan mounted on the back wall. The client asked for it in the centre. | Fan moved to the centre of the box for more even airflow. |
| Capacity | One swab sensor and one LED. | Three sensors (ambient plus one per swab) and two LEDs, for two swabs side by side. |
| Load test | 3 mm panels flexed visibly from 7.8 N. | PLA brackets added in the corners and along the edges. |
| Client review | Approved. Acrylic wipes clean, and the compact size travels well between sites. | Kept. |
Load-testing the panels
The 3 mm acrylic panels take the handle load and the knocks of transport. We loaded them in ten steps with water, from 100 mL to 1000 mL (0.98 N to 9.81 N), and watched for deflection.
No permanent deformation at any step, so the acrylic stayed elastic. For a handle that carries the whole box, the recommendation was internal ribs or 4–5 mm sheet.
Checked against the specs
| Constraint | Target | Final |
|---|---|---|
| Length and width | < 30.48 cm | 19 cm ✓ |
| Height | < 40.64 cm | 29 cm ✓ |
| Volume, to fit the drying cabinet | < 37,755 cm³ | 10,469 cm³ ✓ |
| Swab spacing | > 2 cm | ≥ 3 cm, tested ✓ |
| Washable material | Non-porous | Acrylic ✓ |
