Define sensor interfaces and isolate filtering, thresholds and alarm transitions from board-specific drivers.
Building a repeatable embedded workflow with Pigweed and Bazel
A representative sensor-device use case connecting portable C++ firmware, Bazel-managed builds, host-side tests and on-device diagnostics with Pigweed.
Start with the observable problem.
An embedded team is developing an environmental sensor device. Developer workstations use different compiler versions, application logic is tightly coupled to board drivers, and manual flashing makes failures difficult to reproduce. The team needs a shared path from a reviewed source revision to tested firmware.
Turn uncertainty into a sequence of testable decisions.
Pin the project revision, Bazel version, dependencies and selected toolchains; verify clean builds on developer and CI hosts. Bazel alone does not make every toolchain hermetic.
Test threshold boundaries, invalid readings, alarm reset and sensor failures on the host using pw_unit_test with fake sensor inputs.
Select the board platform, build its firmware and run a local flashing target that depends on the correct artifact. Keep physical device access outside shared remote build execution.
Use pw_console and pw_rpc over the configured transport to inspect logs, read device state and exercise supported commands.
Validate real sensor timing, reset behavior and disconnect recovery on hardware; retain test logs, firmware hashes and toolchain identity for release review.
Move from scenario to solution, training and technical guidance.
Explore Knowledge HubPigweed and Bazel: From Sensor Logic to Verified Firmware
An illustrative embedded sensor workflow covering portable C++, repeatable builds, host testing, flashing, diagnostics and release evidence.
ContinueEmbedded Systems Engineering
Connect software to hardware behavior through embedded C/C++, Embedded Linux, BSP concepts, drivers, interfaces, debugging and product-level engineering practices.
ContinueEmbedded Systems
Engineering support for embedded Linux platforms, BSP and device integration, system interfaces, performance and low-level troubleshooting.
ContinueEmbedded Linux Production Basics
A practical introduction to the layers that turn Linux into a reliable embedded platform.
ContinueDevOps & Platform Engineering
Connect source control, CI/CD, infrastructure automation, containers, Kubernetes and observability into a coherent engineering delivery system.
ContinueSecurity Engineering
Build security understanding across Linux, networks, applications, DevSecOps, containers, Kubernetes and AI systems with practical engineering controls.
Continue