Things which I used: Espressif ESP32, Arduino Nano 33 BLE Sense Software: Neuton AI, DAML, Toit
Secure, robust, tinyML based delivery of agricultural products to its valid consumers is the most important step for our AREC.
Secure, robust delivery of agricultural products to its valid consumers is the most important step for our AREC-Agricultural Records on Electronic Contracts solution. Not only it should be streamed toward getting accurate regional data analytics but should also make it nearly impossible to counterfeit goods, I took up this challenge because I am very aware of the situation in India, for example: during Covid-19 fake pesticides made up almost a quarter of the market exposing Himachal Pradesh farmers, their apple crops and the environment to many harmful side effects.
- One of the biggest reasons behind the growth of fake products in the agrochemical industry is the lack of knowledge about genuine products among consumers. Illiterate farmers usually do not check the product authentication features and just go for the cheap price.
- Rare adoption of anti-counterfeiting solutions by companies: Many agrochemical manufacturers do not implement anti-counterfeiting solutions in their products. This makes their products highly susceptible to duplication, tampering and even diversion.
- Lack of stringent regulatory measures: Lack of strict regulatory measures against counterfeit products and poor laws against counterfeiters has led to the rapid rise of counterfeit agro-chemical products.
Challenge: Develop an easily accessible solution for farmers that can provide detailed product-specific information, their usage, and the delivery details, and help them increase productivity and profitability.
Our idea is to bring a secure de-centralized, tamperproof unified blockchain ledger with a secure authentication device protocol to streamline all manufacturers and logistics data. The device sends and updates the following data to the ledger:
seal/packet opened or not
tinyML based condition status (For instance, if there is a sudden change in temperature that would damage the goods – abnormal environmental conditions during transit of agrochemicals like pesticides can result in separation of active ingredients, a notification is sent that triggers an action to resolve the situation.)
- Using the device ID barcode, the farmer can scan and get to know all details, in fact, it would be one time process to onboard the farmer to the Blockchain ledger, the product ID barcode would serve as farmer login and it would allow him to trace and lodge complain in case of any unsatisfactory results.
Problems to be solved by our implementation:
- Used on a variety of зкщвгсеы – Information will be presented on the packaging. (Taking into account a variety of products (crop protection and seeds) and packaging (eg bags, 250ml, 20L, etc).
- Customers can scan/read and interact with the Digital Label
- Provides simple and actionable information about seeds, traits, and crop protection products
- Uses scannable resources like QR codes to provide information about the product (nutrients and pesticides) like geography, dosage, applicability, authenticity, usage, and disposal guidelines
- Supports customer feedback, and complaints – Customers can communicate with the company regarding a specific product
- Can create a dynamic label that can be adjusted to cover important legal requirements like safety statements and product’s identification information
- Product traceability (localization and expected delivery date- information flow from farmer to customers)
- Provides product security, or anti-counterfeiting – Making sure that the product is not forged/Copied and is an original company product.
- Has flexible Data Model to support the different data inputs and maintenance, since we need to keep legal requirements data, label artwork models, product usage data, product data, security data, delivery data, etc.
- To build flexible and extensible data/information models that can handle vast and diverse information related to individual products.
MCU choice: Our application requires robust performance over a long time more than 6 months with minimum power consumption (here, focused on driving down cost, power consumption and size so 8bit MCU would be a great option too).
tinyML framework choice: Recently, explored the Neuton ai platform and was blown away by the flexibility it provides for embedding huge ML models with lower memory footprints even on an 8bit MCU. The training is easy with greatly optimized C codes for MCUs. It offers various model explainability tools that allow users to evaluate the trained model quality and understand the cause of prediction for the inference data.
Blockchain frameworkchoice: Daml idea is to abstract the key concepts of blockchains that allow them to provide consistency guarantees on distributed systems of record. Daml, a virtual shared ledger, governed by smart contracts, takes the place of a concrete blockchain. Adding this layer of abstraction allows Daml to realize a whole range of capabilities and advantages that are sorely lacking in individual blockchain and distributed ledger technologies.
Fleet Monitoring: There are several reasons to consider this to allow better regulation of tracking devices. I have tried Golioth and Toit and both seem to be fantastic in terms of security and visibility but I will lean more towards C/C++ support. (I will work on this in future)
Below is what our label would look like and the essential data printed on it. It would only contain a battery, microprocessor, SIM, modem and antenna under its unassuming surface.
Here is the circuitry for the smart label, check an imag below:
Testing DAML blockchain with our product (I used toit to test a use case for fleet monitoring and remote logging), check the below images for understanding our Blockchain ledger pipeline. With blockchain, we have selected visibility of immutable data which can be accessed under specific roles by scanning a QR code on the label.
Than I build the model using Neuton Platfrom
Building TinyML model for our smart labels in 3 steps:
Step 1: Creating Solution and Adding Dataset
Step 2: TinyML model setting and Training
Our model has Coefficients: 120 Model Size Kb: 0.46 File Size for Embedding Kb: 0.553, pretty tiny and smart 🙂
Step 3: Make Predictions on MCUs