Group

Build Your Own Data Logger Community / Feed

Welcome to the official group forum for our virtual course, Build Your Own Data Logger. This is your space to engage with course instructors Akiba and Jacinta from Freaklabs, find help and resources for each module, collaborate and chat with your fellow course participants, and share your progress on your own Data Logger project!

discussion

Battery status monitoring no longer working

Hi, Just loaded and run the Module 4-1 code and found that the battery status monitoring is not working as expected.  When I loaded and (first) ran the Module 3.3 code the...

6 0

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

Hi Akiba,

Please see the email sent to sales@freaklabsstore.com.

Many thanks for your assistance.

Phil Young

Hi Phil.

A replacement board was just sent out to you. Thanks for your help with the pictures and the patience :)

Akiba

See full post
discussion

Hackaday Data Logging Contest

Hi everyone.  Hackaday is running a data logging contest right now and if you happen to need a reason to log some data, this might be the thing. It runs through April 25th...

0
See full post
article

Module 4: Tying It All Together

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. 

0
See full post
discussion

WildLogger Add-On Board Requests

Hi everyone.  We've gotten a couple of requests for add-on boards for the Wildlogger for specific applications. Although we can't guarantee we can handle all...

5 0

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 !

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 

I appreciate your encouragement !

Don't hesitate that I will keep you informed of the progress that I am making

Happy weekend !

See full post
discussion

Carly's video blog journey

Welcome to my vlog (video blog) for the Build Your Own Datalogger course. I hope they bring you joy, some humor, and confidence that no one's getting everything right the...

2 0

Hi Carly. 

The videos are wonderful! They're hilarious and also let me know areas we can improve on :)

Akiba

See full post
discussion

Module 3.3: Measuring Battery Status

Hi everyone,  As you're aware, Module 3 has turned into a bit of a monster. To get all the information to you in a digestable format, we've broken it into six...

4 0

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

 

 

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,

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. 

See full post
discussion

Module 3.2b Command Temp and Humidity

I am running into an error "cmdTemperature was not declared in this scope" I thought it was a spelling error, but I am not finding the type, so I was wondering if...

3 0

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 

 

See full post
discussion

Module 3.4: Real Time Clock

Hi everyone,  As you're aware, Module 3 has turned into a bit of a monster. To get all the information to you in a digestable format, we've broken it into six...

5 0

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

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 !!

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

See full post
article

Module 3.6: Interrupts

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.  

0
See full post
discussion

Module 3.5: SD Cards and the FAT File System

Hi Everyone,  We've got a module release for you going into your weekend - happy Friday! Please use this thread to ask any questions that pop up as you work...

16 0

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

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 !

See full post
discussion

BYO Datalogger Github Repository

Hi everyone. In case you weren't aware of it, the BYO Datalogger course has a github repository where you can view, download, and clone the Wildlogger board design files...

3 0

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 !

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

See full post
discussion

Module 3.2: Temperature and Humidity Settings

Hi everyone,  As you're aware, Module 3 has turned into a bit of a monster. To get all the information to you in a digestable format, we've broken it into six...

1 0

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

See full post
article

Course Directory

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.  

0
See full post
article

Module 3.4: Real Time Clock

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. 

0
See full post
discussion

Module 2: Setting up the Arduino IDE

Hi WILDLoggers,  Module 2 is now live! Thanks to everyone attending our Office Hours with Akiba and Jacinta today. If you can't make it, don...

23 0

Oh great. That makes me feel better also. Hope you have a stable development system to work off of. Great things still need to be made!

Akiba

See full post
discussion

BYO Holiday Break Project Log + Schedule Update

Hi Wildloggers, Happy holidays! Just popping in to let you all know that we're in the process of adjusting the module release schedule to reflect the longer module...

4 0

Ha ha ha. it will be much more important than that later on. 

Stay tuned :)

Akiba

See full post
discussion

USB dongle

Enjoying the course which is very interesting. Apologies if this is a silly question but I do not understand the instructions about plugging in the USB dongle. Is this part of the...

7 0

How do you get the cables through the white plastic sticking out bit? Mine seem to be too wide to fit through

Hi Liam. 

To get the cables through the cable gland, we'll need to remove the wires from the terminal housing and then reinstall them. That will be in a later module.

Akiba

See full post
discussion

Module 3.3.3 why is pinBatt an int?

Thank you for the course which I am really enjoying and learning a lot. This is a trivial question but has me puzzled. Why does the code say int pinBatt = A6: as I had...

5 0
Rob

Hi Akiba, Jacinta,

Jjust to say I've complted all the videos through to end of 3.3.1b successfully - no problems!  It snowed here in the North of England last night, so was measuring temperature today!

Many thanks

Rob

See full post
discussion

Useful Resources (add your own!)

**MODERATOR EDIT: Hi everyone, I've updated this thread to turn it into a place to share useful resources relevant to the course. Please add...

7 0

Hi Everyone.

Just thought I'd add this to the list, as I have found it very useful.

Practical Electronics for Inventors by Paul Scherz and Simon Monk. (ISBN 978-1-25-958754-2)

It does the "high level" stuff and the detailed stuff very well and covers a lot of the devices and functions you may think of using in a project.

Cheers

Sean

See full post
discussion

Module 4 and 5

Were Modules 4 and 5 postponed? Could've sworn the poster said they would be released today.  

1 0

Hi there! Yes, we're in the process of working out the new schedule - several of the modules have ended up being longer and more in-depth than we originally expected, so we've postponed them until after the holiday break to give everyone a chance to catch up on the first part Module 3. You can expect the second half of Module 3 after the New Year, and Module 4's release announcement will come soon after that. 

Sorry for the confusion, hope this helps! 

-Ellie

See full post
discussion

Module 3.1.1 The Arduino Command Line.

I tried to compile the example code in this tutorial, but run into the following error: " 'cmdHello' was not declared in this scope" My code is below...

6 0

Hmm.. that's strange.

I copied and tested your code (as above), and it works as expected. I get the 'command not recognised' initially, and then 'hello command line' when I type in hello.

At the bottom of the serial monitor, can you check it's set to 'carriage return' and 57600  baud  (see images below)?

After the serial monitor is open, the output will be blank.

If you put your cursor in the text input field, and press enter, it should return ''Cmd: Command Not Recognised". 

If you put your cursor in the text input field and type 'hello', it should still return the 'hello command line' as per the function.

I've attached screenshots of the two scenarios above.

Can you share what you're typing into the serial console, and what's being returned?

thanks

Jacinta

thanks jacinta. it worked again. The problem was I couldnt exactly see How yall set up the serial monito in the video, because all the links to future videos actually covered the bottom that showed that part. Sorry about that.

See full post
discussion

Code Module 3-3-3b

I copied the code from Github and getting the attached error message: Any guidance appreciated, Paul

2 0

Hey Paul,

The #include macro, #define constants and pinBatt variable declaration need to sit outside the setup function at the very top.

Declaring pinBatt outside of the setup loop, means it becomes a global variable which can be accessed by any function in the program. 

So, currently what's in the first loop function, should be in the set up function, and there should be only one loop function.

So code should look like ...

#include <cmdArduino.h>

#define ADC_UNITS 1024
#define ADC_REF_VOLTAGE 3.3
#define ADC_SCALE_FACTOR 2

int pinBatt = A6;

void setup() {
  // put your setup code here, to run once:
  pinMode(pinBatt, INPUT);

  Serial.begin(57600);
  Serial.println("Module 3-3 Lab 3a: Battery Status");

  cmd.add("batt", cmdBatt);
  
}

void loop() {
  cmd.poll();

}

Here's some further info on #include libraries, #define constants and global variables if you're interested

# include

https://www.arduino.cc/reference/en/language/structure/further-syntax/include/

#define

https://www.arduino.cc/reference/en/language/structure/further-syntax/define/

Global variables and scope

https://www.arduino.cc/reference/en/language/variables/variable-scope-qualifiers/scope/

hope that helps!

Jacinta

Ah yes! Rookie mistake and soon as I saw your response I remembered the #include #define needed to be outside the setup.

Thank you!

See full post
discussion

SD Cards and Reliability

One of the questions that came up at the BYO Datalogger Welcome meetup is regarding SD card reliability. Since it was a bit of a detailed topic, we decided to move it to the...

10 0

Just saw this in the digest listing -- I'd hit the same problem with the WiFi SD cards being power hungry so we're developing something ourselves with Bluetooth, WIFI and LoRa. Currently pursuing funding to be able to develop it faster, but the intention is to opensource -- so would love to colaborate if anyone has interest/input/use cases? My PhD is in low power wireless sensor networks so nice to have a project it can actually be useful for. Providing we can get funding we'll have some 'free to you' prototypes for field testing.

Hi @openlx 

Sounds very interesting and love to hear more. So would your system work as a replacement SD card, or work with an existing card/card holder. I think there's a lot of potential for any conservation technology that uses SD cards, including camera traps. And can I ask what sort of ballpark levels of funding are we talking? 

Cheers,

Rob

It would slot in to replace the usual SD storage card, with power, controls and antenna etc. hanging off thin wires -- the idea being to fit as many existing products as possible. Looking to raise about £10k for the proof of concept and then same again for certification and initial run.

See full post
discussion

Code location online?

Total beginner and failing eyesight mean trying to read code on the YouTube videos is a struggle. I think I am right in saying there are copies of the code on Github (SP??) and I...

1 0

Hi. I guess we haven't made it prominent enough. Here is the github link where you can find all the code for the virtual course:
Link

Hope that helps :)

Akiba

See full post