Our client was a farm owner with many workers working on his land. The main duty of the workers was trimming trees by cutting away dead or overgrown branches or stems, especially to increase their fruitfulness and growth. The client’s idea was to make a very small-sized PCB that could be enclosed inside the handle of a scissor in a way that with each scissor cut a signal was generated and sent to a router and then to a database. A web application on the server had to be made that could do the following tasks:
- Track the number of cuts for each scissor
- Display the scissor cuts for each scissor in a layout OK
The primary functionality of the sensor board was to track the scissors movement and send it across to the server.
- The entire system will include 3 units
- Sensor module
- Web server
- The sensor should sense the following:
- Track the movement of the scissors
- Any minute movement is to be tracked
- Number of cuts
- Transmit the data to a Gateway via a wireless interface
- The gateway communicates with the server and all the analytics like the number of the cuts per day, scissors
- The sensor to be included in a small sleeve which should easily be included on a scissors
- Overall dimensions of the board must not exceed 19×12.5×9.5mm
- The sensor unit should operate on the battery (rechargeable is preferred)
- Complete analytics to be developed at the server side.
- The sensor should have a wireless interface which can communicate up to a range of 155m.
- The main challenge was the small size of the PCB that we as a strict requirement set by the client. The reason was the limited space inside the farm scissors where the PCB was to be located.
- The battery of the system had to be chosen and used in a way that it could provide the supply during the use of the scissor without any interruption.
- Distinguishing the cuts from other movements of the scissor’s blades.
Due to the complexity of the design, the details were worked out by the client and the final functionality of the board was confirmed to be the followings:
- The device operates on power from a battery pack which charges through a micro-USB connector.
- Once the device boots up it, checks for Wi-Fi configuration to connect to the MQTT server.
- The server then starts data capturing and transmitting to the Web page.
- The analytics was displayed on the webpage according to the followings:
- The number of cuts per day per user;
- Total cuts and grams;
- Active time and break time;
- Employee Master
- the following block diagram was made accordingly
6. For the router, a design using Raspberry Pi was considered. The board was responsible to receive the signals and relay it to the web server. For this task, an MQQT server was installed on the RaspberryPi. MQTT is a simple and light-weighted messaging protocol, designed for constrained devices with low-bandwidth. So, it’s the perfect solution for Internet of Things applications. In this project, MQTT was used to receive the signal and send a short signal including the SSID of the mini-PCB in each scissor to the web server to be registered in the database. The overall function of the device is given below
7. For the Wi-Fi communication of the PCB, a TI CC3220 which is a Single-Chip Wireless MCU was selected. The main PCB included such components as USB for its charging, a small-sized antenna, a BMI160 which is a small low power inertial measurement unit. This component was used to sense the scissor cuts and send it to the MCU. The MCU would then send a signal to the RaspberryPi.
8. Some of the features that were included in the firmware were as follows:
- The device will switch mode on boot up. If the device is not configured, then it will start with the access point mode and will go to station mode once the configuration is received from the web-page.
- For the device, a file system was considered to store the network parameters so that in case of sudden reboot happens it won’t land to access point mode.
- The watchdog has been implemented to take care of hangs if any happens in the future.
9. In order to resolve the problem of distinguishing cuts from other blade movements, a script was developed at the server side to do this task. The script included a weight number that was a measure of the effectiveness of a cut. This number was integrated with each cut and its time duration to calculate and attribute a number to each cut that could be used in the final analysis of the work. Having this feature it was easy to see the performance of each scissor during the day. The data was also saved in the database for future reference and analysis.
10. The web-page GUI was a table showing the performance of each scissor during the day and it looked as follows. It included such information and the employee name, the scissor’s PCB MAC address, …
The design took about 16 months to get designed, prototyped and successfully tested.
Some of the main features of the final product included the followings:
The PCB size requirement was met according to the given size with an even less thickness of 4mm that made its enclosing into the scissor’s handle easier.
The power management was done by using a battery management IC and within the firmware so that during the normal operation of the system, the power usage would be minimum.