What it does
The initial idea for this design is to have an IOT pot which can monitor the plant condition and give some feedback to users.
The pot will be monitoring the temperature, moisture as well as the sunlight to the plant and rotate the pot to get evenly sunlight at each side of the plant if needed. Plant condition information will be transferred as well as any other plant warning or information that user need to know for their plant.
How I built it
To implement those functions, the board is built with the following parts: Control:
- SAM W25 WiFi module: an easy implement a different interface, server or app.
- Temperature/Moisture sensing: I2C - Si7006 sensor
- Light density sensing: I2C -
- DC motor: rotate pot to give plant even sunshine
- Nokia 5110 LCD: device information print and message warning if necessary.
- USB micro chargeable: USB micro port with Schottky power rectifier to handle power switch.
- LiPo power: MCP73831T built lipo charging circuit and LM367 built switching regulator
- External SPI flash to store any data or firmware.
Challenges I ran into
The first challenge I ran into is to develop the circuit board. I was using the Eagle for all of my design work and hobby work so getting into the Altium took me a long time to get through sometime. It is also hard sometimes to choose the right rule or the layout on the PCB board when doing the design, like how large the via should be, how long the trace should be to have the best signal passed or like why there should be a resistor etc.
Sometimes I found it really hard to understand the ARM chip. The ARM is good I think since I don't really need to read all the datasheet to get each register setting, many functions is already implemented with the library, but that is also the hard part that many time, I cannot find the correct way to set up the right pin mux or the sercom or whatever for what want to do.
Also, I'm not very good programmer, coding took me a lot of time.
Accomplishments that I'm proud of
All the parts are working properly! That is the best thing after all those designs.
What I learned
- Design board with industrial standard software.
- Implementing bootloader with ARM chip.
- Implementing cloud control with MQTT and BlueMix
What's next for ESE680-Xin (cookieeeeee) Zhang
- Try implement more functions with the board!