Project

# Title Team Members TA Documents Sponsor
17 Arduino-Powered Network Flow Visualization Toolbox
Bolin Zhang
Jiahao Fang
Yiyang Huang
Ziyuan Chen
design_document2.pdf
design_document3.pdf
final_paper1.pdf
final_paper2.pdf
final_paper3.pdf
proposal1.pdf
proposal2.pdf
video
Pavel Loskot
## PROJECT DESCRIPTION

Many real-world systems involve flows over networks. Our team aims to build a **modular, reconfigurable hardware emulator** to visualize network flows under capacity constraints on links. Each node can be configured to act as a sink, a source, or a "transfer station" that holds zero flux. This toolset will facilitate the understanding of flow optimization algorithms in a classroom setting.

## SOLUTION OVERVIEW

We use a scalable design where components are easily replaceable to account for network expansion. The emulator should have a central Arduino controller that talks to each node and link to display the capacities and actual flow amounts.

*Tentative: It may be desirable to have a software GUI to display the network alongside the physical model due to space (# LEDs) and protocol (# pins) constraints in each node/link.*

## SOLUTION COMPONENTS

### Subsystem 1: Physical Network Model

- We should build a fully functional physical model where pipes represent network links and the LEDs within show the maximal capacity and real-time flow of "data packets."
- Each node should be configurable as sink, source, or neither ("transfer station") with a user-friendly interface such as buttons or switches.

### Subsystem 2: Software Flow Computer

- We should build an intuitive software interface that allows the user to easily configure nodes (3 modes) and links (capacity) while controlling the LED flow display.
- We should implement a robust and *lightweight* optimization algorithm that efficiently computes network flows on an embedded Arduino board while considering all constraints (node configurations, link capacities).
- Alongside the design process, we should write comprehensive documentation detailing the manuals for software setup, operation, troubleshooting, and our development process.

## CRITERION OF SUCCESS

- The physical model should be modular, i.e., each node has a certain number of "slots" reserved for installing new links (pipes).
- The Arduino software should communicate with all nodes and pipes and update the flows in real-time in response to changes in setup. At the current stage, we aim to serve 4~6 fully connected nodes.
- The algorithm should handle (and report) edge cases such as a network with zero or multiple feasible flows.

## DISTRIBUTION OF WORK

- Ziyuan Chen (ECE) - software developer: maintain the code for flow optimization and Arduino-hardware communication protocol
- Bolin, Jiahao (EE) - hardware developer: handle the physical layout of peripherals (pipes and LEDs), design user interface
- Yiyang Huang (ME) - integration and testing specialist: design the protocol for node configuration and conduct stress tests in edge cases

RFI Detector

Featured Project

Problem Statement:

Radio frequency interference from cell phones disrupts measurements at the radio observatory in Arecibo, Puerto Rico. Many visitors do not comply when asked to turn their phones off or put them in airplane mode.

Description:

We are planning to design a handheld device that will be able to detect radio frequency interference from cell phones from approximately one meter away. This will allow someone to determine if a phone has been turned off or is in airplane mode.

The device will feature an RF front end consisting of antennas, filters, and matching networks. Multiple receiver chains may be used for different bands if necessary. They will feed into a detection circuit that will determine if the power within a given band is above a certain threshold. This information will be sent to a microcontroller that will provide visual/audible user feedback.