Project

# Title Team Members TA Documents Sponsor
41 BetaSpray - Bouldering Route Assistance
Ingi Helgason
Maxwell Beach
Prakhar Gupta
# Beta Spray

[Link to Discussion](https://courses.grainger.illinois.edu/ece445/pace/view-topic.asp?id=78759)

**Team Members:**
- Maxwell Beach (mlbeach2)
- Ingi Helgason (ingih2)
- Prakhar Gupta (prakhar7)

# Problem

Spray walls in climbing gyms allow users to create endless custom routes, but preserving or sharing those climbs is difficult. Currently, climbers must memorize or manually mark which holds belong to a route. This limitation makes training inconsistent and reduces the collaborative potential of spray wall setups, particularly in community and training gym environments.

# Solution

Beta Spray introduces a combined scanning and projection system that records and visually reproduces climbing routes. The system maps the spray wall, categorizes each hold, and projects or highlights route-specific holds to guide climbers in real time. Routes can be stored locally or shared across devices over a network. The design includes three primary subsystems: vision mapping, projection control, and user interface.

# Solution Components

## Vision Mapping Subsystem

This subsystem performs wall scanning and hold detection. A **camera module** (Raspberry Pi Camera Module 3 or Arducam OV5647) will capture high-resolution images under ambient lighting conditions. The **ESP32** will handle image capture and preprocessing using C++ OpenCV bindings. The image recognition algorithm will identify hold contours and assign coordinates relative to wall geometry.

If on-device processing proves too compute-intensive, the camera data can be sent via HTTP requests to a remote machine running an OpenCV or TensorFlow Lite inference service for offloaded recognition. To improve reliability in low-light setups, IR LEDs or reflective markers may be added for hold localization. If latency proves too high, a physical layer solution could connect directly to a nearby laptop to speed up computer vision processing.

## Projection Subsystem

The projection subsystem highlights route holds using **servo-actuated laser pointers**. Each laser module will be mounted to a **2-axis servo gimbal** arrangement controlled by a microcontroller PWM interface. The system will direct up to four laser beams to indicate sequential handholds as users progress. A benefit of using servos over motors is avoiding PID tuning for motor control loops.

If laser precision or safety reliability becomes an issue, an alternative approach will use a **compact DLP or LED projector**, calibrated through the same coordinate mapping. Mechanical design will ensure adjustable pitch angles to accommodate wall inclines up to 45 degrees.

## User Interface Subsystem

Users configure and control Beta Spray through a web or mobile interface. The **ESP32** module provides Wi‑Fi and Bluetooth connectivity, and the **ESP‑IDF SDK** enables local route storage through SPI flash or SD card, along with a lightweight HTTP server for remote control. The interface will include climb management (create, save, replay) and calibration controls.

If latency or bandwidth limits affect responsiveness, a fallback option is to implement a wired serial or USB configuration interface using a host computer to manage routes and command sequences. A basic mobile or web frontend will be developed using **Flutter** or **Flask**.

# Physical Constraints

- The system will draw power from a standard outlet (no battery operation needed).
- The device will be secured to the floor using a stable stand or rubber bumpers to prevent slipping.
- The total footprint will be **less than 25 cm * 25 cm**, with a maximum height of **40 cm**, including the laser pointer gimbals.

# Criterion for Success

Beta Spray will be successful if it can:
- Achieve reasonable accuracy in laser pointer targeting to mark holds.
- Track a climber’s movement in real time with less than **200 ms** latency.
- Interface with a mobile device to change route planning and trajectory.
- Operate consistently across varied placement distances and wall angles.

Meeting these criteria will validate the feasibility of Beta Spray as a modular and expandable climbing wall visualization platform.

CHARM: CHeap Accessible Resilient Mesh for Remote Locations and Disaster Relief

Martin Michalski, Melissa Pai, Trevor Wong

Featured Project

# CHARM: CHeap Accessible Resilient Mesh for Remote Locations and Disaster Relief

Team Members:

- Martin Michalski (martinm6)

- Trevor Wong (txwong2)

- Melissa Pai (mepai2)

# Problem

There are many situations in which it is difficult to access communicative networks. In disaster areas, internet connectivity is critical for communication and organization of rescue efforts. In remote areas, a single internet connection point often does not cover an area large enough to be of practical use for institutions such as schools and large businesses.

# Solution

To solve these problems, we would like to create a set of meshing, cheap, lightweight, and self-contained wireless access points, deployable via drone. After being placed by drone or administrator, these access points form a WiFi network, usable by rescuers, survivors, and civilians. Our network will have QoS features to prioritize network traffic originating from rescuers. Having nodes/access points deployable by drone ensures we are able to establish timely connectivity in areas where search and rescue operations are still unable to reach.

Over the course of the semester, we will produce a couple of prototypes of these network nodes, with built in power management and environmental sensing. We aim to demonstrate our limited network’s mesh capabilities by setting up a mock network on one of the campus quads, and connecting at various locations.

# Solution Components

## Router and Wireless Access Point

Wireless Access for users and traffic routing will be the responsibility of an Omega2 board, with onboard Mediatek MT7688 CPU. For increased signal strength, the board will connect to a RP-SMA antenna via U.FL connector.

The Omega2 will be running OpenWRT, an Linux-based OS for routing devices. We will develop processes for the Omega2 to support our desired QoS features.

## Battery Management System

This module is responsible for charging the lithium-ion battery and ensuring battery health. Specifically, we will ensure the battery management system has the following features:

- Short circuit and overcurrent protection

- Over- and under-voltage protection

- An ADC to provide battery status data to the microcontroller

- 3.3v voltage regulation for the microcontroller and other sensors

In addition to miscellaneous capacitors and resistors, we intend to use the following components to implement the battery management system:

- The MT2492 step-down converter will be used to step down the output voltage of the battery to 3.3 volts. Between the GPS and extra power the microcontroller might consume with an upgraded Wifi antenna, low-dropout regulators would not provide sufficient power in an efficient manner. Instead, we will implement a 2 amp buck converter to improve efficiency and ensure there are no current bottlenecks.

- We will utilize two button-top protected 18650 3400 mAh lithium ion batteries in series to power each node. Placing two of these batteries in series will ensure their combined voltage never falls below the minimum voltage input of the buck converter, and accounting for the buck converter’s inefficiency these batteries should give us about 21 Wh of capacity. The cells we plan on using include a Ricoh R5478N101CD protection IC that provides over-voltage, under-voltage, and over-current protection. Using a standard battery form factor will make them easy to replace in the future as needed.

- A USB-C port with two pulldown resistors will provide 5 volt charging input with up to 3 amps of current, depending on the charger.

- The MT3608 step-up converter will boost the input voltage from the usb-c port and feed it into the charging controller.

- The MCP73844 Charge Management Controller will be used to charge the batteries. This controller supports CC/CV charging and a configurable current limit for safe and effective battery charging.

- The TI ADS1115 ADC will be used for battery voltage monitoring. This chip is used in the official Omega2 expansion board, so it should be easy to integrate in software. We will use a voltage divider to reduce the battery voltage to a range this chip can measure, and this chip will communicate over an I2C bus.

## Sensor Suite

Each node will have a battery voltage sensor and GPS sensor, providing the system with health information for each node. On top of the Wifi-connectivity, each module would have a series of sensors to detect the status of the physical node and helpful environment variables. This sensor suit will have the following features and components to implement it

- Ultimate GPS Module PA1616D will be used for positioning information. This chip utilizes 3.3V which is supplied through our battery management system.

Battery Voltage Monitor

- The TI ADS1115 ADC (mentioned in the BMS section) is for battery voltage monitoring. It interfaces via I2C to the Omega2.

## System Monitor

A system monitor which provides visibility of the overall system status for deployed network nodes. Information that we will show includes: last known location, battery health, and network statistics (e.g. packets per second) from the physical devices.

We plan on using React to provide an intuitive UI, using google-map-react and other React packages to create an interactive map showing the last known location and status of each node.

The backend will be hosted on a server in the cloud. Nodes will continually update the server with their status via POST requests.

# Criterion For Success

We aim to achieve the following performance metrics:

- 1.5 kg maximum mass

- Cover 7500 m^2 (North Quad) with 4 nodes

- Display the last known location, time connected, and battery voltage for all nodes via our system monitor

- 3 hour battery life

- 5 Mb/s WiFi available to laptops and smartphones in the coverage area

[*Link*](https://courses.engr.illinois.edu/ece445/pace/view-topic.asp?id=71252) *to assciated WebBoard discussion*