Scenario: A university wants to build an environmental monitoring system for 20 classrooms, measuring temperature, humidity, CO2, and occupancy. Each classroom needs one sensor node transmitting data to a central server. Compare the Arduino Starter Kit approach vs custom ESP32 hardware.
Option 1: Arduino Uno Starter Kit + Shields
Hardware per classroom: | Component | Price | Notes | |———–|——-|——-| | Arduino Uno | $25 | Microcontroller board | | Ethernet Shield | $15 | Network connectivity | | DHT22 sensor | $10 | Temperature + humidity | | MQ-135 CO2 sensor | $8 | Gas sensor | | PIR motion sensor | $5 | Occupancy detection | | Breadboard + wires | $5 | Prototyping | | 5V power adapter | $6 | Wall power | | Enclosure | $8 | Plastic case | | Total per node | $82 | | | Total (20 nodes) | $1,640 | |
Development time:
- Arduino IDE setup: 1 hour
- Sensor library integration: 4 hours (pre-existing libraries available)
- Ethernet connection code: 3 hours (HTTP POST to server)
- Testing and debugging: 4 hours
- Total: 12 hours × $50/hr = $600
Deployment time:
- Assemble each node (breadboard wiring): 1 hour × 20 = 20 hours
- Install in classrooms: 30 minutes × 20 = 10 hours
- Total: 30 hours × $50/hr = $1,500
Total project cost (Arduino approach):
- Hardware: $1,640
- Development: $600
- Deployment: $1,500
- Total: $3,740
Pros:
- ✅ Fast development (Arduino libraries for everything)
- ✅ No PCB design needed (use breadboard)
- ✅ Easy troubleshooting (swap Arduino board if it fails)
- ✅ Educational (students can see all connections)
Cons:
- ❌ Large footprint (enclosure must fit breadboard + Arduino + shields)
- ❌ Loose connections (breadboard wires fail over time)
- ❌ High per-unit cost ($82/node)
- ❌ Ethernet requires network drops in every classroom
Option 2: Custom ESP32 PCB
Hardware per node (custom PCB design): | Component | Price | Notes | |———–|——-|——-| | ESP32-C3 module | $3 | Wi-Fi + MCU | | SHT31 sensor | $5 | Temp + humidity (better than DHT22) | | SCD40 CO2 sensor | $40 | NDIR CO2 (accurate, expensive) | | PIR motion sensor | $3 | Occupancy | | Custom PCB | $2 | Designed in KiCad, ordered from JLCPCB | | USB-C connector + passives | $2 | Power + programming | | Enclosure (custom 3D print) | $3 | Per unit material cost | | Total per node | $58 | | | Total (20 nodes) | $1,160 | |
Development time:
- ESP32 firmware (C++ with ESP-IDF): 16 hours
- PCB design (schematic + layout): 12 hours
- PCB fabrication wait time: 7 days (no work done)
- PCB assembly (SMD soldering): 30 minutes × 20 = 10 hours
- Testing and debugging: 8 hours
- Total: 46 hours × $50/hr = $2,300
One-time costs:
- PCB fabrication (5 prototypes): $50
- PCB fabrication (20 production): $80
- 3D printer enclosure design: 4 hours = $200
- Total one-time: $330
Deployment time:
- Install in classrooms: 20 minutes × 20 = 6.7 hours
- Total: 6.7 hours × $50/hr = $335
Total project cost (ESP32 custom PCB):
- Hardware: $1,160
- Development: $2,300
- One-time costs: $330
- Deployment: $335
- Total: $4,125
Pros:
- ✅ Compact form factor (custom PCB fits in small enclosure)
- ✅ Wi-Fi connectivity (no Ethernet cables needed)
- ✅ Reliable (no loose breadboard wires)
- ✅ Lower per-unit hardware cost ($58 vs $82)
- ✅ Professional appearance
Cons:
- ❌ Higher development cost ($2,300 vs $600)
- ❌ Longer development time (46 hours vs 12 hours)
- ❌ PCB design skills required
- ❌ Harder to troubleshoot (components soldered, not pluggable)
- ❌ Higher upfront investment ($330 for PCB fab + design)
Comparison Summary:
| Total cost (20 units) |
$3,740 |
$4,125 |
Arduino ($385 cheaper) |
| Per-unit hardware cost |
$82 |
$58 |
ESP32 ($24 cheaper) |
| Development time |
12 hours |
46 hours |
Arduino (4x faster) |
| Deployment time |
30 hours |
6.7 hours |
ESP32 (4x faster) |
| Reliability |
Low (breadboard) |
High (PCB) |
ESP32 |
| Connectivity |
Ethernet (wiring needed) |
Wi-Fi (wireless) |
ESP32 |
| Appearance |
Prototypy |
Professional |
ESP32 |
| Break-even point |
N/A |
45 units |
N/A |
Decision analysis:
For 20 classrooms, Arduino kit wins on total cost ($3,740 vs $4,125) and development speed (12 hours vs 46 hours). The project can be completed in 2 weeks vs 4 weeks with custom PCB.
Break-even calculation: At what scale does custom PCB become cheaper?
Custom PCB savings per unit: $82 - $58 = $24 Custom PCB extra development cost: $4,125 - $3,740 = $385 Break-even: $385 / $24 = 16 units
Wait, that math is wrong for this comparison because deployment time differs. Recalculate:
Arduino marginal cost per unit: $82 hardware + (1 hour assembly × $50) = $132 ESP32 marginal cost per unit: $58 hardware + (0.5 hour assembly × $50) + (0.33 hour deployment × $50) = $99.50
Savings per unit: $132 - $99.50 = $32.50 Extra development: $2,300 - $600 = $1,700 Break-even: $1,700 / $32.50 = 52 units
Revised decision: For 20 classrooms, Arduino kit is cheaper and faster. For 52+ classrooms, ESP32 custom PCB becomes more cost-effective.
Recommendation: Use Arduino kit for the initial 20-classroom deployment (academic year pilot). If successful and expanded to 50+ classrooms next year, invest in ESP32 custom PCB design for lower per-unit cost and better reliability.