Im not sure if this is the right place, but I created a Windows app called Loggbok + Arduino Libraries BlaeckSerial and BlaeckTCP for data logging/recording, monitoring and real-time plotting of Arduino data over serial interface or network interface (WiFi/Ethernet).
LOGGBOK is now available for in the Microsoft Store:
For beginners it may seem impossible to easily bring sensor data from the Arduino to your PC, but I hope with LOGGBOK things look a little bit different.
This windows applications is made for this specific purpose:
Designed to work seamlessly with Arduino boards, Loggbok provides an easy and straightforward way to log data from a range of microcontrollers, including Atmega, ESP32, ESP8266 and others.
Just connect your sensors to the board, install the companion Arduino Library, add the sensors in your Arduino sketch and upload it to the board...and start logging!
Install the libraries with the Arduino Library Manager
A lot of examples included in the libraries
Set logging intervals from miliseconds to hours/days or click a button to log immediately
Monitor the values - Add monitors with upper and lower limits with the included editor
Local data storage - Non-Cloud solution, all logging data is stored in a local SQLite database, providing you with a reliable solution for data storage, which is highly resistant to corruption
Email notifications - Just enter the SMTP configuration of your email provider and get notified via email in case a sensor value goes off-limits or a logging error occurs
Free trial
Basic Example Code:
#include "BlaeckSerial.h"
// Instantiate a new BlaeckSerial object
BlaeckSerial BlaeckSerial;
// Signals
float randomSmallNumber;
long randomBigNumber;
void setup()
{
// Initialize Serial port
Serial.begin(9600);
// Setup BlaeckSerial
BlaeckSerial.begin(
&Serial, // Serial reference
2 // Maximal signal count used;
);
BlaeckSerial.DeviceName = "Random Number Generator";
BlaeckSerial.DeviceHWVersion = "Arduino Mega 2560 Rev3";
BlaeckSerial.DeviceFWVersion = "1.0";
// Add signals to BlaeckSerial
BlaeckSerial.addSignal("Small Number", &randomSmallNumber);
BlaeckSerial.addSignal("Big Number", &randomBigNumber);
}
void loop()
{
UpdateRandomNumbers();
/*Keeps watching for serial input (Serial.read) and
transmits the data at the user-set interval (Serial.write)*/
BlaeckSerial.tick();
}
void UpdateRandomNumbers()
{
// Random small number from 0.00 to 10.00
randomSmallNumber = random(1001) / 100.0;
// Random big number from 2 000 000 000 to 2 100 000 000
randomBigNumber = random(2000000000, 2100000001);
}
further I suspect that you might have to pay attention to this warning:
c:\Users\Wim\Documents\Arduino\libraries\BlaeckSerial\src\BlaeckSerial.cpp: In member function 'void BlaeckSerial::setTimedData(bool, long unsigned int)':
c:\Users\Wim\Documents\Arduino\libraries\BlaeckSerial\src\BlaeckSerial.cpp:398:26: warning: comparison is always false due to limited range of data type [-Wtype-limits]
if (timedInterval_ms > 4294967295)
~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
Is there a non-store version? Not everybody wants to install from the Microsoft store.
Hi sterretje, thanks for trying with the Due. I think I already found, what's causing the compiler errors on the Due. The fixes will be in BlaeckSerial 4.1.
A non-store version is planned for the end of the year. The non-store updater still has some bugs and I want to make sure it's stable before releasing it.
I posted a tutorial on the official Arduino Projecthub, which shows you how to log and monitor temperature and humidity on your PC with the SHT31 sensor and LOGGBOK.
Oh my! Sebastian, this is excellent. Just what I have been looking for! You have done a tremendous amount of work!
I have some old experience with the Parallax Stamp but am finally moving to the more modern and well-supported Arduino. Lots to learn but I was hoping to find a "complete" real-time data logger for an upcoming dynamometer project. I am nearing completion of the build of a model diesel engine (just for fun) and wanted to complement that with a dyno. I have read some of your documentation (but not all of it, excellent BTW) and will need at least 2 channels: One for analog output from a load cell and one for digital signal from a Hall effect RPM. I realize that the analog load cell might have to first be converted to digital, and to an actual torque value, and the Hall effect would need to be processed to produce an actual digital RPM signal. Then a little math to calculate the HP (or kW) . So that will mean displaying at least three data traces on the display.
Sebastian, do you think your app is suitable for this dyno project?
Thank you,
Lloyd
P.S. I can certainly bread-board some outputs to test the idea out.
Hey lloyd-ss,
that's some some nice machinery you built there! The app should be totally suitable for your needs. What microcontroller do you plan to use?
Based on what I saw on your youtube making this work with Loggbok should be rather simple for you.
I'm really looking forward to see some results or videos here. If you have questions don't hesitate to ask.
Sebastian, I still have some problems and building to overcome for the mechanical portion of the diesel, and the dyno is still in the "mental" stage. I don't know which Arduino I will use and will need guidance selecting that after I have a reasonable block-diagram of the system. The system processing capability must not plenty big with extra capability. After all, the Arduino might be the least expensive part. The system will need to be "adequate" so that it is useful, but not so complex that it just adds trouble to the operation. Still just thinking. Lloyd
I'm thrilled to announce the newest version of LOGGBOKVersion1.0.114 - MAY EDITION including a lot of quality of life improvements and performances updates. Many (weekend) hours of work were put into it. Have fun logging!
Changelog:
Improved TCP Lost connection detection
New TCP Auto Reconnect setting (Settings > Logging)
Support of 'Device restarted information' introduced with BlaeckSerial 4.3.0 and BlaeckTCP 3.0.0
New 'Restore interval mode after device restart' setting (Settings > Logging) (Requires above Device restarted information)
Added a new 'Overdue Reset Event', which indicates that new logging values where received after the 'Logging Overdue Event'
Improved the Logging Overdue Event text to make it more comprehensible
Added Notfication settings for the new events (Settings > Notifications)
Multiselect monitors (while holding down the SHIFT key)
HI all. Trying to download from Microsoft shop but unable to do so. I get a message that an executable file is to be found in my "downloads" folder to action the installation but no file arrives at my "downloads" folder.
Any suggestions please?
I submit the best suggestion you will ever get is avoid the Microsoft store like the pox. Only last week, I downloaded an unrelated programme for the first time ever. Not only is it junk, I can't access it, I can't uninstall it, and I can't even delete the directory it is in. Further, I had no choice about where it was installed.
I imagine this is down to my W10 installation not being 100% exactly according to Microsoft's expectation, which is probably not that rare.
If you can't get this stuff from a more friendly source, look for an alternative. You will probably find PLX v2 entirely satisfactory, very well supported around here, and painless to install.
Thanks for feedback Nick.
I agree the content of the Microsoft store leaves a lot to be desired. I attempted to download a couple of terminal programs and that was a more pleasant experience although the software performance was not that great.
I am hoping somebody that has the latest version of LOGGBOK can share it with me since I have been unable to find any other sites that I can download it from.
I will also have a look at PLX v2 as well.
While I reckon Netdevil is one of the great heroes of Arduinoland, I just use Bluetooth Graphics Terminal these days. It is more convenient and does all I need. You might find it the same...
This looks amazing and I could use this as a data logger for some mid-scale greenhouses I am working on. Are you updated on whether this can be downloaded anywhere except the Microsoft store? Also, I was wondering if it would be possible to integrate the ability to send commands back to the Arduino. My current setup monitors greenhouse conditions and when everything is ready for the next phase I have to manually go to the location and enter commands to start the next phase. It would be great to tell the Arduino what phase I want it to focus on or control servo motor-controlled dampers to manually release excess Co2 and stuff. Will this ever be an option available?
Your definition of "phase" is somewhat nebulous but, if you know what it is in advance, any data logging programme should do it. It is merely a matter of Arduino running the appropriate subroutine on receipt of the appropriate command.