Project FlowMark
Hardware- 22 Devlogs
- 80 Total hours
Free-floating water quality buoy that pinpoints riverine pollution source.
Free-floating water quality buoy that pinpoints riverine pollution source.
Today I diddid aa bbibit mmomormore wwowwork oon mmy nnenew ccirccircuit anandand eeveeeveryeeveeeveryteeveeeverytheeveeeverythineeveeeveryeeveeeveryteeveeeverytheeveeeverything iis bbasicbbasiclbbasicly ddonddone aand waiwaitiwaiwaiting ffofor ffinffinaffinal cocodcode ttesttestttestittesting, aanand ii aam loloolookiloloolookinloloolooking toto fgo ffofor aa ffifiefielfield ttesttest nnenext weeweek. (ssosorrssosorry mymy kekeybkekeyboarkekeybkekeyboard iis nnot ababsabsoluababsabsoluteababsabsoluababsabsolutely worworkworkiworking sso mme isis nnot ggogoigoing tto ssay mumucmuch)
Today I restarted my wiring since my esp32 c3 supermini isn’t responding to my code uploads and I had to change to a Arduino Nano. And now the pH sensor doesn’t work and the organic matter sensor doesn’t work either. Hopefully i can find some magical way out tomorrow but now idk what it is because.
Another day of extreme unproductiveness. I only tried to debug my cellular module turning on and off by itself, but didn’t really solve it. Module rebooting cycle T_T :
Today I wished to do more but my productivity is very cooked recently. I planned to add all the final features to my code, but ended up only debugging the OLED mini display. But ok its working so I guess its alr.
Today I did a bit more work on the buttons and screen.
I got a bucket and put some pollutants in there (dirt and DIY-ed dissolved organic matter), to test the sensors (that detects pollution by seeing how much light it absorbs, UV for organic matter and normal light for turbidity) and getting a threshold value that will define what is polluted water and what is not for my water quality buoy.
However, I made the dissolved organic matter solution a while ago, and it doesn’t seem to absorb UV anymore. Apparently its because the bacteria ate all the organic matter, or it precipitated out as large clumped molecules.
But I can’t be bothered to make some fresh solution so I just made up some values for the organic matter sensor (very scientific approach :D).
Today I sat in my desk all day at my project. I made all the sensor connection work, power system, soldering stuff (and getting burnt 99999 times), drilling holes, epoxy resin -ing (they should invent a word for this), and coding. It feels like its going to work, but I still need to wait to tomorrow to do a few final changes to my code and test it.
Today I tried to figure out which of my components have been fried by my dc booster accident. Luckily, its just the photodiode (OPT101) that i use to test turbidity. I didn’t believe that it was broken even though it outputted strait 0v with light and without light, since it apparenlty can handle up to 36v. But after lots of testing i think it is indeed broken. I soldered on a new one, but i soldered the pin headers teh wrong way around (this is like the 1 billionth time i did this wrong) so I tried to take the headers off. But i didn’t have any solder wick or anything, so i tried to pull the headers off (which is very very stupid), and i did pull the headers off… along with a big chunk of the PCB. So yeah, no more photodiodes. But fortunately I do have some LDRs and ill use tehm, hope its accurate enough.
I tried to test my circuit that i put inside the casing, but there was some problems with the step up booster to make the 4v from my 2 parallel18650 into 5v.
However, two of my step ups randomly jump to 20v for a while and then will jump back to exactly 5v, and after a while 20v again. I tried another step up, and that one won’t go down below 10v. I thought that its probably my circuit drawing too less power causing the booster to be unstable, so i added a 470 ohm resistor to the outputs. It still didn’t work after a while.
I was very confused and forgot to pull out the resistor out of the malfunctioning booster that was at 20v…. the parallel 18650s made it even worse. So then I smell something burning. I didn’t know that it was the resistor burning, so I just took the resistor off with my fingers, and I got burnt. D:
But later I found out that its actually so dumb. I wasn’t sure if my step ups were working at first so I didn’t fully secure the battery wires into the terminals, so in case something went wrong I can just immediately pull the power source out. However, the bad connection of the wires with the terminal made the step up really unstable, causing it to jump to random high voltages. So I guess by being more carefull I actually ended up worse…..? Ok I see. :D
Also most of my circuit was connected to the step up (thats even dumber), and the 20v fried my conductivity module, and I think maybe my sensors too but I still need to check (fingers crossed). T_T very cooked
I put most of my electronics into my buoy casing. The wires are totally very neat and I totally don’t need a flashlight and tweezers to move teh wires. (its way worse than it looks) Theres still a bunch of parts I need to add. I think the buoy is going to sink because the wires weight too much :P. And i feel like my wires are made out of resistors a whole volt dissapeared in a single section of wire.
I printed the parts for my buoy, some needs reprinting. I installed some working parts, and glued some sensor windows with ab epoxy for waterproof. Theres still lots of work to do!
I emailed a few councils in my country for some feedback onto my project, since they are part of the stakeholders. They said that I should add confidence level for GPS, CSV file save, adjustable measurement intervals, and official guildeline comparism. I added savable CSV for the data and adjustable intervals, but I didn’t do confidence level for GPS cuz my GPS module doesn’t measure carrier to noise ratio. I didn’t do the official guildeline comparism because I made most of the sensors and the only way to convert the data from the sensors to official units is to use calibration sollutions, which is kinda expensive.
Today I started making the 3D model for the buoy itself. I finished most of it, including the top controls, GPS solar panel, and the space for the electronics.
After more than a total of 20 hours of coding, debugging, restarting, crashes…. The server code is working. :D
I FINALLY debugged the server analysis system. I made a new more organised and simpified code since my original one is way to over OVER complicated.
I ran the buoy code and debugged it. There was a few code mistakes and a few power source problems, but it was alright. However, the server code on the right seems very buggy, millions of errors. Hopefully its not that bad when I test that later.
I debugged the extremely buggy server data analysis code, with help from deepseek because the arrays are getting a bit messy.
I added another function to my analysis of the data, which can combine the individual sources detected from each of the different water quality sensors into real sources that may be the source for many of the individual sources.
My code is going to be really buggy, so I added some debugging print() for easier debugging to the local server.
I coded most of the analysis programme for the reciever. It can calculate how far down a pollution source affect from GPS data from my buoy, identify turbidity and dissolved organic matter problems, and respond to sudden change in pH or conductivity.
Turns out i forgot to do a huge chunk of the reciever code, which is to analyse and display the data. I finished most, just a bit left!
Water buoy data sending and reciever server code. Just finishing on the finshing of from what I did before.