← All projects
Project 04 · Team lead · Mechanical design

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.

ClientOttawa Police
CourseGNG1503 · uOttawa
DateOct – Dec 2025
Team5 students
My roleTeam lead
ToolsSolidWorks · Arduino · 3D printing · Laser cutting
19×19×29cm
Sealed acrylic enclosure
≥3cm
Minimum swab spacing, set by our cross-contamination test
2.6CFM
Airflow needed. The 40 mm fan supplies 3 to 5
+2% RH
Dryness threshold relative to ambient humidity
The five-person ZEIKU team standing together, holding the finished acrylic swab dryer
Fig. 4.1 The ZEIKU team with the finished prototype.
ZEIKU enclosure with the electronics shelf on top, PLA corner brackets and swab holders below
Fig. 4.2 Electronics shelf above, swab chamber below, on internal rails with PLA corner brackets.

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

ChoicePickedWhy
Fan size40 mmBest flow-to-noise trade-off. 30 and 60 mm were considered and rejected
FilterFine foamHEPA is too restrictive for a small 40 mm fan
Mount materialPLAEasy to print and not thermally critical, so no need for PETG
Humidity sensorsDHT11Accurate enough in testing, so the pricier DHT22 wasn't needed
Data linkBluetoothThe electronics shelf sits inside the sealed box, where a USB cable is impractical

Sizing the airflow

openingA = 5 cm × 5 cm = 0.0025 m²
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

TestMethodResult
Cross-contaminationTwo swabs at 1, 3 and 5 cm, one with a tracer, fan on for 30 minContaminated at 1 cm, clean at 3 and 5 cm. Rule: ≥3 cm
Fan mount5 V fan on its printed mount, flow checked with light paper, noise and stability observedSteady flow, no excessive vibration, filter doesn't choke the fan
Dryness detectionWet swab placed under each sensorGreen LED on once dry, on every trial
Data loggingSensors streamed over Bluetooth to ExcelAll readings received and saved
What I'd do next. Hold more than two swabs, bring detection time under 30 minutes, and close the loop with PWM fan control driven by the humidity sensors.
Circuit diagram: Arduino Uno with three DHT11 sensors, a 16x2 LCD, two green LEDs, an HC-05 Bluetooth module and batteries
Fig. 4.3 Team circuit: Arduino Uno, 3× DHT11, LCD, status LEDs and HC-05 Bluetooth that logs to Excel.
Team leadSolidWorksMechanical designArduino3D printingLaser cuttingAcrylic fabricationAirflow sizingPrototype testingClient needs
Project on MakerRepo ↗
Iteration

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 fromPrototype 1Final version
Door testFailed. 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 testFailed. 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 reviewFan 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.
CapacityOne swab sensor and one LED.Three sensors (ambient plus one per swab) and two LEDs, for two swabs side by side.
Load test3 mm panels flexed visibly from 7.8 N.PLA brackets added in the corners and along the edges.
Client reviewApproved. 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.

6.9N
Fully rigid up to this load (700 mL)
7.8N
First visible flex, side panels
8.8N
First visible flex, roof

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

ConstraintTargetFinal
Length and width< 30.48 cm19 cm ✓
Height< 40.64 cm29 cm ✓
Volume, to fit the drying cabinet< 37,755 cm³10,469 cm³ ✓
Swab spacing> 2 cm≥ 3 cm, tested ✓
Washable materialNon-porousAcrylic ✓
Prototype 1 on a table during testing, with the green dryness LED lit and the electronics on a shelf inside the acrylic box
Fig. 4.4 Prototype 1 during testing, with the dryness LED lit.