Multi-Channel Data-logger with OLED Display

Archived - This project is no longer maintained

A 3 Channel Data-logger powered by the Arduino compatible LinkIt One. This device can log data from 2 Analog Inputs and 1 Digital Input / Output with PWM capabilities. The Device syncs time from GPS and makes use of the onboard battery to make it become even more portable. With an OLED Display to show system information and live data feed, along with the option to force an update all controlled via the 1 Button. The data file is stored on the LinkIt One’s internal storage and saved as a CSV file so it can easily be read by a text editor or a more powerful program (such as Excel). Fully Customizable and with room to expand all via the software that makes it run.

Download Source Code

Released under the Apache License V2, you have access to all the source code and schematics to build your own


The case

Drill out 2 holes in the top half of the case. One for the OLED connector and the other for the button. On the right side cut out a space for the terminal block and seal around to stay in place.


Solder the terminal block to wires and heatshrink. Then on the OLED shield connect the wires as follows

  • 5V
  • 3.3V
  • GND
  • D9
  • A0
  • A1

Solder the button to GND and D8. Place the OLED Shield onto the LinkIt One and connect the battery and GPS antenna to the back (a bit of tape to secure it down may help). Place the GPS Antenna so that the top of the antenna (Side with Shiny surface) is facing to the back of the unit (See Picture).

Leave the Left side of the case open (So that you have access to the switches and USB port) and put other side of case on then screw down.


Now that you have a fully constructed case, ensure the switches are set to the following positions:

  • SD to SD
  • MS – UART
  • PWR – BATT

Then open the LinkIt one IDE (can be downloaded from GitHub here) and download the OLED Data-logger code. Change the parameters in the code to suit your application. For example find the calculation voids and change them to adjust CH1_RAW (RAW analog data) to CH1_CAL (After applying formula). Unless otherwise changes CH1_CAL is logged to the file not CH1_RAW. Other params include when you want the device to log data automatically and DEBUG mode TRUE or FALSE which will force the unit to wait for a serial line before continuing the script.

Once all changes have been made (remember to always keep the original author) upload the sketch to the LinkIt One.




When you first turn on the device you will be greeted with the welcome message, after that the GPS Sync screen. Here it is required that you turn the device upside-down (the antenna gets best reception facing up) with a clear view of the sky. Syncing takes approximately 1 minute so be patient. After Sync is complete it will briefly show the GPS synced message followed by the main screen. each screen can be changed by pressing the button. On the Force Log Screen press and hold the button to force a log otherwise just pressed the button (sometimes pressing it twice is required). The blank screen can be changed back to display by pressing the button. The first 2 Screens show system info and status such as battery level (more on this later) uptime, current time, etc. The third screen shows the channel values raw and calculated.


When the battery goes under 20% a warning appears saying to plug in charger. If you have any suggestions or if you make it then please comment . Thanks for reading!

About the author

Leave a Reply

Your email address will not be published. Required fields are marked *