PCB Front side
PCB Back side
Boot/App code flow
Smarter and Cleaner City => Healthy People and Happy Utility Companies! We achieve this by maintaining the hygiene levels in the city by timely trash collection mechanism. Optimized Trash Collection Routes also lead to cost and time saving for the utilities
What it does:
An on-board LED gives Trash Level Indication to users and sensor data to the utility companies can be used to devise an optimized collection route. When it runs, each device will send the real-time trash level constantly, hence it it's full, it will indicate using LED (actuator) and would update the cloud with Time Stamp and will also send message to driver to pick it up.
How we built it:
We built a Custom PCB, and developed a firmware that could interface with the Cloud. In cloud, each device data is individually recognized and will be constantly monitored. Also the cloud is capable of performing sanity tests remotely checking the actuator LED and temperature at which the device is working.
The bootloader will start with checking the nvm_firmware_info for update presence. Since it is the first time with no update present in flash, it will go into the application code. In app code, if we give the option of "update" from cloud then it will download the firmware. Then based on it's integrity, it will update the NVM struct and then restart bootloader. In bootloader, sensing the update presence, it will transfer to NVM and start application code. The exact flow is explained in flowchart attached.
Challenges we ran into:
- Custom PCB design - inverted component (LED) and wrong wiring
- MQTT Broker - using seas broker for MQTT
- The learning curve vs timeline graph
Accomplishments that we're proud of:
- Fully functional custom PCB that communicates with the Cloud
- Really informative, dynamic UI built using Node -Red for IBM-Bluemix platform
- Intuitive diagnostic checks from the Node-Red UI per device on the field with click of a button
What we learned:
PCB Design practices, board bring up, familiarity with a new MCU SAMD21, using IBM Bluemix and NodeRed for connectivity to cloud
What's next for Smart Trash Bins : ESE 516
Enable more features, maybe a multipurpose trash bin, Have an on-board sensor, Increase the scale of the project having multiple devices enabling better data analysis