Smart Garden

I chose to create a smart garden for my main BlueStamp project. Using an mkr1000 microcontroller with wifi, a firebase database, and my own Python code, I created a can pull and graph real time data from moisture, temperature, and light sensors.


Jonathan E

Area of Interest

Computer Science


The Bay School of San Francisco


Incoming Senior

Final Milestone

For my final milestone I programmed the mkr1000 to read the data from moisture, light, and temperature sensors wired to a breadboard, sent that data to a database, and then created code to graph that data. The mkr1000, is a microcontroller and acts as a mini programmable computer with wifi, and, using Arduino, I programmed it to read the sensors while also connecting the mkr1000 to the Bluestamp wifi. Afterwards, I used a website called firebase to create a database which, over the BlueStamp wifi, connects to and receives the data being read by the mkr1000. Afterwards, I created a program which continuously grabs the new data stored on the firebase website and then graphs the data on three different plots with labeled axes. Because it is a Python program running on pycharm, the window with the plots deletes itself every 2 seconds before rebooting with the updated data.

First Milestone

For my main project I decided to create a smart garden, which involved wiring and programming an mkr1000 to gather data about moisture, light, and temperature of a plant, and send it to a web server. The mkr1000 is a microcontroller which is like a mini programmable computer with wifi, and with proper wiring can read data from multiple sensors. For my first milestone, I finished wiring the board. On the microcontroller, there are digital and analog pins. Digital pins only accept 5 volts or 0 volts while analog pins can accept any voltage. As my wires only required 3.3 V, I plugged all of my sensors to the analog pins. In pin a1, a white wire connects to a moisture sensor. This sensor also required a VCC (voltage supply) and GND (ground) to be wired to their respectives pins on the microcontroller. In pin a2, a blue wire connects the microcontroller to a temperature probe. In a3, a red wire connects the microcontroller to a photo resistor. The circuit here completes itself with a 10k resistor connecting the photoresistor to the negative strip on the side. Besides learning how to wire a breadboard from scratch, I didn’t happen to encounter many problems up to this milestone. One mistake I made was not wiring the VCC or GND components of the moisture sensor to the microcontroller, which could have ended badly. Luckily, one of the counselors, Liam, caught my mistake before it became a problem. Moving forwards I will have to program the mkr1000 to grab data and send it to a database, where the data will be shown on a web server.

Starter Project

Hi my name is Jonny and next year I will be a senior at the Bay school of San Francisco. For my starter project I was able to construct a simon says game. The project entailed soldering electrical components to both the bottom and top of a board. I began by adding a 10k resistor, which in the game controls the flow of the circuit to the LED lights, to the bottom of the board. To do this, I soldered the piece to the board to ensure it wouldn’t move out of place and cut the unneeded extra leg lengths. Using the same method, I soldered two 0.1 μf (microfarads) caps to the bottom side as well as a ATMega microcontroller and a buzzer. The μf (microfarads) caps are capacitors, which are able to store energy in an electric field between a positive and negative plate and release energy as needed. The ATMega microcontroller works by receiving and sending electrical signals from and to different parts of the board. The buzzer works by receiving a signal when you lose the game which in turn causes it to buzz. After placing the buzzer I then had to place all the pieces on top. Still using the same method of soldering as before, I had to put the four LED lights on the board. These LEDs emit light when they receive an electrical signal. Next I soldered 4 battery clips on opposite sides of the board as to hold the batteries which power the circuit in place. Afterwards, I attached two slide switches which control whether power and sound are turned on. Lastly, I had to attach a button pad held in place by a bezel and screwed into the board with screws attached to standoffs. While I was successful with my project, I ran into some problems as well. As this was my first time soldering, I often had to remove the excess. Additionally, one of my LEDs was burnt out even before I used it, so I had to pull the LED out and put in a new one. Because I had soldered the first LED already, I had to reheat the solder to in both holes to pull it out, then I had to reheat both holes again to put the new LED in. /p>

Arduino MKR 1000 WiFi


Temperature Sensor

Photo Resistor

Moisture Sensor

Resistor 10k ohm

Leave a Comment

Start typing and press Enter to search