“Say Hi”

Would plants feel hurt? Of course they would! Let plants tell you their feelings by "talking" to you.

Arduino + Programming, Team Project.


This was just an idea from my daily life at first. One of my friend asked me to look after his succulent at school, and he wrote me a whole piece of A4 paper of cultivating precautions. The priority of those precautions was "Don't touch them!", which made me generated the idea that if the plants themselves can "talk" to people, they could protect themselves from people's touch or grab. ​


It was an accidental opportunity that I got to know Paul Chen, an excellent programmer. I told him my "Speakable Plants” idea. Thanks to Paul Chen's help, and our prefect cooperation, the design came out. 


Learning & Practicing

​Learn form failure


October 2015 


Mengzhen Xiao 

Paul Chen (The Main Developer)



Arduino Hardware Part

Watch the video.

(Don't touch or grab the succulent as the video shown.:))

In the cultivating precautions, the priority is "Don't touch them!" Since succulents have a kind of special white frost on the surfaces' of the leaves, which has important function to protect the succulents. Some people mistake it from dust, so wipe it off by hands, which can lead death to these fragile lives.

Where did the story begin?

One of my friend at university, who is a succulent lover, decided to go home on National Day Holiday in 2015. Therefore, he asked me to look after his succulents at school. What surprised me was that I received a piece of A4 paper from him, filled with his hand-writing cultivating precautions.

Lovely succulent with white frost on the leaves' surface.

But how can I make sure my roommates or others who came to my dorm wouldn't touch these lovely creatures when I was absent? Put a warning sign? Make a glass protecting mask?Or...?

An great Idea came to my mind.

Why not let the plant tell its feeling to people by itself?

Ideation & Analysis in my mind

Start with System Diagram

How can we detect whether the plant is touched or not? I thought about infrared sensor, distance sensor, temperature sensor and pressure sensor at first. However, none of those sensor can set up the demo in a simple and effective way. Then a picture I saw before came into my mind. It was about generating power with lemon, which reminded me that both plants and human's hands are good conductor. In a same circuit, the whole resistance value would change when we touch the plant, so would the current value. Therefore, by detecting changes of current, we can detect different condition of the plant.

Power generating with lemon

Current changes

The diagram illustrates what components are needed for the whole system to work. The Current Detection Processing (working on PC) was developed by Paul Chen.

Sketch Circuit Diagrams

To visualize the circuit board of my design, I drew hand sketches and iterated for several times. 


Set Up In Arduino

Since I was a beginner in coding, the processing coding and the Current Detection Processing was mainly programed by Paul Cheng (the teammate).

Resistance 3300Ω

Resistance 10000Ω

Resistance 1mΩ






Arduino UNO

Download the code

(Send data)

Get linked

Then we used the Current Detection Processing(working on PC) to detect and record the current waveform in different conditions. Finally, we added different sounds to different conditions.

No sound.

"It hurts!"

"Don't touch me!"

How the graph changes with the current.


I made a lot of fun during this project. And without Paul Chen‘s help, the project couldn't go on well. It was a wonderful opportunity to learn about Arduino, and the programming world. I will definitely keep learning them in the future. Here are my reflections on what went well and what did not:

A good function to detect the touches.

There are many ways to detect human's hand, as I have mentioned before, but they need additional sensors, which should be connected to the plant. While by taking use of the plant's conductivity, there is no need of other sensors. I thought it is a cleverer way to detect the touches.

Learning from failures.

Since I had little knowledge of Arduino programming before, I learnt how to code step by step, which took me great time and efforts. It's important to check the codes by operating it in programming, while I got Errors many times. I had to recode the Errors and try again, which was frustrating but built my persistence. And also this experience made me realize how important programming skill is in making interactive demos. Therefore I took up my mind to learn programming from the basis.

Improvements in the future.

In this project demo, I only made the sound changes according to different current values. As is shown on the interface of the Current Detection Processing, I can also detect the condition when someone water the plant (since the current would be a different value when soil moisture changes). Therefore, I would like to add watering frequency data to the program, which can be made use of reminding people the time to water their plants.

Thank You!

Read Another Case Study