Part
6
  |  
From Prototype to Product
  |  
Chapter
25

When the Pi Stays and When It Goes

If the prototype works on a Pi, the production version might not belong on one — and knowing the difference is what separates engineers from hobbyists.
Reading Time
11
mins
BACK TO RASPBERRY PI MASTERCLASS

The trap is assuming that if the prototype works on a Pi, you should ship the production version on a Pi too. I've seen this pattern where an engineer builds a beautiful proof of concept — sensor readings flowing, dashboard rendering, MQTT messages firing — and then orders fifty Raspberry Pis to deploy across a warehouse. Six months later, SD cards are failing from write amplification, units are overheating in metal enclosures near industrial equipment, and the total cost of fifty Pis with cases, power supplies, and SD cards has exceeded what a purpose-built industrial solution would have cost at volume.

The Pi is the fastest path from idea to working prototype. That doesn't make it the fastest path from prototype to production — and confusing those two paths wastes more money and time than the prototype saved.

The Pi is the fastest path from idea to working prototype. That doesn't make it the fastest path from prototype to production.

This is the most important chapter in the book. Everything before it taught you how to build with the Pi. This chapter teaches you when to stop building with it.

The Graduation Decision

Framework · The Graduation Decision · GD

Score your deployment across five axes: reliability requirements, unit cost at scale, environmental conditions, power budget, and regulatory compliance. If three or more axes score "graduate," the Pi did its job as a prototype — and its job is done. Move to purpose-built hardware and carry the validated architecture with you.

The Graduation Decision isn't about whether the Pi is "good enough." It's about whether the Pi is the right tool for the deployment context. A scalpel is a good tool. It's the wrong tool for cutting lumber. The Pi is a good board. It might be the wrong board for your production environment. Here's how to tell.

Axis 1: Reliability Requirements

Stay on Pi: The system can tolerate occasional restarts. A few minutes of downtime per month is acceptable. Monitoring is advisory, not safety-critical. Examples: office environment monitoring, internal dashboards, development lab automation.

Graduate: Downtime has financial or safety consequences. The system must run continuously for months or years. Hardware failures need field replacement with minimal training. Examples: production-line quality inspection, patient-monitoring displays, retail point-of-sale systems.

The Pi's main reliability risk is the SD card. MicroSD cards are flash memory designed for cameras, not for continuous database writes. A Pi writing sensor data every second to SQLite on an SD card will kill the card in 6-18 months from write amplification. The mitigations exist — boot from NVMe via the Pi 5's PCIe slot, use read-only root filesystems with RAM-based temp storage, send data over the network instead of storing locally — but each mitigation adds complexity. An industrial SBC with eMMC or SSD storage doesn't have this problem at all.

The SD card kill chain

An SD card death follows a predictable sequence: first, writes start taking longer. Then, random files become corrupted. Then, the filesystem goes read-only as the controller marks bad blocks. Finally, the card stops responding entirely. If you're deploying Pis with SD cards, set up monitoring that checks dmesg for I/O errors and alerts before the card dies. Or just boot from NVMe and skip the entire failure mode.

Axis 2: Unit Cost at Scale

Stay on Pi: You're deploying fewer than 100 units. The per-unit cost difference between a Pi ($35-80 including peripherals) and a cheaper alternative ($5-15 for an ESP32 module) is less than the engineering time to port the application.

Graduate: You're deploying 100+ units. The per-unit cost difference compounds. A Pi 4 with case, SD card, and power supply runs $70-100 per unit. An ESP32 module with a custom carrier PCB runs $8-15 per unit at volume. At 500 units, that's $35,000 vs $5,000 — the $30,000 difference pays for the engineering effort to port the application to the ESP32 several times over.

The break-even point depends on the complexity of your application. If the Pi is running a simple sensor reader that publishes MQTT messages, porting to an ESP32 takes a weekend — MicroPython supports MQTT and most common sensors natively. If the Pi is running OpenCV with a Flask dashboard and a Docker Compose stack, porting to an ESP32 isn't feasible. The graduation path for complex applications isn't down to a microcontroller — it's sideways to a custom PCB with a compute module or up to an industrial SBC.

Axis 3: Environmental Conditions

Stay on Pi: Indoor, climate-controlled environments. Temperature between 0°C and 50°C. No moisture, dust, or vibration exposure. Examples: server rooms, offices, retail spaces, residential.

Graduate: Outdoor installations, industrial environments, or anywhere with temperature extremes, moisture, dust, or vibration. The Pi's consumer-grade components aren't rated for these conditions. The SoC is rated 0-85°C, but the SD card, USB connectors, and solder joints aren't. A Pi in a metal enclosure in direct sunlight reaches 70°C internally on a 35°C day — and throttles its CPU to avoid damage.

✕ Pi-friendly environments
  • Indoor, climate-controlled
  • Stable power supply available
  • Network connectivity available
  • Physical access for maintenance
  • No ingress protection needed
✓ Graduate environments
  • Outdoor or harsh industrial
  • Variable power, potential brownouts
  • Cellular or satellite connectivity needed
  • Remote sites, no physical access
  • IP65+ enclosure required

I've seen this pattern where a team deploys Pis in outdoor enclosures for agricultural monitoring. The first summer, three units die from heat. The second summer, they add heatsinks and fans — now the enclosures need ventilation holes, which lets in moisture. The third summer, they switch to industrial SBCs with conformal coating and -40°C to 85°C operating ranges. They should have graduated after the prototype proved the concept.

Axis 4: Power Budget

Stay on Pi: Wall power is available. The Pi draws 3-7 watts depending on load, and a standard USB-C power supply handles it indefinitely.

Graduate: Battery operation is required, or power consumption matters for operational cost. A Pi 4 at idle draws about 3 watts. An ESP32 in deep sleep draws 10 microamps — that's a factor of 300,000. A solar-powered field sensor that needs to run for a year on a small battery isn't a Pi project. It's an ESP32 project, or a custom low-power design.

The Pi has no meaningful sleep mode. You can halt the CPU, but the USB controller, HDMI circuits, and voltage regulators keep drawing power. Even a Pi Zero W draws 0.5 watts at idle. For battery-powered applications, the Pi is simply the wrong architecture.

Axis 5: Regulatory Compliance

Stay on Pi: Internal tools, prototypes, personal projects, and any deployment where you don't need certification. The Pi itself has FCC/CE certification as a component, but your assembled product — Pi plus sensors plus enclosure plus power supply — is a new product that may need its own certification.

Graduate: Any product you sell to customers. Any medical device (FDA/CE MDR). Any automotive system (ISO 26262). Any device deployed in commercial buildings (UL listing). Certification for a Pi-based product is possible but expensive — you're certifying the entire assembly, and the Pi's exposed GPIO and consumer-grade components make EMC compliance harder than it needs to be. Purpose-built hardware with integrated shielding passes certification more easily.

The regulatory cliff

The cost of regulatory compliance is a step function, not a gradient. There is no "a little bit certified." Either you pass FCC Part 15 or you don't. Either you pass CE or you don't. For products that need certification, factor the cost ($10K-50K for FCC/CE, $100K+ for medical devices) into the graduation decision. That cost is the same whether you certify a Pi or a custom board — so the question becomes which platform passes more easily.

Scoring the Graduation Decision

For each axis, score your deployment:

  • Stay — the Pi meets the requirement comfortably
  • Stretch — the Pi meets the requirement with mitigations (NVMe instead of SD, heatsinks, UPS for power stability)
  • Graduate — the Pi doesn't meet the requirement, and mitigations add complexity without solving the root issue

If three or more axes score "Graduate," the Pi was a prototype platform. It validated the concept. It proved the architecture works. Now move to hardware that fits the deployment context. The code you wrote — the Python, the MQTT message contracts, the systemd patterns, the Docker Compose stack — transfers. The architecture you validated transfers. The Pi's job was never to be the final answer. Its job was to get you to the right question fast enough that you could afford to ask it.

Key takeaway

The Pi's job is to validate the idea fast and cheap. If three of five graduation axes say "move on," the Pi did its job. Carry the architecture forward and leave the board behind.

The Graduation Paths

When the Pi graduates, it doesn't graduate to one thing. The right next platform depends on which axes drove the decision.

Pi to ESP32: Simpler, Cheaper, Battery-Friendly

When: your application is a sensor reader that publishes MQTT, you need battery operation, and the unit cost at 100+ devices matters.

The ESP32 runs MicroPython or Arduino C++. It has WiFi and Bluetooth built in. It draws microamps in deep sleep. And it costs $3-8 per module. The tradeoff: no Linux, no apt, no systemd, no Docker. Your application needs to fit in a single-threaded loop. If it does — and most sensor-reader applications do — the ESP32 is the natural graduation.

# ESP32 MicroPython — same MQTT contract, different platform
import machine
import dht
import ujson
import time
from umqtt.simple import MQTTClient

sensor = dht.DHT22(machine.Pin(4))
client = MQTTClient("esp32-office", "192.168.1.100")
client.connect()

while True:
    sensor.measure()
    payload = ujson.dumps({
        "value": sensor.temperature(),
        "unit": "celsius",
        "location": "office",
        "timestamp": time.time()
    })
    client.publish("environment/temperature", payload)
    time.sleep(30)

Notice that the MQTT message format is identical to the Pi version. The subscriber — Telegraf, InfluxDB, Grafana — doesn't know or care that the publisher changed from a Pi to an ESP32. That's the power of the MQTT Contract. The protocol boundary survives the hardware migration.

The protocol boundary survives the hardware migration. The MQTT subscriber doesn't know or care that the publisher changed from a Pi to an ESP32.

Pi to Custom PCB: Volume Production

When: you're manufacturing 500+ units and the bill of materials matters. A Pi Compute Module 4 (the SoC without the I/O board) costs $25-45 and mounts on a custom carrier board. You design the carrier with exactly the connectors, sensors, and power regulation your product needs — nothing more.

This path requires PCB design skills (KiCad is free and excellent) and a manufacturing partner (PCBWay, JLCPCB). The engineering investment is $5K-20K for the carrier board design, but the per-unit cost drops to $30-50 for a complete system that's mechanically optimized for your enclosure.

Pi to Industrial SBC: Harsh Environments

When: the application requires a Linux computer with GPIO, but the deployment environment is too harsh for consumer hardware. Industrial single-board computers from companies like Advantech, Toradex, and OnLogic run the same ARM Linux stack as the Pi but with extended temperature ranges (-40°C to 85°C), conformal coating for moisture resistance, industrial connectors (M12 instead of USB), and eMMC storage instead of SD cards.

The per-unit cost is $150-400 — significantly more than a Pi, but the application code is identical. If it runs on Debian with Python and GPIO, it runs on these boards with minimal changes. The graduation cost is mostly procurement, not engineering.

Pi to Cloud: When Edge Processing Isn't Needed

When: the sensor data doesn't need local processing, and the value is in centralized storage and analysis. If your Pi is just reading a sensor and pushing data to a cloud database, an ESP32 with WiFi does the same thing at 1/10 the cost and 1/300 the power consumption. The "compute" part of "edge compute" implies you're doing something at the edge that can't be done centrally. If you're not, the Pi is overkill and so is the ESP32 — consider a LoRa radio module that costs $2 and transmits sensor readings to a gateway with zero local intelligence.

When the Pi Stays

Not every deployment graduates. Most shouldn't. The Pi stays when:

  • Volume is low — fewer than 100 units. The engineering effort to port to another platform exceeds the hardware cost savings.
  • The environment is controlled — indoor, powered, networked. The Pi's consumer-grade components are more than adequate.
  • The application is complex — OpenCV, TensorFlow Lite, Docker, Flask, multiple services. Porting this to an ESP32 is a rewrite, not a port. The Pi's Linux environment is a genuine requirement, not a convenience.
  • Iteration speed matters more than unit cost — internal tools, R&D projects, and any deployment where "working today" is more valuable than "optimized next quarter."
  • The team's skills are in Python and Linux — rewriting in C++ for an ESP32 or designing a custom PCB requires skills that may not exist on the team. The Pi lets Python developers ship hardware products without learning a new language or toolchain.
Key takeaway

Most internal tools and small deployments should stay on Pi forever. The graduation question only matters when volume, environment, power, or regulation forces it.

I've seen this pattern where an engineering team spends six months porting a Pi prototype to a custom board for a deployment of twenty units. The engineering cost — six months of a senior developer's time — exceeds the lifetime hardware cost difference by a factor of ten. They graduated when they should have stayed. The Pi was the right production platform all along. They just couldn't accept that a $35 board was "serious" enough for production.

The Good Enough Principle

There is a persistent belief in engineering culture that production hardware must be expensive to be reliable. This belief is wrong, and it's expensive. A Pi 4 running from an NVMe SSD, powered by a quality USB-C supply, managed by systemd, and monitored remotely is a reliable production system for any indoor, low-volume deployment. It's not the most reliable system possible. It's reliable enough — and "enough" is the only threshold that matters for production.

The engineering team that deploys a $35 Pi where a $35 Pi will do is not cutting corners. They're allocating engineering effort where it creates value — in the application logic, the detection algorithms, the dashboard design, the alert thresholds — instead of in hardware optimization that nobody asked for.

✕ Over-engineering the hardware
  • Custom PCB for 10 units
  • Industrial SBC for an office deployment
  • ESP32 rewrite for a non-battery application
  • Six months of porting for marginal cost savings
✓ Right-sizing the hardware
  • Pi for 10 units — done in a day
  • Pi for an office — more than adequate
  • Pi for a powered, networked application — correct tool
  • Ship today, optimize if volume demands it

The engineering team that deploys a $35 Pi where a $35 Pi will do isn't cutting corners — they're allocating effort where it creates value.

The Pi's Real Value

Here is the most important thing in this book, and I've saved it for the last page.

The Raspberry Pi's real value isn't the board itself. It's not the ARM processor, the GPIO pins, the camera port, or the $35 price tag. Those are features. The real value is the speed at which the Pi lets you validate whether an idea is worth building at all.

Before the Pi, testing a physical-world idea required weeks of procurement, hardware evaluation, and embedded development. The cost of being wrong was thousands of dollars and months of engineering time. That cost created a bias toward inaction — teams didn't prototype because the risk of a failed prototype was too high. Ideas that would have worked never got tested. Ideas that wouldn't have worked got tested anyway, expensively, because by the time the hardware arrived and the firmware was written, nobody wanted to admit the concept was flawed.

The Pi eliminated the cost of being wrong. A $35 board, an afternoon of Python, and a cheap sensor gives you a working prototype before the procurement email would have been answered. If the idea works, you have a validated architecture and working code to carry forward. If it doesn't, you've lost $35 and an afternoon. Not a quarter. Not a budget line item. An afternoon.

That asymmetry — the trivial cost of failure against the full value of validated success — is what makes the Pi transformative. Not for hobbyists building LED projects in their garage. For engineers making build-or-kill decisions about products that will cost real money to develop.

Every chapter in this book has been about one thing: collapsing the distance between "I have an idea" and "I know if it works." GPIO pins are the interface. Python is the language. MQTT is the protocol. Docker is the infrastructure. Systemd is the lifecycle manager. But the Pi is the vehicle. It's the thing that makes the trip short enough to be worth taking.

Key takeaway

The Pi's real value isn't the board. It's the speed at which it lets you discover whether an idea is worth building — before the idea gets expensive enough to be unkillable.

What to Do Monday Morning

Score your current Pi projects on the five graduation axes

For every Pi you have running — prototype or production — score it on reliability, unit cost, environment, power, and regulation. If three axes say "graduate," start planning the migration. If three say "stay," stop second-guessing the Pi and invest that energy in the application.

Identify one idea you've been avoiding because of hardware cost

There's an idea somewhere on your backlog — a sensor network, a camera system, a physical automation — that never got built because the hardware evaluation felt too expensive or too slow. Apply the $35 Test from Chapter 1. Buy a Pi. Build the prototype this week. Validate the idea before it gets another quarter older.

Document the architecture, not the hardware

For every project you've built in this book, write down the architecture in hardware-independent terms: "A sensor publishes temperature readings via MQTT. A subscriber stores them in a time-series database. Grafana visualizes the data and alerts on thresholds." This description works whether the sensor is a Pi, an ESP32, a custom PCB, or a cloud-connected industrial gateway. The architecture survives graduation. The hardware doesn't have to.

Share one prototype with someone who thinks hardware is hard

The biggest barrier to physical-world automation isn't skill. It's the belief that hardware requires a different kind of engineer. Show a software developer the security camera from Chapter 23 or the environmental monitor from Chapter 24. Let them see that it's Python on Linux with a sensor attached. The next prototype they build might be the one that changes their organization.

The Pi is not the destination. It never was. It's the fastest vehicle between an idea and an answer. Some of those answers will tell you to keep the Pi. Some will tell you to graduate to something else. But you'll have the answer in days instead of quarters, for dollars instead of thousands, and that changes what's worth attempting.

The Pi is the fastest vehicle between an idea and an answer — and knowing which ideas are worth building is more valuable than any board you'll ever buy.