Blueprint

SoilMetrics

SoilMetrics is an open-source, low-cost IoT-based soil health monitoring system designed for small and local farmers. It measures key soil parameters like moisture, temperature, NPK, EC, and Temperature in real time.

Created by TheMudGuy TheMudGuy

Tier 5

5 views

0 followers

TheMudGuy TheMudGuy added to the journal ago

Hi.....

i know i m 1 month late, and yup i did worked in between too. and somethings didnt go the way i wanted em to.
starting off after this was successfully working and i was head over heels with this achievement not because it showed readings or good UI but i was happy because first of all i have been working on ts from days, day and night. so after this i was feeling very confident and then i started cutting the sunfoam board for the enclosure(yhh i thought to make a enclosure from the sunfoam before 3d printing it to just double check my dimensions, tolerances etc.
and i soldered all the components:
image
to do all this i was awake a literal night, like i didnt even slept that night. so it went like first i cut out the sunfoam(this alone took 3 trials, cuz sunfoam board breaks easily).and did soldering of the power section, because ik once that will be reliable rest will be a piece of cake, between that i blew up my mini 360 buck converter, so i replaced it with the og lm2596,after which i slept at about 6 am smthg. and then woke at 8-9 and started soldering rest of it. after soldering it. i tested it like the display, it didnt worked. last i knew was that i blew up my buck converter due to which the tft blew up too.idk what happened, how it happened. the last time i tested it was this time:
image
image
and let me remind you i was doing all this from my savings, which eventually came to an end.and till now i have spent more than 10k inr on this as of now(approx 107 usd) and with this failure my savings too came to an end. after that i thought that the tft is gone but not the other parts, so i desoldered all, stripped it down to bare minimum and then tried , and guess what? yup it failed too. i was already very demotivated and drained as of now . so i left it , and packed everything in a box and left it in a cupboard until on march 21, i came back with a new max485 module, tried this time first with the arduino uno because both max485 and arduino were 5v logic , and arduino uno had software serial so it was easy to implement and yup it did worked, then i tried with that atsamd21 based devboard, and god dang ittt, this max485 module blew too,and it almost took the devboard on the verge of blowing up too. but it got saved somehow.
i do have timelapse of this day, because last time i was working i didnt knew of lapse etc so i couldnt record myself crying and ragebaiting , u can watch it here: https://lapse.hackclub.com/timelapse/8rE2vU6fCmCs
it is around of 3 hr.

so yeah this was all the previous ragebait + breakdown moments, now i m thinking to start it again but with appropriate modules and not doing bruteforce or smthg like i did till yet.

onto proper v3, bbut this time with a proper plan and a pcb

TheMudGuy TheMudGuy added to the journal ago

some updates

177220373947410008933866191705921772203751562749916718165285033117722037624975476929164747784854

Added some features in the CAD to support antenna,charging module etc and umm like aaranged it neatly on cardboard to test the sensor:
17722038499937718798686286489273
Next i will make a enclosure for the device with sunboard:
1772203965260202302550315049232

TheMudGuy TheMudGuy added to the journal ago

UI

17721210372289165371290562398791

So I did the changes and made it show all the parameters on the display in a good format and this is all bare metal code and the code uses only 2 libs which are arduino.h and wiring_private.h

TheMudGuy TheMudGuy added to the journal ago

working finally

1772118717938479645331332089647
17721187344088848580099755748484
We finally got the readings from the DevBoard yooooo, yahyyyyyy
Now i'll update you guys with the code & schematic too ASAP, lessss goooooooooooo

........

TheMudGuy TheMudGuy added to the journal ago

Done, bought the max485

17721126883098113475692449284550
17721127110081257172053298803849

Done , it is working data is coming now , max485 was the problem Obv
And I also tested the dev board with TFT and wrote custom sercom code to display it:
17721129033243615115620726582636

TheMudGuy TheMudGuy added to the journal ago

Major Problem

What happened is that I first soldered the max485 through level shifter to the dev board and between that things that happened were :

  • the VCC pad got out
  • the RE pad too so what i thought was tk directly solder these from the ics and dje to which I by mistakenly touched the live 5v wire to gnd which also tripped my devboard and other buck,boosts etc but I thought that max485 should work even after that so I did like used it but it's issue was that I tried like more than 12 codes and it didn't read the sensor values so then and btw it was already night by this had gone for some breaks & dinner in between so I soldered the whole thing kept it on the table then went to dinner then came read datasheets, took help from AI in coding & troubleshooting then i figured out that the sercom is not available on the pin I am using so I desoldered it and put on another pinset , tried again but still didn't worked so at last after losing all the hopes , I thought to try this with an Arduino uno since i'd already used this sensor one time with uno and I have a perfect code which worked last time in its previous iteration so like i desoldered everything & soldered em to Arduino uno then tried the code in it and it still didn't worked so I got to conclusion that the max485 is faulty, and i thought this could be due to the short I did in that board so what I did was that I had another board of which ic got burned but everything else was fine so I desoldered the ic from the board I was using previously to that donor board (body ig) this alone took hell lotta stuff like i didn't had a hotplate so that was also a reason for this late and i flattened out a scrap soldering iron which was thrown in my institute's backdrawer , so i took it and flattened it it loooks like this btw : 17720191633152056917411161782742 It's power plug was also cut so fixed it too then after that I soldered out the ic from the main board: 17720193228083469726520481188980 And soldered it on another one : 17720194110202603768889923781507

And yhh it didn't worked TT

and also local shops didn't had this max485 so gotta ask it smwhere else or maybe try any other alternative

The current setup which doesn't work is :
17720195519435045405732496398572

TheMudGuy TheMudGuy added to the journal ago

Finally working

17719347658643116043165573525715
Soldered the battery directly to the tp4056 and then put the 5v boost after after the battery and buck after boost
And then connected 3v3 to the DevBoard next is level shifter and max485
Also I identified the problem yesterday which was the BMS as it tripped whenever boost or buck borrowed power from it

TheMudGuy TheMudGuy added to the journal ago

Materials collected

Bought all the rest components and soldered the BMS also some changes in plan
I couldn't find 2s bms so am using 1s and 1 buck and 1 boost
Here's the battery soldered with switch , bms, and buck

17718436341475709654256739045312

Waittttt i just realised that I soldered the positive and negative that leads to buck on the cell instead of BMS 😭
Lemme fix it real quick
Okay so I encountered a problem that when I connected the buck to the p+ and p- of the BMS , it doesn't give current in our
And the resistance between our + and out- in the buck is. Approx 8.3 k ohms and when I switch on the power switch ,in continuity mode it beeps
Also when I connect directly to the battery,skipping the BMS it works but not on p+ and p-
Will have to troubleshoot it

TheMudGuy TheMudGuy added to the journal ago

started working on the case

image

this is my case on which i started working, in this the tft and the module and all the other modules will go, and the sensor will be out in a joint

image

i have checked all the dimension used as of now with caliper and double checkd it

TheMudGuy TheMudGuy added to the journal ago

Made the Schematic

So i want to make an affordable device for farmers which can tell them about their soil's health and show parameters such as NPK, EC, pH, Moisture and Temp.
It will be based on custom devboard by the smartelex which consits of gps, gsm and a powerfull processor i.e ATSAMD21
image

on top of that for the UI we will use a resistive touch 2.8" TFT display:
image

For the Sensor we'll use the :
image

And to interface the sensor i will use a max485 module along with a level shifter because i already have a max485 module and the atsamd operates on 3v3:
image

and aside of these for protection , charging and voltage regulations we'll use:
1x 2s BMS
1x 2S battery holder
2x MP1584 &
1x Barrel jack

and the connection of all the modules will be done according to this schematic:
Schematic_Soil-iteration-v3_2026-02-22

and for powering the i'll use 2 5000 mah cells:
WhatsApp Image 2026-02-22 at 12.46.55

and currently i have all the materials too except the level shifter, 2s bms, and mp1584 which i will buy mostly in 1 or 2 days too:
WhatsApp Image 2026-02-22 at 12.49.53

so next i'll prepare the case for this and will also solder and try components after that

TheMudGuy TheMudGuy started SoilMetrics ago

2/22/2026 12 PM - Made the Schematic

So i want to make an affordable device for farmers which can tell them about their soil's health and show parameters such as NPK, EC, pH, Moisture and Temp.
It will be based on custom devboard by the smartelex which consits of gps, gsm and a powerfull processor i.e ATSAMD21
image

on top of that for the UI we will use a resistive touch 2.8" TFT display:
image

For the Sensor we'll use the :
image

And to interface the sensor i will use a max485 module along with a level shifter because i already have a max485 module and the atsamd operates on 3v3:
image

and aside of these for protection , charging and voltage regulations we'll use:
1x 2s BMS
1x 2S battery holder
2x MP1584 &
1x Barrel jack

and the connection of all the modules will be done according to this schematic:
Schematic_Soil-iteration-v3_2026-02-22

and for powering the i'll use 2 5000 mah cells:
WhatsApp Image 2026-02-22 at 12.46.55

and currently i have all the materials too except the level shifter, 2s bms, and mp1584 which i will buy mostly in 1 or 2 days too:
WhatsApp Image 2026-02-22 at 12.49.53

so next i'll prepare the case for this and will also solder and try components after that

2/22/2026 4 PM - started working on the case

image

this is my case on which i started working, in this the tft and the module and all the other modules will go, and the sensor will be out in a joint

image

i have checked all the dimension used as of now with caliper and double checkd it

2/23/2026 - Materials collected

Bought all the rest components and soldered the BMS also some changes in plan
I couldn't find 2s bms so am using 1s and 1 buck and 1 boost
Here's the battery soldered with switch , bms, and buck

17718436341475709654256739045312

Waittttt i just realised that I soldered the positive and negative that leads to buck on the cell instead of BMS 😭
Lemme fix it real quick
Okay so I encountered a problem that when I connected the buck to the p+ and p- of the BMS , it doesn't give current in our
And the resistance between our + and out- in the buck is. Approx 8.3 k ohms and when I switch on the power switch ,in continuity mode it beeps
Also when I connect directly to the battery,skipping the BMS it works but not on p+ and p-
Will have to troubleshoot it

2/24/2026 - Finally working

17719347658643116043165573525715
Soldered the battery directly to the tp4056 and then put the 5v boost after after the battery and buck after boost
And then connected 3v3 to the DevBoard next is level shifter and max485
Also I identified the problem yesterday which was the BMS as it tripped whenever boost or buck borrowed power from it

2/25/2026 - Major Problem

What happened is that I first soldered the max485 through level shifter to the dev board and between that things that happened were :

  • the VCC pad got out
  • the RE pad too so what i thought was tk directly solder these from the ics and dje to which I by mistakenly touched the live 5v wire to gnd which also tripped my devboard and other buck,boosts etc but I thought that max485 should work even after that so I did like used it but it's issue was that I tried like more than 12 codes and it didn't read the sensor values so then and btw it was already night by this had gone for some breaks & dinner in between so I soldered the whole thing kept it on the table then went to dinner then came read datasheets, took help from AI in coding & troubleshooting then i figured out that the sercom is not available on the pin I am using so I desoldered it and put on another pinset , tried again but still didn't worked so at last after losing all the hopes , I thought to try this with an Arduino uno since i'd already used this sensor one time with uno and I have a perfect code which worked last time in its previous iteration so like i desoldered everything & soldered em to Arduino uno then tried the code in it and it still didn't worked so I got to conclusion that the max485 is faulty, and i thought this could be due to the short I did in that board so what I did was that I had another board of which ic got burned but everything else was fine so I desoldered the ic from the board I was using previously to that donor board (body ig) this alone took hell lotta stuff like i didn't had a hotplate so that was also a reason for this late and i flattened out a scrap soldering iron which was thrown in my institute's backdrawer , so i took it and flattened it it loooks like this btw : 17720191633152056917411161782742 It's power plug was also cut so fixed it too then after that I soldered out the ic from the main board: 17720193228083469726520481188980 And soldered it on another one : 17720194110202603768889923781507

And yhh it didn't worked TT

and also local shops didn't had this max485 so gotta ask it smwhere else or maybe try any other alternative

The current setup which doesn't work is :
17720195519435045405732496398572

2/26/2026 7 PM - Done, bought the max485

17721126883098113475692449284550
17721127110081257172053298803849

Done , it is working data is coming now , max485 was the problem Obv
And I also tested the dev board with TFT and wrote custom sercom code to display it:
17721129033243615115620726582636

2/26/2026 8 PM - working finally

1772118717938479645331332089647
17721187344088848580099755748484
We finally got the readings from the DevBoard yooooo, yahyyyyyy
Now i'll update you guys with the code & schematic too ASAP, lessss goooooooooooo

........

2/26/2026 9 PM - UI

17721210372289165371290562398791

So I did the changes and made it show all the parameters on the display in a good format and this is all bare metal code and the code uses only 2 libs which are arduino.h and wiring_private.h

2/27/2026 - some updates

177220373947410008933866191705921772203751562749916718165285033117722037624975476929164747784854

Added some features in the CAD to support antenna,charging module etc and umm like aaranged it neatly on cardboard to test the sensor:
17722038499937718798686286489273
Next i will make a enclosure for the device with sunboard:
1772203965260202302550315049232

4/3/2026 - Hi.....

i know i m 1 month late, and yup i did worked in between too. and somethings didnt go the way i wanted em to.
starting off after this was successfully working and i was head over heels with this achievement not because it showed readings or good UI but i was happy because first of all i have been working on ts from days, day and night. so after this i was feeling very confident and then i started cutting the sunfoam board for the enclosure(yhh i thought to make a enclosure from the sunfoam before 3d printing it to just double check my dimensions, tolerances etc.
and i soldered all the components:
image
to do all this i was awake a literal night, like i didnt even slept that night. so it went like first i cut out the sunfoam(this alone took 3 trials, cuz sunfoam board breaks easily).and did soldering of the power section, because ik once that will be reliable rest will be a piece of cake, between that i blew up my mini 360 buck converter, so i replaced it with the og lm2596,after which i slept at about 6 am smthg. and then woke at 8-9 and started soldering rest of it. after soldering it. i tested it like the display, it didnt worked. last i knew was that i blew up my buck converter due to which the tft blew up too.idk what happened, how it happened. the last time i tested it was this time:
image
image
and let me remind you i was doing all this from my savings, which eventually came to an end.and till now i have spent more than 10k inr on this as of now(approx 107 usd) and with this failure my savings too came to an end. after that i thought that the tft is gone but not the other parts, so i desoldered all, stripped it down to bare minimum and then tried , and guess what? yup it failed too. i was already very demotivated and drained as of now . so i left it , and packed everything in a box and left it in a cupboard until on march 21, i came back with a new max485 module, tried this time first with the arduino uno because both max485 and arduino were 5v logic , and arduino uno had software serial so it was easy to implement and yup it did worked, then i tried with that atsamd21 based devboard, and god dang ittt, this max485 module blew too,and it almost took the devboard on the verge of blowing up too. but it got saved somehow.
i do have timelapse of this day, because last time i was working i didnt knew of lapse etc so i couldnt record myself crying and ragebaiting , u can watch it here: https://lapse.hackclub.com/timelapse/8rE2vU6fCmCs
it is around of 3 hr.

so yeah this was all the previous ragebait + breakdown moments, now i m thinking to start it again but with appropriate modules and not doing bruteforce or smthg like i did till yet.

onto proper v3, bbut this time with a proper plan and a pcb