The Arduino Logger
This project came about after a long discussion with Brenton, VK2DDS on 40m one night about micro controllers what they can do and now fun they are to work with. At the end of this we kind of had a bit of a plan for an Arduino based logging application, which I was to some day code up and put into action. Well this sat on the idea shelf for a long long time and in that time, no one else had created a logging application for Arduino, and hating doing paper in the field or breaking expensive tablets, laptops etc, or having power hungry devices when out in a national park, i decided it was time for rubber to meet the road and to make this a reality.
I have made a kind of schematic of how things get wired up on a MEGA. If you use a nano or uno you will have to know where the Mosi, Sda etc are all located. There are only 3 pins that do not have default locations, CS, Clk and Dat which are coded to pins 4,3,5 respectively. They are the only pins that can be changed. The above is actually the beginnings of a shield schematic that I will route and use in my own build, assuming i can get an ok layout on single sided board.
- Arduino Uno or preferably Mega
- 20 x 4 LCD with I2C module
- SD Card reader and SD Card
- PS/2 Keyboard module and PS/2 Keyboard
- Real Time Clock Module
FILES ALFALFA VERSION: VK4FFAB-ARDUINO-LOGGER
FILES MUNG BEAN Version 1.00010: ArduinoLogger-1.00011
FILES BEAN SHOOT Version 1.00013: arduinologger-1-00013
FILES BAKED BEANS Version 1.1: TFT_Arduino_logger
In the ZIP file above, I have included the non default libraries I have used with the sketch. SDfat, RTClib, PS2Keyboard, and LiquidCrystal_I2C, these get installed into your arduino library folder. The SD library is a resource hog, it allocates 50% of the available UNO SRAM to itself, which is annoying, SDFat is the trimmest of the bad bunch, sadly. Next version of the code will be for MEGA just so I have some overhead.
HOW TO USE THE ARDUINO LOGGER
On starting the Arduino Logger you are welcomed with this splash screen. Press ENTER to continue to the Main Menu.
MAIN MENU: This is the main menu, from here you can perform all the tasks that the logger offers.
F5: Pressing F5 from the main menu allows for changing the band. Currently only bands that are in Meters are supported. 160->2m. 70cm and the microwaves will save as 70m 3.6m etc in the ADIF file as there are no checks for bands which end in CM not M.
F6: Pressing F6 will allow for the mode to be changed. All modes can be entered in this field, however there are no checks to ensure that you have entered a valid ADIF value for the mode. CW, SSB, FM, AM, PSK are all commonly used ADIF values for portable operators.
F7: Pressing F7 will allow for the changing of the Operators Callsign. Useful for when you have a single station and multiple operators. Also useful for awards programs where a different station callsign might be used to the operators call.
F8: Pressing F8 will allow the changing of the station callsign. The station callsign is the one with additional prefixes and suffixes used to identify portable, mobile and other types of operation. VK9/VK4FFAB/MM is an example of this, where VK4FFAB is operating maritime mobile in VK9.
F9: Pressing F9 will bring up the current station data, showing you the mode, band, station and operators callsigns.
F11: Pressing F11 will bring up the current date and time as stored in the Real Time Clock module. In the above cause, it has been configured in UTC.
Adding a Log:
F1. Pressing F1 will allow for the adding of a new log entry. The log entries are saved in ADIF format for easy uploading into other log software or to awards databases. First it will ask for the call sign of the station you wish to log.
Next it will ask for the report you wish to give the station you are logging. Pressing enter straight away will log 59 in SSB etc and 599 when the mode is CW.
Next it will ask for the report you have received from the station you are logging. Pressing enter straight away will log 59 in SSB etc and 599 when the mode is CW.
Finally a summery of the log entry is show to confirm that everything you entered is correct. Hitting enter will save the log to file and return you to the main menu. Hitting delete will clear the log data and take to back to entering the Callsign of the station you are working.
TODO: There still needs to be some more testing in the field to see how the whole thing performs in the wild when you have people calling you. But from initial tests, it works very nice and the work flow it not painful at all. There are still some features i wish to add, a Comments section, so you have add name qth etc, or SOTA and WWFF references of the station you are working. And the other main thing is to be able to load an existing log, or create a new logfile. This will be useful if you are making a number of park or sota activations and wish to have a separate log file for each one.
All logging is saved in ADIF for easy importing and uploading to other log programs and programs like SOTA and WWFF.
Here is an image of the layout of my Arduino Logger, I have used a MEGA board, and have the SD card internal, which is probably a mistake access wise 🙂
Lastly, a picture of the LCD and I2C module. Much less wires when using I2C for LCD than serial wiring. The wiring is a mess as it is without more wires.
Finally, here is a video of the logger in action.
Arduino Logger TFT Edition.