Ready to put your Tech Tutors skills into practice? WILDLABS and Freaklabs are proud to announce our new virtual course: Build Your Own Data Logger. This eight-part video tutorial series will guide wildlife and conservation researchers through building and deploying custom hardware using the Arduino platform. To join, Register now!
This course is free to all, but if you would like to build along with the course in real-time, you can purchase the WildLogger board and kit for $30 (USD) here
About the Series
If our first season of Tech Tutors inspired you to put your conservation tech skills to the test, we've got a brand-new experience coming to WILDLABS! Where can you start learning how to use Arduino to build custom devices for wildlife and conservation research? Right here!
Beginning this November, WILDLABS and Freaklabs are proud to introduce an eight-part video tutorial series that guides wildlife and conservation researchers through building and deploying custom hardware using the Arduino platform. The series will use WildLogger - an Arduino-based board that’s designed for deployment - to create a custom data logger.
Are you new to Arduino, or maybe not entirely sure what Arduino is? Good news - this series is for beginners like you! By the end of our eight modules, you'll have the practical skills and knowledge base you need to deploy your creation for real.
The series assumes no hardware experience. It’ll cover common terminology, components, the hardware design stack, setting up the Arduino environment, programming and optimising your application, choosing and modifying enclosures, piloting, testing, deploying and troubleshooting.
You’re not on your own. Our interactive series makes it easier than ever to get feedback and guidance as you learn. Every two weeks, we’ll host a live Office Hours event to troubleshoot, answer questions in person, and release the next module in the series. We'll also have cheat sheets and code to download, plus a forum to ask questions between sessions. And of course, you can build along with the course in real-time with the WildLogger board and kit, available here.
The tutorial is free and allows you to move at your own pace with videos available to all on the WILDLABS Youtube channel. To navigate through all course content, visit the Course Directory.
To join this virtual course, register here!
Article
Welcome to the fourth module of our Build Your Own Data Logger virtual course. In these videos, we'll tie everything we've learned so far together by creating our functional data logger application.
11 February 2021
Article
Welcome to the sixth and final part of Build Your Own Data Logger module 3. This new module covers interupts, PIR motion sensors and setting timers and alarms on our real time clock.
29 January 2021
Welcome to the fifth part of Build Your Own Data Logger module 3. In these videos, we'll get into the process of writing our data logger application and carrying out our proof-of-concept strategy.
22 January 2021
Article
Welcome to the fourth part of Build Your Own Data Logger module 3. In these videos, we'll get into the process of writing our data logger application and carrying out our proof-of-concept strategy.
21 January 2021
Article
Welcome to the Build Your Own Datalogger virtual course. On this page, you'll find a table of contents to help you navigate around the course and supporting materials.
21 January 2021
Welcome to the third part of Build Your Own Data Logger module 3. In these videos, we'll get into the process of writing our data logger application and carrying out our proof-of-concept strategy.
15 January 2021
Welcome to the second part of Build Your Own Data Logger module 3. In these videos, we'll get into the process of writing our data logger application and carrying out our proof-of-concept strategy.
8 January 2021
Welcome to the first part of Build Your Own Data Logger module 3. In these videos, we'll get into the process of writing our data logger application and carrying out our proof-of-concept strategy. In Module 3, we break...
1 January 2021
Welcome to the second module of our Build Your Own Data Logger virtual course. In these videos, we'll cover the steps to installing Arduino and setting up the hardware, as well as writing our first programs.
24 November 2020
Welcome to the first module of our Build Your Own Data Logger virtual course. We'll cover what you need to know about the hardware and software we'll use in this course, and things you should consider when choosing...
10 November 2020
Ready to put your Tech Tutors skills into practice? WILDLABS and Freaklabs are proud to announce our new virtual course: Build Your Own Data Logger. This eight-part video tutorial series will guide wildlife and...
19 October 2020
November 2023
event
Take the Build Your Own Data Logger Survey: End of Course Feedback
22 October 2021 11:47am
Module 8: In the Field
22 October 2021 11:38am
Module 8: In the Field
22 October 2021 12:00am
Module 7: Testing and Piloting
17 September 2021 11:04am
Module 6: Ruggedising Devices
6 September 2021 12:39pm
Module 6: Ruggedising Devices
6 September 2021 12:00am
Module 7: Testing and Piloting
6 September 2021 12:00am
Module 5: Optimising your application
25 May 2021 12:00pm
1 June 2021 8:25am
Thanks a lot for the new module!
It now keeps logging and logging and logging....
Greetings from Austria,
Robin
1 June 2021 1:47pm
Glad to hear it's working! We're now working on the last couple modules which is more mechanical and assembly. Hoping to get those out soon. We're feeling a bit of pandemic fatigue so progress is slower than usual. Ha ha ha.
Akiba
Module 5: Optimising Your Application
25 May 2021 12:00am
Wildlogger for freshwater monitoring
15 April 2021 2:00am
15 April 2021 10:34am
Hi Nigel.
At the moment, I don't know of any other groups doing water monitoring. @JAL is doing a cave monitoring project. The DS18B20 is a nice sensor. It was the original sensor I was going to use for the Wildlogger kit before switching to the DHT11. One thing is that you may need to test how waterproof it actually is. When I took them apart, there was just a heat shrink tubing seal to the DS18B20 with exposed pins inside the stainless steel tube.
I haven't had the chance to play with a DO sensor yet, but definitely hoping for more info once you deploy. It sounds like a fascinating project.
Akiba
17 April 2021 2:46am
Hi Nigel,
Are you interested in attended or unattended monitoring? You can take inspiration from openctd, also the cave pearl project which has a few variants. IMO the atlas instruments are probably the safest way to go. Water quality sensors are frightfully expensive, and even Atlas sensors are spendy in my book.
I heard there was a chap calibrating DS18B20 units (NIST traceable) for USD20 or so, that would partially remove the accuracy issue (the 18B20 is accurate to 0.5degC only). The 18B20 can come already waterproofed which is convenient.
BLE connection problems
5 April 2021 7:12am
10 April 2021 7:47am
Hi Jose.
I somehow missed this post. I can't fully understand the issue you're running into. Can you post the code you're using? Also if you can, perhaps a rough diagram of how you're interfacing the BLE HM-10 to the Wildlogger? It sounds like you somehow have it connected to the USB dongle interface? And then the other side of the Bluetooth connection is connected to the PC? It sounds like an interesting application.
Thanks.
Akiba
13 April 2021 6:43am
Hi Akiba,
It seems to me that I have not explained myself well, as it is a somewhat special topic, if you think I will answer you in private. These days I'm a bit busy, but I hope I can answer you soon
Best regards,
13 April 2021 7:43am
Hi JAL.
No problem. Feel free to email directly or private message through Wildlabs on the specifics. No rush either. I think it's interesting that there seems to be interest in adding a BLE interface to the system. It's the second time hearing about it :)
Akiba
Mid Course Check-In
24 February 2021 4:55am
6 April 2021 12:14am
Hi Egil.
I think we're seeing the benefits of dropping the whole series binge watch style versus trickling them out on a schedule. I think we all learned a lot on how to manage a workshop series like this. Ha ha ha. Future ones will be more compact and released as a set. That said, this first one is important because it sets the foundation of concepts that future series will build on. Almost all conservation technology revolves around data collection in some form so the data logger concepts will keep on popping up in more sophisticated devices as well, but with fancier bells and whistles :)
Akiba
7 April 2021 6:36pm
I think this whole series is a very valuable tool and will open up a vast amount of possibilities for people to collect data for their projects, so useful to have such a workshop here all in one place.
8 April 2021 2:28am
Thanks! We think it will be useful, especially if it can serve as a building block for courses with more sophisticated devices. I think it will be really interesting to see where this goes and what comes kinds of devices and projects come out of it.
Akiba
Power saving
15 March 2021 8:57am
15 March 2021 9:34am
Hi Nigel.
it makes sense that the batteries don't last long. Since we haven't discussed the power management part of the code, you're in active mode the whole time. The power drain will be high and you won't get more than a day or two of battery life.
What you need is to disable any peripherals you're using and put the Wildlogger into powerdown (aka sleep) mode. Then use the real time clock to wake your system up periodically to take measurements, say every hour. That's actually going to be what we do in module 5 which I'm actually working on right before I took a break to check the interwebz.
With the right power management, you should be able to keep the system going for a month or longer depending on the power draw of the sensors you want to use. With the DHT11, PIR, and SD card, we estimate around 2.5 months but that depends on the power draw of the SD card.
If you can have some patience,we'll be working on and finishing out module 5 soon. We'll let you know when it's available. In the meantime, if you need to deploy soon, I recommend you check out the Low Power library for Arduino and look at the examples.
Hope that helps.
Akiba
15 March 2021 11:42pm
Hi Akiba,
Yes, that does help. Nice to know we can expect 1-month using 3x AA 2100mAh batteries.
I had a quick look at the arduino.cc site for power management - it's all there, but looking forward to your advice/videos.
I'll move onto adapting our code for the DS18B20 temp sensor and Dissolved oxygen sensor [will soon post another thread for that]. No urgent rush to deploy yet, until code for these sensors is running ok.
Best Regards,
Nigel
Module 4: Tying It All Together
16 February 2021 1:08pm
6 March 2021 1:17am
Hi JAL.
Oh, it looks great! I like the enclosure, too. I think you have more than enoug juice to power the device for a year. Ha ha ha. Although it's still upcoming, the low power mode will mean the total current draw of the Wildlogger with an SD card and DHT11 would be around 0.6mA if I'm not mistaken.
Thanks for starting this thread. I'm also interested in how other people will use the Wildlogger. When this is over, we'll have other short articles or videos on different applications you can do with it.
Good luck with the cave logging! Please keep us updated on how it goes :)
Akiba
9 March 2021 7:30pm
Yes, the power bank looks like a nuclear power plant for such a small consumption! ;-), but the reason for this mount is that I plan to use it on other devices. I like to use standard 18650 batteries, rechargeable, and that I can easily replace in case of failure. I also like its versatility to use different number of batteries, according to the needs
Thanks !
PD: I can't wait to put my device to sleep!
11 March 2021 3:34am
We've just winding down our most recent deployment and have restarted work on the course. So it should be soon. There will be updates soon.
Akiba
Possible command line uses
4 March 2021 10:53am
8 March 2021 1:38pm
Hi Akiba
Very useful the indications you gave me, now the double values that I introduce are shown in the same way.
Likewise, the main problem I had is that the value that I entered in setALSinterruptThreshold, did not match the value that I obtained in getALSinterruptThreshold. Luckily the relationship between these two quantities corresponds to a linear function, and I have been able to solve it by applying a correction factor
The problem I have now is that the modifications that I make with cmd, once I disconnect the serial monitor, are not kept in the program, and it returns to the initial configuration by default
For this reason, my question now is, is there any way that these modifications are permanently maintained in the program, or are they only useful for testing in real time?
Greetings,
8 March 2021 2:27pm
Ha ha ha. That's for the next series which will be the intermediate course. It includes writing metadata and configuration settings to the EEPROM. But if you want to move ahead on your own, try checking the Arduino EEPROM library and look at the examples. That's how you create your configuration settings as well as metadata.
Akiba
9 March 2021 7:24pm
Okay Akiba, I leave it in the drawer of pending things, if I have some time I would like to try it. Count on me for the next course!
Greetings !
Battery status monitoring no longer working
24 February 2021 10:13pm
3 March 2021 10:34am
Hi Phil.
I checked and there's no problem with your code. It looks like it's a hardware issue. I'll be sending out a replacement board to you. Can you confirm your address via DM, just so that I can make sure I don't send it to the wrong place?
Thanks
Akiba
3 March 2021 9:33pm
Hi Akiba,
Please see the email sent to [email protected].
Many thanks for your assistance.
Phil Young
8 March 2021 4:28am
Hi Phil.
A replacement board was just sent out to you. Thanks for your help with the pictures and the patience :)
Akiba
Hackaday Data Logging Contest
4 March 2021 1:28am
Module 4: Tying It All Together
11 February 2021 12:00am
WildLogger Add-On Board Requests
4 February 2021 2:10pm
5 February 2021 6:28am
Hi Akiba,
Yes, the TSL2591 has an interrupt pin and there are also a couple of example applications in the Adafruit and TSL2591MI libraries. I am doing tests making the connections with Dupont cables in the I2C connector of the Wildlogger, and for the interruption I will use the corresponding pin of the PIR connector
The connections do not concern me since, once the prototype has been tested and defined, my idea would be to make the maximum of welded connections to avoid failures
I'm still in the design phase, I already have the hardware quite defined, and now I have to enter with the most difficult part, the software, which for me is where I have the most difficulty
I have been gathering the elements to prepare the cake, and now is the time to enter the kitchen, I will not deny that I am excited and terrified at the same time
I'm already telling you ...
Regards !
5 February 2021 9:05am
Hi JAL.
Excellent! I'm glad you've already started on it and Dupont wires should be no problem. Let us know how it goes and if you have software issues, feel free to post them in this forum. Good luck and please take pictures of the modified Wildlogger and also the deployment. It sounds like an amazing application!
Akiba
5 February 2021 12:35pm
I appreciate your encouragement !
Don't hesitate that I will keep you informed of the progress that I am making
Happy weekend !
Carly's video blog journey
22 January 2021 9:50pm
23 January 2021 6:16am
Hi Carly.
The videos are wonderful! They're hilarious and also let me know areas we can improve on :)
Akiba
4 February 2021 2:42pm
Round 2 vlog video is up!
Module 3.3: Measuring Battery Status
21 January 2021 11:54am
4 February 2021 5:00am
Hi JAL.
I'm glad you're enjoying the WildLogger! What you're doing fits exactly the purpose of this course. It's demystifying the art of customizing research equipment. For the WildLogger, if you will be using it to collect scientific grade data, I recommend to upgrade the board to use an external analog reference. There's already a footprint and we will add that to the shop this week. It's a cheap part but will stabilize the ADC reference vs temperature and also has 0.1% accuracy so that you will get more accurate ADC readings across temperature. I think we're targeting $1 for that part so it's a cheap upgrade. Currently the power supply is used as the ADC reference to keep costs down which is accurate to around +/-1.5%.
In regards to the power supply and power requirements, the battery input needs to have a voltage of between 3.6V and 5.0V. A single cell lithium-ion or lithium-ion-polymer battery would be fine at a nominal voltage of 3.6V and full voltage of 4.2V.
in sleep mode with an average SD card that implements power savings modes (like SanDisk), it consumes around 0.8 mA. If you're calculating battery life, you can use that as a theoretical maximum battery life, ie: if you use a 2000 mAHr battery, you would get 2500 hour battery life or ~100 days max. We usually divide by 2 or 3 to get a realistic battery life.
We'll also be making some bonus sensors and training materials specifically for the WildLogger so people can extend it to different applications. We'll announce that soon, likely once we're caught up on the video creation. Also do let us know if you have requests for sensors, displays, etc.
Hope that helps and let me know if you have any other questions.
Akiba
4 February 2021 6:34am
Hi Akiba,
Oh, your answer is great!
My idea is to build a DL that allows,
- Light registration, with time stamp, when it exceeds a certain threshold (To control the human presence in the cave) The card only has to record when this threshold is exceeded to save energy
- Periodic record of temperature and humidity
- Data recording on SD
- Autonomy of at least 4 months
I have tried some sensors and I think I will use the TSL2591 because it has a very low detection threshold (0.18 uLux) and has an interrupt pin. I've already been testing some sample libraries, and I think it would be ideal
For temperature and humidity I am hesitating between using the DHT11 or the BME280
Perfect the external reference of the ADC if it serves to have more accurate readings
My idea is to use a power bank with 3 or 4 18650 Lipo batteries and built-in BCP, and to be able to disconnect the device when it detects that the power supply is less than 3.2V
Is the Sandisk card you mention a normal one, or of an industrial type like the one you presented in the corresponding module?
My best wishes,
4 February 2021 1:13pm
Oh that sounds like a fascinating application. I've actually just started a thread for Wildlogger add-on board requests. The TSL25911 sounds do-able and also it looks like one useful thing would be to put together some adapter cables to other popular modular systems like the Adafruit Stemma and Seeed Grove. Let's discuss this in the other thread.
Module 3.2b Command Temp and Humidity
3 February 2021 5:34am
3 February 2021 6:44am
Hey,
In the cmdTemperature and cmdHumidity functions, there's full stops between void and cmdTemperature and cmdHumidity. Can you try removing them and see if that works?
Cheers
Jacinta
3 February 2021 10:18am
Omg thank you. Just flew over my head
4 February 2021 12:21am
No probs. We've all been there (and will be there again)!
Glad it's working
cheers
Jacinta
Module 3.4: Real Time Clock
21 January 2021 12:28pm
2 February 2021 2:30am
Hi JAL.
For Module 3.4 - Lab 4a, the time will be hard coded into the sketch and then it will just print that time out. It's just to demonstrate how you would set it and how you would print it out. Every time you reset the board, the same time is reprogrammed into the real time clock so it will never advance.
Where you will see the actual real time clock behavior is in Module 3.4 - Lab 4b where you set the clock from the command line and can read it from the command line. Since it won't be hard coded but rather set at run-time, and then independently read out, you should see the clock advance. Also you should only need to set the clock once as long as the backup battery holds up (should be good for a few months to years).
Please try lab 4b and check if the clock can advance. You should see the seconds incrementing at least.
Akiba
2 February 2021 11:57am
Hi Akiba!
Now it's okay, and the clock is ticking!
Now I understand the errors I made, I had used the example of the Rtc_Pcf8563 "Setclock" library that contains in the Setup an "rtc.initclock" statement, with which every time you restart the program the clock starts counting from the starting point of departure.
Your first example did not set the clock either, and it only served to enter a time and print it later.
I had also tried to use the Rtc by Makuna library to automatically synchronize the time of the PC with that of the RTC, but I got a time loss error, as if, for some reason, the RTC did not retain the time. It is true that this library is designed for other RTC models of the DS **** series, and surely the error comes for that reason
Do you know if there is a library to fulfill this function with your RTC?
Thank you !!
2 February 2021 3:33pm
You'll need to write a software application that would communicate from the PC to the board via serial. Within that software application, you could send the time and date to the Wildlogger application, ie: through the command line interface. This would automate the synchronization.
Akiba
BYO Data Logger: Live Events - Tell us what you want to discuss!
29 January 2021 1:57pm
Module 3.6: Interrupts
29 January 2021 12:29pm
Module 3.6: Interrupts
29 January 2021 12:00am
Module 3.5: SD Cards and the FAT File System
22 January 2021 5:30pm
27 January 2021 3:05pm
Hi JAL.
Ah I understand now. When we put the libraries in github, we were still debating on what versions we would use. For the RTC library, we initially wanted to use the library available from Arduino Library Manager, but it didn't support the Timer feature and datetime function (it just supported date and time separately). We ended up using a fork of the RTC library with the additional features.
Also there are so many different versions of sdFat and as you saw, one version is incompatible with another. We were using v1.01 at that time which we've field tested and worked well. However after a lot of thought, we finally decided to use the last version of Release 1 which is v1.1.4 .Unfortunately the github libraries didn't get updated. Actually we didn't think anyone would use them and would install the libraries as per the videos. The Github libraries were intended for archival purposes. I'm glad you caught the version mismatch though.
It's actually a good example of one of the painful parts of embedded programming. Getting the right combination of library versions, application code, and hardware so they are all communicating happily together and doing what you want can be quite challenging and frustrating. That's why when we discussed with Steph and Ellie, we liked the idea of doing a deep course, but also wanted to make sure there were a lot of avenues of support. Otherwise, there are so many hidden walls to run into.
Also the github libs have been updated, but I'm glad you got it all to work anyways.
Akiba
28 January 2021 6:37am
Too many things to consider! :-)
This is one of the reasons why I try to work with VsCode, that this IDE allows to save each project with its library versions
But I still have other problems that I do not understand ..., we will continue to insist
The great advantage of this course is your professional support, without it we would be lost!
Best regards !
28 January 2021 7:20am
Ha ha ha. We'll look into PlatformIO perhaps in the future, once we have a break with the courses. In the meantime, there's a lot of other hardware, sensors, and communications to play with still :)
Akiba
BYO Datalogger Github Repository
17 December 2020 1:42am
26 January 2021 6:19pm
Hi Akiba,
I am using VsCode and I see that your board is not included in the list of available
What similar board do you think I could use? Do you foresee that your plate will be included in the near future?
Cheers !
26 January 2021 11:35pm
Hi JAL.
I think everyone should use the editor they feel comfortable with, but our courses will assume using the default Arduino IDE. There is a setting where you can use the Arduino IDE just to compile and use an external editor. I recommend possibly using this mode so you can use the included board files we've prepared. We stray a bit outside the standard Arduino ecosystem since we are designing boards specifically for field deployment. We are actually using larger chips with more RAM so our board files are different than the standard included ones.
Akiba
27 January 2021 9:18am
It is true Akiba, I did not remember this option, that the Arduino IDE allows us to work with an external editor
I will also try to send a message to the Platformio managers to include your board in that environment
Thanks !
Module 3.2: Temperature and Humidity Settings
21 January 2021 11:43am
24 January 2021 4:46am
An observation I made when first experimenting with DHT22 modules with a Raspberry Pi years ago that still seems true with Arduino and DHT11 sensors. The first reading of the temperature and humidity always seems to be inaccurate for some reason, so my habit was to always read and throw away the first command as part of the device setup.
e.g.
28.10,49.00 <-- inaccurate
29.60,46.00
29.60,46.00
29.60,46.00
29.70,46.00
29.70,46.00
John
Module 3.5: SD Cards and the FAT File System
22 January 2021 12:00am
26 May 2021 10:13am
Hurray !, we were waiting impatiently for it, now we can put our babys to sleep and let them only work what is necessary!
I've started to see a bit of the content, and as always, it's exceeding my expectations.
Congratulations on your excellent work!