← all builds

From-Scratch Build · Robotics & Sensing

Plant-Tending Light-Path Robot

A robot that looks after a plant: wireless soil and light sensors report how the plant is doing, a depth camera sees its surroundings, and a light-path planner works out how to move it toward the light it needs. I built this from scratch to learn how sensing, perception and path planning come together on a robotics platform.

ROSBLE sensorsDepth camera Path planningEmbedded Linux

What it is

A plant that can find its own light

A potted plant can't move toward a sunny window — this robot can. A small wireless sensor reports the plant's temperature, light, moisture and fertility over Bluetooth, a depth camera maps the space around it, and a light-path planner uses all of that to decide where the plant should go to get the light it's lacking. The pieces run on an embedded computer using a robotics middleware to tie sensing, perception and planning together.

I built it to learn the full robotics loop on real hardware: not a simulation, but actual BLE sensors, a real depth camera and a planner that has to turn sensor readings into a movement decision.

The core idea I wanted to learn: a robot is a feedback loop wearing hardware. Sense the world, build a model of it, decide on an action, act, then sense again. Plant care just makes that loop tangible and easy to reason about.

The stack

Tools under the hood

The point of this rebuild was the toolchain. Here is what each piece actually does in the system.

middleware

ROS

The robotics message bus. Sensor readings, camera frames and planner output all flow as topics so the modules stay decoupled.

sensing

BLE plant sensor

A wireless sensor publishing temperature, light, soil moisture and fertility, read over Bluetooth and republished on a sensor topic.

perception

Depth camera

A RealSense-style camera providing colour and depth of the surroundings, so the robot can perceive its environment in 3D.

planning

Light-path planner

Takes the light readings and the perceived scene and computes a path toward better light for the plant.

fields

Vector-field guidance

A gradient-vector-field approach shapes smooth, continuous motion toward the goal rather than jerky waypoints.

platform

Embedded compute

An embedded Linux board runs the whole stack on-device, with a network setup script to link the robot's nodes.

The loop

From a sensor reading to a move

The robot runs a continuous sense-perceive-plan-act cycle, the same loop at the heart of any autonomous system.

  1. Sense live

    The BLE sensor publishes the plant's light, moisture, temperature and fertility.

  2. Perceive live

    The depth camera maps the surroundings in colour and 3D.

  3. Fuse live

    ROS brings sensor and camera streams together as topics the planner can subscribe to.

  4. Plan live

    The light-path planner computes a route toward the light the plant needs.

  5. Shape live

    A gradient vector field turns that route into smooth, continuous motion.

  6. Act & repeat live

    The robot moves, then the loop runs again with fresh readings.

The interesting bit

Why a vector field for the path

The light-path planner is the heart of the project, and the gradient-vector-field idea is what makes its motion feel natural:

In my rebuild I started with the sensor publisher, layered the camera on top, then fed both into a static vector-field planner so I could watch a light-seeking path emerge from real readings.

Reflection

What rebuilding it taught me