thesis abstract: interstice

embedded networking firmware to enable intuitive, zero-conf pervasive computing

2024-10-01

Contemporary networked microcontroller-based electronics rarely embed meshing capabilities, typically acting as leaf network nodes. When mesh-enabled (via e.g. Thread, Bluetooth Mesh), the mesh network is limited to a single physical interface technology (typically radio). As a result, it is difficult to deploy embedded networks across heterogeneous physical links, commonly requiring expert integrators to build bespoke bridges between link domains. This imposes design constraints, disfavoring microcontrollers without radio networking capabilities and limiting compatibility across physical links.

These limitations have significant consequences in the spaces of sensor networks, pervasive computing, and IoT. Here, network connectivity is crucial, but data rate requirements tend to be low. We argue that improving the status quo in ability to integrate network connectivity, and especially transitive connectivity via neighbors, could represent a paradigm-shifting improvement for the field.

We observe that any graph of physical links (conductors, point-to-point radio connections, audio or optical transceivers) in a distributed embedded system, a communications network could be constructed that would enable any two nodes in a connected component of that graph to communicate. This is not possible today because embedded devices do not implement link-to-link bridges that would enable this transitive connectivity.

This is what this thesis intends to address. We will develop and publish open-source firmware libraries implementing packet switching (L2) and IP routing (L3) capabilities across modular physical (L1) backends, supporting common wired and wireless protocols. The design intent is to implement an Ethernet network over device-to-device serial links and buses, bridged with any WiFi, Bluetooth, or other available 802.15.4 wireless links. At least one Ethernet PHY driver will be provided, and host computers will be able make edge connections through USB CDC-NCM. These libraries will be provided with Arduino-compatible C header files and precompiled library archives for common embedded ISAs.

A demonstrator system will be developed that showcases these networking capabilities across a multitude of microcontrollers and physical links. Link throughput and power characterization will be performed and analyzed at several network sizes and with different microcontrollers.