flatLAN - one sensor version of the LANcube v1

User's Manual

Martin Aubé1, Ph.D. (PI)

1 Cégep de Sherbrooke, Sherbrooke, Québec, Canada

February, 2023

Creative Commons Attribution-ShareAlike 4.0 International License


This device is aimed to be placed in patient room to monitor LAN at night.


Components list

The system consists of the following items:

Component Quantity
Cole parmer watch glass 25mm diameter 1
CR 2032 lithium battery 1
Sandisk Ultra 16Gb Micro SDHC UHS-1 1
2 pin Male jumper assembly 2
4 pin Male jumper assembly 2
push button 1
Rubber feets 4
TCS 34725 color sensor 1
phone charger 1
DS3231 AT24C32 IIC Module Precision Real Time Clock Memory Module 1
Elegoo MEGA 2560 R3 Board 1
AM2302/DHT22 Digital Temperature and Humidity Sensor 1
MicroSD card breakout board+ from adafruit 1
M2 self tap 8mm screws 11
M2 self tap 5mm screws 12
Silicone glue transparent -
Super glue -


3D printed components

Main enclosure



  • Real time clock
    • SCL -> SCL on the arduino
    • SDA -> SDA on the arduino
    • VCC -> 5V
    • GND -> GND
  • Relative humidity & temperature sensor (DHT22)
    • Pin 1 (left) -> 5V and 10k resistor
    • Pin 2 -> arduino pin 46 and other end of the resistor
    • Pin 4 -> GND
  • MicroSD card breakout
    • 5V -> 5V
    • GND -> GND
    • CLK -> arduino pin 52
    • DO -> arduino pin 50
    • DI -> arduino pin 51
    • CS -> arduino pin 53
  • TCS34725 light sensor
    • LED -> white wire -> GND
    • SDA -> SDA on the arduino
    • SCL -> SCL on the arduino
    • GND -> black wire -> GND
    • VIN -> red wire -> 5V
  • Push button (to stop measurements cleanly withoud damaging files)
    • wire 1 -> arduino pin 48
    • wire 2 -> GND

Mechanical Assembly

Assembling steps

Components positions on internal structure

Setting up the flatLAN for measurements

Operating modes

There are only two modes, measurements and idle. After powering the usb, the flatLAN start automatically the measurement sequence. If you push on the push button for about two second, the system will switch to idle mode. In idle mode the flatLAN will finish the writing of the actual data and then it is safe to unplug the power without risk of micro sd card corruption.

Data format

The data is structured in the following way for each equivalent column number:


Failure of the clock battery

In case of failure of the real time clock battery, the flatLAN will lost its date and time after power off. Then the only way to restore the correct time is to:

  • Open the box and change the battery
  • Set your computer timezone to UTC
  • In the IDE software open the file FlatLAN-10-11-2023.ino (or the latest code)
  1. Find the following line :
//rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
  • Remove the // at the beginning and upload the code onto the flatLAN
  • Immediately after the upload ends, put back the // and upload again

Note that there will always have a little shift between the real GMT time and the time stored on the arduino. This correspond to the time between the compilation of the code and its upload on the arduino. The time stamp is actually created at the compilation step.


Memory requirements

  • 25692 bits (octets) of storage for the code.
  • 1655 bits for the global variables in the dynamic memory