Chapters

9 Choosing a Hardware Platform

prototyping
hardware
platform-selection
development-boards
validation
In 60 Seconds

Choose the Board That Answers the Next Question

Picture a bench prototype whose loose wiring resets whenever its radio sends. Buying a more powerful board may hide the fault without proving power, wiring, or deployment behavior.

Firmware means the software stored on the device. A gateway means the boundary system that connects local devices to another network or service. Choose a platform for the risk you need to test.

Build one sensor-to-service path, disturb power and one connection, restart it, and replace one module. Keep board version, wiring, software version, fault, recovery, and measurement records.

This runway does not prove that the prototype is ready to manufacture. The deeper sections compare starter boards, controller boards, module carriers, gateway boards, custom boards, and transition evidence.

A hardware platform is the temporary form that lets a prototype answer its next question. Use a starter board to learn pins and firmware, a connected controller board to test embedded device behavior, a module carrier to stabilize wiring, a gateway board to test local application services, and a custom board when layout, enclosure, power, and repeatability become the real risks.

The mathematical gist. At 0 dBm transmit power, a 2 dBi chip antenna gives 1.58 mW EIRP while a 9 dBi panel gives 7.94 mW. Ideal range grows by 7.94/1.58=2.24\sqrt{7.94/1.58}=2.24, but the covered share of a sphere shrinks from 63.1% to 12.6%. Separately, a 12-bit 3.3 V ADC has 0.806 mV steps and 0.233 mV RMS quantisation noise.

Math Bridge · guided foundationsWhat does a higher-gain gateway antenna trade away?Let Voltage Vera compare EIRP, ideal range, coverage angle, and the separate ADC noise floor.

9.1 Start With the Story

Suppose a weather-station team can buy a starter board, a radio module carrier, a reference design, or a rugged gateway. Each option is tempting for a different reason, but the useful question is which one exposes the risk now: sensor noise, antenna placement, firmware upload, battery current, field mounting, or recovery after power loss.

This chapter treats platforms as evidence tools rather than shopping choices. A good platform decision names what the board will prove, what it cannot prove, and which measurement would disqualify it before the project depends on it.

9.2 Platform Is a Role

A hardware platform should be chosen because it answers the next prototype question with the least added uncertainty. The same board can be a learning tool, a throwaway demo platform, a production-intent module host, or the wrong abstraction depending on the stage.

For IoT work, the platform decision usually turns on five questions: local control, communication, power state, physical fit, and service path. A board that is excellent for firmware iteration may still hide enclosure, sleep-current, connector, antenna, or update risks.

Inspect Hardware Platform Role Map and communication in Figure 9.1 for platform is a role. To make platform is a role reviewable, compare Hardware Platform Role Map with communication in it. The figure ties this to and service path.

Hardware platform role map connecting the current prototype question to starter board, connected controller, module carrier, gateway board, custom board, and reference design forms.
Figure 9.1: The useful platform is the form that exposes the current prototype question: learning pins and firmware on a starter board, proving embedded node behavior on a connected controller, stabilizing modules on a carrier, testing gateway services, preparing a custom-board transition, or checking a reference design against the target risk.

Read Hardware Platform Role Map with communication in Figure 9.1 for platform is a role. Compare it by setting Hardware Platform Role Map against communication under and service path. The choice depends on and service path. Preserve the and service path condition in the handoff for platform is a role.

  • Starter role: prove pins, libraries, timing, sensor behavior, and debugging flow quickly.
  • Connected-node role: prove embedded sensing, local outputs, sleep/wake behavior, and real message paths.
  • Gateway role: prove local storage, protocol translation, offline behavior, dashboards, service logs, and field diagnostics.

For example, an ESP32 DevKitC, Raspberry Pi Pico W, Arduino Nano 33 IoT, STM32 Nucleo board, Nordic nRF52 DK, Adafruit Feather, or Seeed XIAO can all be useful IoT platforms, but they do not answer the same question. A Pico W may be a fast way to learn MicroPython GPIO and Wi-Fi behavior. An nRF52840 board may be better when Bluetooth Low Energy or Thread behavior matters. A Raspberry Pi or Compute Module may be a gateway platform when the evidence is local Linux services, files, camera input, or a dashboard. A custom carrier becomes useful when connector strain, test points, enclosure clearance, and assembly repeatability are the next unknowns.

For a first “build your own IoT” path, the practical options are usually a microcontroller, a single-board computer, or a phone-backed prototype. A microcontroller is the right shape when the learner must prove GPIO, sensor sampling, actuator timing, sleep current, and radio behavior. A single-board computer, including older DragonBoard 410c-style Linux boards, is the right shape when the evidence is local files, camera input, higher-level services, or gateway behavior. A smartphone can be a useful prototype surface when the question is location, camera, accelerometer, permission flow, or user interaction, but it should be recorded as a phone-mediated system rather than as proof that the final embedded node can meet power or recovery targets.

The platform choice should therefore be written as an evidence sentence: “Use this form because it can measure this risk now.” If the sentence only says “we know this board” or “it has enough compute”, the team has not chosen a platform role. The review should name the present evidence gap, the board or form that exposes it, the risk the form hides, and the exit signal for moving to a module carrier, gateway, or custom board.

9.3 A Raspberry Pi GPIO and Camera Proof Slice

An NPTEL Raspberry Pi walkthrough pairs two deliberately small proofs. The first uses a Raspberry Pi, LED, 100 ohm resistor, breadboard, and jumper wires to show that software can drive a physical output. The second connects the Raspberry Pi camera module through the board’s dedicated CSI slot and proves that the operating-system interface can reach the sensor. Together they separate three boundaries that a larger prototype can easily blur: wiring, software configuration, and captured output.

9.4 Capture the Evidence, Not Just the Demo

For the LED path, the source installs the Python development package and python-rpi.gpio, connects the LED’s negative terminal to ground and its positive terminal to an output pin, and edits a Python file with nano. The script selects GPIO.BOARD numbering, configures physical pin 11 as an output, drives it high and low with one- and two-second delays for five loop passes, and calls GPIO.cleanup(). A useful record therefore keeps the numbering mode, physical pin, resistor, wiring polarity, loop count, delays, and cleanup behavior together; “the LED blinked” alone loses the conditions that made the result repeatable.

For the camera path, the source places the ribbon cable in the dedicated CSI connector, boots the Pi, enables the camera through raspi-config, and reboots. It then captures image.jpg either with raspistill -o image.jpg or with a picamera.PiCamera() object and capture('image.jpg'). Preserve which path was used, the configuration step, the output filename, and the resulting file. These are provenance-bound source commands, so a present-day lab should still record the actual image, package, command, and interface it tested rather than treating a remembered command name as proof.

9.5 What the Two Paths Actually Exercise

The GPIO path crosses Python library, numbering mode, pin direction, external circuit, and timing. The camera path crosses physical connector, boot-time discovery, interface enablement, capture API, and filesystem output. A failure record should stop at the first boundary that lacks evidence: do not rewrite the blink loop before checking polarity and pin numbering, and do not debug image processing before proving that the camera interface can produce one file.

9.6 Practitioner: Shortlist by Risk Removed

A useful shortlist names what each platform form can prove. Arduino Uno, Arduino Nano 33 IoT, Raspberry Pi Pico W, ESP32 DevKit, STM32 Nucleo, Nordic nRF52 DK, and Adafruit Feather boards make different tradeoffs in pin access, radios, power, toolchains, shields, and ecosystem support. Raspberry Pi, Compute Module, BeagleBone, Jetson Nano, and small x86 gateways make different tradeoffs in Linux services, storage, camera/display support, and power draw.

Board names hide the silicon family underneath them, and the family is often the more durable piece of shortlist evidence. ARM Cortex-M and Cortex-A cores appear across many current designs (STM32, nRF52, and SAMD-based boards among them), classic Atmel/Microchip AVR and Microchip PIC parts still turn up in hobbyist kits and legacy firmware, TI’s MSP430 remains a common pick when deep-sleep current matters more than raw throughput, and 8051-derivative cores persist in cost-driven legacy designs long after the board that popularized them is gone. Naming the family, not just the board, keeps the shortlist honest about toolchain lock-in, second-source availability, and how much of a board’s convenience comes from the core versus a support layer stacked on top of it.

Gateway-class boards make a similar substitution at a coarser grain. A Raspberry Pi-class board is a single SoC pairing a multi-core CPU with an integrated GPU, working RAM, and a GPIO header (commonly 40 pins) plus a USB path that fans out to peripherals and a network interface. It is that CPU/GPU/RAM pairing, not the board’s form factor, that mostly sets the idle-power floor, the camera/display headroom, and how much local Linux service the gateway role can actually carry.

  • Measure endpoint fit: boot time, sleep current, wake time, radio attach time, ADC noise, GPIO drive path, firmware update route, and watchdog recovery.
  • Measure gateway fit: cold boot, service restart, storage resilience, offline queue length, local UI response, network reconnect, logs, and remote access.
  • Measure physical fit: connector strain, mounting holes, antenna clearance, sensor exposure, enclosure clearance, cable exit, test-point access, and assembly repeatability.
  • Measure transition cost: pinout migration, module availability, carrier-board complexity, library lock-in, supply risk, certifications, and custom-board effort.

Start with two or three plausible forms, not ten boards. For a battery sensor node, compare a development board with the target radio module, a module carrier, and a reference-design board. For a gateway, compare a Raspberry Pi-class single-board computer, an industrial gateway, and the lowest-power Linux-capable option that can still run the needed services. For each option, record the measurement that would disqualify it: active current, deep-sleep current, wake time, radio attach time, sensor noise, storage corruption after power loss, enclosure interference, or inability to recover firmware.

Use real evidence tools during the shortlist. A Nordic Power Profiler Kit II, Joulescope, bench supply with current limit, USB power meter, logic analyzer, oscilloscope, serial console, Wireshark trace, MQTT broker log, or systemd journal can make the platform comparison concrete. Firmware-tool evidence matters too: Arduino IDE, PlatformIO, ESP-IDF, Zephyr with west, STM32CubeIDE, pyOCD, OpenOCD, esptool.py, nrfjprog, and Raspberry Pi OS all change how fast the team can flash, log, recover, and repeat tests. The winning platform is the one that removes the current uncertainty without making the next transition unreasonably expensive.

Keep a rejected option in the record. If an ESP32 board was rejected because its USB-UART circuit and regulator hid sleep current, say so. If a Raspberry Pi was rejected because boot time, storage writes, or power draw were irrelevant to the sensor-node question, write that down. If a module carrier was deferred because the team had not stabilized pinout or sensor placement, record the exit criteria that would trigger it.

9.7 Convenience Hides Product Risk

Development convenience is real value, but it should be separated from deployment risk. USB power, breadboard headers, onboard LEDs, auto-reset circuits, SD cards, desktop Linux images, and shield ecosystems speed learning while hiding the behavior of the final device.

  • Power risk: USB-powered demos can hide battery chemistry, regulator heat, inrush current, low-voltage lockout, and sleep leakage.
  • Communication risk: lab Wi-Fi can hide LoRaWAN, LTE-M, NB-IoT, BLE, Ethernet, RS-485, Thread, or Matter commissioning behavior.
  • Mechanical risk: jumper wires and shields can hide connector keying, cable strain, antenna placement, exposed sensors, gasket pressure, and service access.
  • Operations risk: dev images can hide secure boot, signed OTA updates, credential storage, remote logs, recovery mode, and fleet provisioning.

Many board-level differences are hidden in support circuits rather than the main processor. A development board may include a USB-to-UART bridge, linear regulator, charger, power LED, level shifter, auto-reset circuit, pull resistors, boot-mode strapping, or solder-jumper defaults that are not present in the final design. Those parts can change idle current, reset timing, ADC noise, radio behavior, and first-power symptoms. The platform review should name which support circuits are part of the evidence and which are merely conveniences.

Software layers create similar risk. An Arduino core may hide ESP-IDF configuration, a vendor BSP may hide clock and pin defaults, and a Raspberry Pi image may hide Linux service dependencies, filesystem writes, udev rules, NetworkManager behavior, and shutdown recovery. A board that works in the lab can still fail the evidence question if it cannot expose boot logs, watchdog resets, radio reconnects, flash wear, certificate storage, or signed-update failure paths. When the platform includes a radio module, check the module datasheet and reference layout assumptions: antenna keep-out, ground plane, matching network, regulatory modular approval, and enclosure effects are not proven by a USB-powered bench demo.

The platform has done its job when it exposes the next risk clearly enough to choose the next form. That may mean moving from an Arduino-class starter board to an ESP32 or nRF52 connected node, from loose modules to a carrier board, from a laptop-hosted script to an embedded gateway, or from a module carrier to a custom PCB. The under-the-hood test is whether the next transition is based on measured behavior rather than the comfort of the board already on the bench.

9.8 Learning Objectives

By the end of this chapter, you will be able to:

  • Explain the difference between a platform role and a specific board.
  • Match platform forms to prototype evidence needs.
  • Compare starter boards, connected controller boards, module carriers, gateway boards, and custom boards by the questions they answer.
  • Decide when to move from a flexible platform to a more constrained hardware form.
  • Write a platform selection record that preserves the rationale for later revision.

9.9 Platform Choice Is a Prototype Decision

Platform selection should begin with the next evidence gap, not with a familiar board name. A platform is useful when it reduces uncertainty without adding a larger problem.

Ask what the current prototype must prove:

Can the firmware control hardware?Use a board that exposes pins, buses, timing, reset, and debug clearly.
Can the device communicate?Use a platform that includes or cleanly hosts the needed radio, wired link, or gateway interface.
Can the system run locally?Use a gateway-class platform when files, services, local storage, or dashboards are part of the evidence.
Can the design survive packaging?Use a carrier or custom board when wires, connectors, enclosure fit, and repeatability dominate.
Do Not Let Platform Define Need

A popular board can make early progress fast, but it can also hide power, connector, enclosure, service, or field-recovery risks. Keep the platform accountable to the prototype question.

9.10 Platform Forms and What They Prove

Each platform form answers a different class of question. Treat the form as a stage-gate choice.

Inspect 1. Prototype question and Communication in Figure 9.2 for platform forms and what they prove. At the decision point in platform forms and what they prove, keep both 1. Prototype question and Communication visible in it. connector and fit marks the next check.

Hardware platform selection funnel beginning with the prototype question, filtering controller, communication, physical, and service evidence, then choosing a starter board, connected node, module carrier, gateway board, or custom board with an exit gate and rejected option recorded.
Figure 9.2: Hardware platform selection funnel from prototype question to platform form

Read 1. Prototype question with Communication in Figure 9.2 for platform forms and what they prove. Set its cases with 1. Prototype question and Communication as cases under connector and fit. The choice depends on connector and fit. The running argument in platform forms and what they prove therefore stays bounded.

Starter boardBest for learning pin behavior, sensor libraries, simple firmware loops, and fast wiring changes.
Connected controller boardBest for embedded nodes that need local sensing, low-energy states, and direct communication testing.
Module carrierBest for stabilizing several modules while preserving replacement, probing, and subsystem isolation.
Gateway boardBest for local storage, protocol translation, dashboards, service logs, and network recovery behavior.
Custom boardBest for layout, power distribution, connector placement, enclosure fit, repeatability, and assembly handoff.
Reference designBest when the prototype must follow a known electrical pattern but still needs project-specific evidence.

9.10.1 Avoid False Comparisons

Comparing platforms by a single feature is usually misleading. A board with more processing headroom may be weaker for battery sleep. A board with fast software iteration may be weaker for deterministic I/O. A board with convenient connectors may be too large for the intended enclosure.

9.11 Platform Fit Matrix

A platform shortlist should be reviewed against constraints that can be measured or inspected. Use the matrix to record what each candidate can prove and where it may hide risk.

Inspect Evidence Area and lab-only success in Figure 9.3 for platform fit matrix. To test platform fit matrix, separate Evidence Area from lab-only success using it. The route closes at next gate.

Hardware platform evidence matrix reviewing timing timers and resets, energy states, communication retry and gateway boundaries, physical fit and service access, software build and update paths, and transition evidence for carrier or custom boards.
Figure 9.3: Hardware platform evidence matrix linking platform constraints to proof and hidden risk

Read Evidence Area with lab-only success in Figure 9.3 for platform fit matrix. Audit it by keeping Evidence Area, lab-only success, and next gate as separate entries. Both Evidence Area and lab-only success need evidence. Return to platform fit matrix with lab-only success explicitly tested.

Review these evidence areas:

Timing evidenceDoes the platform expose timers, interrupts, reset behavior, and diagnostic logs needed to measure response?
Energy evidenceCan active, idle, sleep, wake, and failure states be measured separately?
Communication evidenceCan the prototype test the real message path, retry behavior, link loss, and gateway boundary?
Physical evidenceCan connectors, mounting, sensor placement, service access, cable strain, and enclosure fit be represented?
Software evidenceDoes the toolchain, library layer, update path, and debug route match the evidence the team needs?
Transition evidenceWhat must change when moving from this platform to a carrier board or custom board?
Shortlist Rule

Keep at least one rejected option in the review record. A good platform decision explains why the chosen form fits now and why a plausible alternative was not selected.

9.12 Transition Timing

Early platforms are flexible because they are easy to change. Later platforms are useful because they remove ambiguity. Move forward when the current platform is no longer answering the real question.

Inspect learning task done and local services in Figure 9.4 for transition timing. Before acting on transition timing, find the boundary between learning task done and local services on it. The remaining question is Measured behavior drives the move.

Hardware platform transition gates showing when a starter board should give way to a connected node, module carrier, gateway board, or custom board based on learning completion, power and packaging proof, stable wiring, local services, enclosure fit, power path, and repeatable assembly evidence.
Figure 9.4: Hardware platform transition gates from starter board to custom board

Read learning task done with local services in Figure 9.4 for transition timing. Step through it starting at learning task done, crossing local services, and closing on Measured behavior drives the move. A failure at local services changes the route from learning task done. The running argument in transition timing therefore stays bounded.

Use these transition signals:

Move from starter boardWhen the learning task is done and the project needs real power, communication, or packaging evidence.
Move to carrier boardWhen loose wiring, duplicated modules, or fragile connectors start hiding subsystem behavior.
Move to gateway boardWhen local services, storage, offline behavior, or field diagnostics become part of the prototype question.
Move to custom boardWhen layout, connector placement, enclosure fit, power path, and repeatable assembly become the main risks.
Keep the Old Platform Alive

Do not discard an early platform immediately. Keep it as a known-good comparison while the next platform is being brought up.

9.13 Worked Scenario: Cold Storage Monitor

A team is building a cold storage monitor for small facilities. The device must read several sensors, report events to a nearby gateway, keep working during short network outages, and fit inside a small enclosure with external probes.

9.13.1 Platform Path

Starter boardThe team confirms sensor readings, pull-up values, firmware timing, and diagnostic output on the bench.
Connected controllerThe team tests low-energy sampling, event messages, retry behavior, and local warning output.
Module carrierThe team replaces loose wiring with stable connectors, test points, and a repeatable power path.
Gateway boardThe team tests local buffering, status display, reconnect behavior, and service logs during network loss.
Custom boardThe team moves to layout evidence only after connector placement, enclosure fit, power path, and bring-up access are clear.

9.13.2 Platform Review Record

prototype=cold-storage-monitor
stage=functional-prototype
current_question=can sensor nodes report events through a local gateway during intermittent network loss?
chosen_platform_form=connected-controller-node plus gateway-board
why_node=local sensing, low-energy state measurement, event retry, and warning output
why_gateway=local buffering, reconnect behavior, status display, and service logs
rejected_option=single gateway-only design because it cannot prove distributed probe placement
next_transition=module carrier for connectors, test points, and enclosure fit

9.14 Platform Handoff Record

When a platform is selected, leave a record that future reviewers can challenge. Platform decisions often become hard to revisit after firmware, wiring, and test fixtures accumulate around them.

Inspect Current Question and low-energy state readings in Figure 9.5 for platform handoff record. To test platform handoff record, trace Current Question toward low-energy state readings in it. The route closes at prototype stage.

Cold-storage monitor platform selection record showing the intermittent-network reporting question, connected-controller node and gateway-board forms, evidence logs, rejected gateway-only option, module-carrier transition risk, and next carrier-board gate.
Figure 9.5: Hardware platform selection record for a cold-storage monitor

Read Current Question with low-energy state readings in Figure 9.5 for platform handoff record. Work through it by keeping Current Question, low-energy state readings, and prototype stage as separate entries. Keep prototype stage separately reviewable. The conclusion in platform handoff record now has a named boundary.

Record:

QuestionThe prototype question the platform is supposed to answer.
Chosen formThe platform form and its role in the system, not just a board name.
Measurement planMeasurements, logs, screenshots, wiring records, and failure tests needed for review.
Rejected optionA plausible alternative and the specific reason it was not selected.
Transition riskWhat will have to change when moving to a carrier board, gateway, or custom board.
Next gateThe next decision that this platform should make easier.

9.15 Hardware Accelerators: Select by Workload Evidence

A microcontroller or application processor does not have to execute every workload alone. Select an accelerator only after profiling the real hot path and defining the product lifetime. The useful comparison is workload, programmability, energy per completed task, latency/jitter, non-recurring engineering (NRE), unit volume, toolchain risk, and the evidence available when the design must be maintained.

Platform classStrong fitMain cost or limitEvidence before selection
DSPRepeated multiply-accumulate work, filtering, audio, communicationsSpecialised memory/compiler model; weaker fit for irregular controlKernel profile, fixed/floating-point error, worst-case latency, energy/task, compiler/library version
FPGADeterministic parallel pipelines, custom interfaces, reconfigurable timingHDL/tool skill, verification effort, static power, bitstream lifecycleTiming closure, resource use, power at workload, interface tests, bitstream provenance and update/rollback
ASICStable high-volume function with strict power/area/latency targetHighest NRE and longest change cycle; faults are expensive after fabricationFrozen requirement, verification/coverage, process and volume case, yield, lifecycle supply and errata plan
Heterogeneous SoCControl on CPU/MCU plus selected DSP/GPU/NPU/FPGA enginesData movement, shared memory, scheduler, driver, and observability complexityEnd-to-end trace including transfers, contention, fallback path, power states, driver/runtime compatibility

Use a staged selection:

First, Measure the representative software path on the simplest viable processor. Next, Isolate the kernel that misses a deadline or energy budget; retain its inputs and expected outputs as a mutation-sensitive fixture. Then, Benchmark the complete path on each candidate, including data conversion, transfers, queueing, wake-up, and fallback—not just accelerator execution. After that, Price NRE, tools, verification, unit volume, supply, field updates, and the years the evidence must remain reproducible. Finally, Keep a processor-only safe or degraded path where the product risk requires it, and state which requirements that path cannot meet.

Accelerator Decision Record

Record workload and deadline; accepted numeric error; average and worst-case latency; energy per completed task; memory and transfer cost; toolchain/runtime/bitstream or mask version; NRE and target volume; rejected alternatives; fallback; update/rollback path; lifecycle owner; and the measurement that reopens the decision. Peak operations per second alone is not selection evidence.

9.16 Knowledge Check

9.17 Match Platform Form to Evidence

9.18 Order the Platform Selection Review

9.19 Common Failure Patterns

The review names a board but does not explain whether it is acting as a starter board, connected controller, gateway, carrier, or transition path. The team cannot tell when the platform has stopped being useful.

A simulator can help with syntax, logic, or rough timing, but it does not prove connector orientation, power behavior, sensor noise, antenna placement, enclosure fit, or field recovery.

A platform with an easy setup can hide low-energy behavior, boot recovery, service access, or layout constraints. Review convenience separately from the evidence needed next.

The prototype stays on the same platform because the team never defined what evidence would trigger a carrier, gateway, or custom-board transition.

9.20 Summary

Hardware platforms are temporary evidence tools. Choose the platform form that answers the current prototype question, record the rejected alternatives, and define the transition risk before the team builds too much around a convenient board.

9.21 Key Takeaway

Prototype platforms are decision tools: select the board that exposes the right interfaces, ecosystem, power behavior, and migration path for the evidence you need.

9.22 What’s Next

First, AI, Wireless and Energy Kits - evaluate specialized kit categories without treating kits as architecture. Next, Industrial and Wearable Kits - review kit fit for constrained field environments. Then, Kit Selection Best Practices - apply platform evidence to kit selection. After that, MCU vs MPU - revisit controller-class decisions that sit underneath platform form choices.