-
-
Notifications
You must be signed in to change notification settings - Fork 100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sparkfun Artemis and CS320 pyranometer #83
Comments
I had a look, it seems like a bit of "board-specific definitions" is needed to make things work: Arduino-SDI-12/src/SDI12_boards.h Lines 389 to 391 in fd9699b
If we could get some help here it would be really great. Any hope @Wenn0101 that someone at SF could help us on that? We are quite big buyers of the AGTs for geophysical measurements (and we intend to use AGTs instead of Campbell systems to log / transmit data about these sensors in the future), and we are trying to push more people around us to go for these, if you can help us get this SDI-12 stuff to work this is more customers from Met organizations around the world :) . Just putting the datasheet link: https://s.campbellsci.com/documents/us/manuals/cs320.pdf . |
I'm just wondering if it also needs SDI12Timer:: class instances for that board in SDI12_boards.cpp I've been looking at how to do this on Cortex-M4 SAMD51 (Seeed Wio Terminal). The registers/implementation for the SAMD51 TimerCounter are different than that of the SAMD21. For a fast processor, and since the whole approach is port bit-banging, the ESP32/ESP8266 has perhaps a generic approach.
SDI12_boards.cpp: ESP32/8266 approach is pretty simple
|
Aaah, that would be very convenient if KISS bit banging with the micros function would be enough :) . The Artemis runs at 48MHz with a boost mode (that works the same, just more power draw) at 96MHz. Any idea if that would be enough? :) . |
Any idea of a cheap SDI-12 device we could use just to test the communications? :) . |
Yes the KISS is a good baseline. I would guess 48MHz should have a fast enough cycle time,... but its all in the trying it out. Thanks to whoever did the ESP32 for thinking it out ..... I'm trying it with a SAMD51, 120MHz (https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/) Maybe I should switch to a repeated a_wild_card.ino |
welll... so a quick report, but it doesn't look good. |
Hi @neilh10 , Many thanks for your comments. Ok, interesting to hear that things do not look too good. We will discuss with @jvoermans if we try to find an alternative or go for SDI-12 interfaced sensors, we will let you know. |
There are many timers on the Sparkfun Artemis boards, so an option too is to go for the more involved "timer solution". Just for reference (in addition to the datasheet): https://forum.sparkfun.com/viewtopic.php?t=52254 https://forum.sparkfun.com/viewtopic.php?t=51868 @neilh10 if you would be interested to look into this we could ship to you an Artemis RedBoard ( https://www.sparkfun.com/products/15444 ), which is a not too expensive board that uses the same processor as the whole Artemis family. Of course no pressure whatsoever though, we perfectly understand if you are not interested in supporting a multitude of boards and architectures :) . |
@jerabaul29 I checked with the PlatformIO environment and it doesn't support the Sparkfun Artemis board. I have been using the https://platformio.org/ IDE, (using Visual Code) which when it supports a target is a very easy turn-up environment and supports a number of targets. |
Yeah, platformio and the Artemis is a bit of a complicated story, but there is a good platformio support now - though this is community contributed and requires manual install: https://github.com/nigelb/platform-apollo3blue Ok, thanks. Will try to get my hand on a SDI-12 device and test. Really sad / painful with the "fractured" of the specs, library, etc, indeed as you say. |
Super nice website by the way :) . |
We rather use our systems for measurements of sea ice cover in the Arctic and Antarctic, so this is why we use these MCUs - since there is a development board version with iridium and GPS all on the same board that we like quite well ( https://www.sparkfun.com/products/16469 ). The nice thing with these Artemis boards is that they are based on these Ambiq processors that use around 0.5mA at 3.3V when running at full 48MHz with everything on :) . |
Gosh thanks for the insights, and link to nigelb/platform-apollo3blue. I'll see if it goes in as easy as it suggests. monitormywatershed.org is a project of the Stroud Water Research center, and they have enviroDIY.org to encourage users and a mega1284 board Mayfly with the SDI-12. I'm a user, and have my own fork of the software https://github.com/neilh10/ModularSensors |
Nice! I (and @jvoermans ) are working in Geosciences (in opposite parts of the world), measuring sea ice dynamics in the Arctic and Antarctic. We are developing our own instrumentation (which we open source when its mature, but working on a new "v2021" that is not open yet, still too early phase), since it can cut costs by a factor 10 to 15 compared with commercial solutions, and it makes a big difference for the science we work on if we have 1 or 20 measurement points... The ironic part is that in the project I work with now, I actually decided to stick to the core v1 which is a "simple C++ main program running" and not using the RTOS, since a bunch of stuff was not really stable when I started the project back then. But I think that the MbedOS based arduino core is getting much better these days. This is the nice thing with the SF Artemis platform, there is an actual company behind and a relatively large users community, so that there is tooling examples etc made available. |
@jerabaul29 I followed the https://github.com/nigelb/platform-apollo3blue Its almost compiled, except for finding interrupts() nointerrupts() I've tried the ARTEMIS_THING_PLUS as I've used the feather footprint before. C:\Users\neilh77a.platformio\packages\framework-arduinoapollo3@2.1.0\cores/mbCOLLECT_GCC_OPTIONS='-o' '.pio\build\SparkFun_Thing_Plus\src\SDI12_boards.cpp.o' |
For now I am using the Arduino IDE still, but I have some colleagues who use the Platformio environment and said it worked nicely. If you have any issues, please report these directly on the platformio repo :) . Another thing: you can choose either to use the core v1 or v2 with platformio. The people I know all use the core v1, no idea how stable the core v2 (the one with RTOS) is. If you want to discuss this further, may you open an issue at nigelb's repo (feel free to tag me there if you want :) ). |
Hi All, I've come across a sensor that communicates through SDI-12 and would be great to use a microcontroller to log the data.
Has anyone got experience using the CS320 pyranometer (Campbell Scientific) with the SDI-12 library?
Also, any experience with the SDI-12 library and the Sparkfun Artemis? @jerabaul29
Any feedback much appreciated
The text was updated successfully, but these errors were encountered: