1 of 28

Using the FreeStation PCBs

Mark Mulligan, King's College London

Sophia Burke, AmbioTEK Community Interest Company

www.freestation.org www.freesensor.org

  • The FreeStation PCBs (Generation 3.0 (ESP32), Generation 2.0 [Particle] and 1.0 [Arduino]) were designed for the FreeStation.org range of low cost, open source environmental sensors, operating with the FreeStation firmware�
  • They can, however, be used for any bespoke project or firmware since they are documented (here) and provide access to all microcontroller pins through shield header or pin header rails�
  • They are based on the commonly available ESP32, the deprecated Particle (Electron, Photon, Argon, Boron, Xenon), the Arduino pro-mini clones, and the less commonly available bespoke Kinguino board�
  • They provide a small form factor, field-robust basis for low-cost microcontroller measurement and logging applications, including IoT connectivity�
  • They can be ordered cheaply (especially for bulk orders) from OSHPark. Whilst we are happy to improve the documentation for FreeStation designs on the basis of your questions, we have no capacity to help you with your own designs or projects�
  • King's College London and AmbioTEK CIC provide these instructions, and make these boards freely available for download and purchase from OSHPark, without warranty of merchantability or fitness for a particular purpose. We shall not be made liable for any consequential, incidental, indirect, special, punitive or exemplary damages resulting from the use of this hardware. We receive no funding from your purchase at OSHPark, if you prefer to use another fab then download the board files from OSHPark and upload to another fab.

2 of 28

FreeStation

Generation 3.0 (ESP32) PCBs

3 of 28

FreeStation NanoProESP32 PCB (v1.9), available here USD 10 each (USD 31 for 3)

  • The board is designed for multi-sensor applications
  • The board has a small footprint to fit in a small enclosure and keep costs low.
  • It can accommodate an ESP32 DOIT
  • The board forms the basis of the FreeStationLive range but can be deployed flexibly for any application that uses the ESP32 DOIT.
  • Sensors connect via RJ12 or RJ45 sockets (3 of) but custom applications can be connected via screw terminals connected to the rails on the underside of the board, headers or direct solder
  • There is space and wiring for onboard ADC, OLED, logger shield or separate DS3231 RTC (only needed if not networked) and SDCARD, BLE,, 5V power as well as RESET button.
  • Power supply is via DC-jack (preferred) or screw terminal, JST (RAW)
  • The board is mounted via 2 PCB feet

4 of 28

Top view, components

JST cable to reset switch

OLED used to communicate with user

DS2321 RTC

10K R For wind direction sensor

FreeStation NanoProESP32 PCB (v1.9), available here USD 10 each (USD 31 for 3)

ADC Analog to digital converter (if required)

Battery voltage input

JST power cable

Programmatically controllable power switch for all powered components, allowing power on and off (CGND)

ESP32 DOIT

SDCARD

5 of 28

SENSORS1

RJ45 Connects to FreeStation TRH probe, pyranometer

(others also possible)

SENSORS2

RJ12 Connects to FreeStation wind speed and direction (others also possible)

SENSORS3 RJ12

Digital and analogchannels

Bottom view, connections

FreeStation NanoProESP32 PCB (v1.9), available here USD 10 each (USD 31 for 3)

SENSORS4

RJ12 Connects to FreeStation rain gauge, fog gauge (others also possible)

(others also possible)

Solder directly to ESP pins from these (for custom setup)

Solder directly to ESPpins from these (for custom setup)

SENSORS6

RJ12 Connects to serial sensors

(others also possible)

SENSORS6

RJ45 Connects to serial and I2C sensors

(others also possible)

SENSORS7

RJ12 Connects to analogue sensors

4G NBIoT module

4G NBIoT module power

6 of 28

FreeStation NanoProESP32 (v1.9), available here USD 10 each (USD 31 for 3)

3V3=regulated 3.3V, 5V=regulated 5V supply

CGND = conditioned ground (switched programmatically by holding A0 HIGH)

GND =Ground

NC = not connected, SCL/SDA=I2C

***TODO

7 of 28

8 of 28

Generation 2/3 : FreeStation Registered Jack (RJ) Connectors, available here USD 1.95 each (USD 5.85 for 3)

  • Some sensors come with RJ12 (6P6C) connectors but most sensors end in bare wire
  • To connect sensors to the FreeStation RJ12 and RJ45 Sensors ports they should be connected using standard RJ45 (ethernet) and 6 core RJ12 (6P6C) cables, which can be cheaply sourced
  • The sensor end the RJ cable is connected to an RJ12 or RJ45 socket soldered to the appropriate RJ PCB shown
  • The sensor wires are then connected to the pins of the RJ12 or RJ45 PCB according to the pinout tables in this presentation for the appropriate logger board and sensor port that you wish to use: Sensors1, Sensors2, Sensors3, Sensors4
  • The FlexiRJ PCBs allow the (detachable) attachment of pin headers on sensor modules, whilst enabling the order of pins to be changed through addition of jumper wires
  • Three header rails are available on each RJ PCB and wires can be directly soldered or connected via screw terminals or female headers soldered to the RJ PCB
  • The RJ PCB should then be mounted using PCB feet in a small waterproof enclosure into which the sensor wires and RJ cable are fed as shown. This also enables RJ cables of the most appropriate length to be swapped in on site

9 of 28

FreeStation

Generation 2.0 (Particle) PCBs

10 of 28

FreeStation NanoProParticle PCB (v1.3), available here USD 10 each (USD 31 for 3)

  • The board is designed for multi-sensor applications
  • The board has a small footprint to fit in a small enclosure and keep costs low.
  • It can accommodate a Particle Electron or Particle Photon
  • The board forms the basis of the FreeStationLive range but can be deployed flexibly for any application that uses the Particle Electron or Photon.
  • Sensors connect via RJ12 or RJ45 sockets (3 of) but custom applications can be connected via screw terminals connected to the rails on the underside of the board, headers or direct solder
  • There is space and wiring for onboard ADC, OLED, logger shield or separate DS3231 RTC (only needed if not networked) and SDCARD, BLE, buzzer, 5V power and 10 settings switches as well as RESET and wake buttons, LED.
  • Power supply is via DC-jack (preferred) or screw terminal, JST (RAW)
  • The board is mounted via 2 PCB feet

11 of 28

Top view, components

Wake and reset microswitches, wake can also be used to take reading

OLED used to communicate with user

LED and associated resistor for communication with user

DS2321 RTC

5V Step-up to power 5V sensors (or a 5V pro mini could be used if all sensors are 5V tolerant

10K R For wind direction sensor

FreeStation NanoProParticle PCB (v1.3), available here USD 10 each (USD 31 for 3)

ADC Analog to digital converter (if required)

Timing and calibration settings

Other settings

Barrel power Jack

JST power cable

Programmatically controllable power switch for all powered components, allowing power on and off (CGND)

Particle Electron or Photon footprint

SDCARD

12 of 28

SENSORS1

RJ45 Connects to FreeStation TRH probe, pyranometer

(others also possible)

SENSORS2

RJ12 Connects to FreeStation wind speed and direction (others also possible)

SENSORS3 RJ12

Digital and analogchannels

Bottom view, connections

FreeStation NanoProParticle PCB (v1.3), available here USD 10 each (USD 31 for 3)

SENSORS4

RJ12 Connects to FreeStation rain gauge, fog gauge (others also possible)

(others also possible)

Solder directly to Particle pins from these (for custom setup)

Solder directly to Particle pins from these (for custom setup)

13 of 28

FreeStation NanoProParticle (v1.2), available here USD 10 each (USD 31 for 3)

3V3=regulated 3.3V, 5V=regulated 5V supply

CGND = conditioned ground (switched programmatically by holding A0 HIGH)

GND =Ground

NC = not connected, SCL/SDA=I2C

14 of 28

15 of 28

FreeStation

Generation 1.0 (Arduino) PCBs

16 of 28

FreeStation NanoPro (v5.10) PCB, available here USD 8.85 each (USD 26.55 for 3)

Top view

Bottom view

  • The board is designed with a small form factor for simple single or dual sensor logging operations. FreeStation extension boards connect via the secondary pin header rows.
  • It embeds a Pro-mini 3.3V clone which is programmed through 3,.3V FTDI header.
  • The board forms the basis of the FreeStation Micro range supporting single or dual sensors, but can be deployed flexibly for any application that uses the Pro-mini.
  • Sensors connect via RJ12 or RJ45 sockets (3 of) but custom applications can be connected via direct solder or screw terminals connected to the rails along the Pro mini edges
  • There is space and wiring for onboard OLED or multicolor LED, logger shield or separate DS3231 RTC and SDCARD, 5V power and 5 settings switches as well as RESET and wake buttons
  • Power supply is via DC-jack (preferred) or screw terminal, JST (POW2)
  • The board is mounted via 2 PCB feet

17 of 28

FreeStation NanoPro (v5.10) PCB, available here USD 8.85 each (USD 26.55 for 3)

Top view

Wake and reset microswitches, wake can also be used to take reading

Multicolor LED or OLED used to communicate with user

LED and associated resistor for communication with user

Either mini logger shield (integrated DS1307 RTC and SDCARD) or sepaarte DS2321 RTC and SDCARD

5V Step-up to power 5V sensors (or a 5V pro mini could be used if all sensors are 5V tolerant

Multicolor LED or OLED used to communicate with user

Required only if multicolor LED used

Required only if multicolor LED used

10K R For wind direction sensor

Solder directly to Pro-mini pins from these (for custom setup)

Solder directly to Pro-mini pins from these (for custom setup)

18 of 28

Pro mini including connections for I2C (SCL, SDA important for most projects) and A6,A7 (important only if needed)

SENSORS1

RJ45 Connects to FreeStation soil moisture probe (others also possible) TRH probe and raingauge

SENSORS2

RJ12 Connects to FreeStation fog gauge (others also possible)

SENSORS3

RJ12 Connects to FreeStation wind speed and direction (others also possible)

Power jack (default power in

Alternative power in

Programmatically controllable power switch for all powered components, allowing power on and off (CGND)

Bottom view

FreeStation NanoPro (v5.10) PCB, available here USD 8.85 each (USD 26.55 for 3)

19 of 28

FreeStation NanoPro (v5.10) PCB, available here USD 8.85 each (USD 26.55 for 3)

Pinout table

3V3=regulated 3.3V, 5V=regulated 5V supply

CGND = conditioned ground (switched programmatically by holding A3 HIGH)

GND =Ground

NC = not connected, SCL/SDA=I2C

20 of 28

FreeStation NanoPro (v5.10) PCB, available here USD 8.85 each (USD 26.55 for 3)

Soldered board with Sensors 1, OLED, no settings switches, logger shield with integrated SDCARD and RTC

21 of 28

FreeStation UNOShield BASIC Promini PCB (v5.9), available here USD 13 each (USD 39 for 3)

  • The board is designed with the Arduino UNO form factor for multi-sensor applications. UNO shields can be connected via shield headers. FreeStation extension boards also connect this way.
  • It embeds a Pro-mini 3.3V clone, which has much lower power consumption than the UNO and is programmed through FTDI header.
  • The board forms the basis of the FreeStation Meso range but can be deployed flexibly for any application that uses the Pro-mini.
  • Sensors connect via RJ12 or RJ45 sockets (4 of) but custom applications can be connected via an UNO screw shield via the shield headers or direct solder or screw terminals connected to the rails along the board edges
  • There is space and wiring for onboard ADC, OLED or multicolor LED, logger shield or separate DS3231 RTC and SDCARD, BLE, buzzer, 5V power, battery voltage monitoring and 5 settings switches as well as RESET and wake buttons
  • Power supply is via DC-jack (preferred) or screw terminal, JST (POW2)
  • The board is mounted via 2 PCB feet

Top view

Bottom view

22 of 28

FreeStation UNOShield BASIC Promini PCB (v5.9), available here USD 13 each (USD 39 for 3)

SENSORS1

RJ45 Connects to FreeStation Pyranometer, TRH probe and raingauge

SENSORS2

RJ12 Connects to FreeStation wind speed and direction (others also possible)

SENSORS3 RJ12 Connects to FreeStation fog gauge (others also possible)

SENSORS4

RJ45 Connects to FreeStation soil moisture probe (others also possible)

Shield terminals for attaching to Uno shield through male pins below this board and some shields (eg screw shield through female pins above it)

Solder directly to Pro-mini pins from these (for custom setup)

Shield terminals for attaching to Uno shield through male pins below this board and some shields (eg screw shield through female pins above it)

Required only if multicolor LED used

Either mini logger shield (integrated DS1307 RTC and SDCARD) or sepaarte DS2321 RTC and SDCARD

  • Minus (-) means GND terminal
  • Plus (+) means positive terminal
  • Connections to the Arduino channels are defined overleaf for those buildingcustom (non FreeStation) code

Power jack (default power in

Alternative power in

ADS1115 ADC

ADC 2,3 single ended or differential

10K R For wind direction sensor

Wake and reset microswitches, wake can also be used to take reading

Settings switches - can be used to set timesteps or other options

Multicolor LED or OLED used to communicate with user

Programmatically controllable power switch for all powered components, allowing power on and off (CGND)

Access to programmatically controllable GND for switching of powered components

Bluetooth low energy for communication

5V Step-up to power 5V sensors (or a 5V pro mini could be used if all sensors are 5V tolerant

Pro mini including connections for I2C (SCL, SDA important for most projects) and A6,A7 (important only if needed)

For buzzer feedback to user

Solder directly to Pro-mini pins from these (for custom setup)

LED and associated resistor for communication with user

For power supply or battery voltage monitoring

Access CGND

23 of 28

FreeStation UNOShield BASIC Promini PCB (v5.9), available here USD 13 each (USD 39 for 3)

Pinout table

3V3=regulated 3.3V, 5V=regulated 5V supply

CGND = conditioned ground (switched programmatically by holding A3 HIGH)

GND =Ground

NC = not connected, SCL/SDA=I2C

24 of 28

FreeStation UNOShield BASIC Promini PCB (v5.9), available here USD 13 each (USD 39 for 3)

Soldered board with Sensors 1,2,4, multicolor LED instead of OLED, no settings switches, ADC and separare RTC and SD CARD (the SDCARD is behind the RTC)

25 of 28

Generation 1.0 (Arduino): FreeStation Registered Jack (RJ) Connectors (v5.10), available here USD 1.95 each (USD 5.85 for 3)

  • Some sensors come with RJ12 (6P6C) connectors but most sensors end in bare wire
  • To connect sensors to the PCB RJ12 and RJ45 ports they should be connected using standard RJ45 (ethernet) and 6 core RJ12 (6P6C) cables, which can be cheaply sourced
  • At the sensor end the RJ cable is connected to an RJ12 or RJ45 socket soldered to the appropriate RJ PCB PCB
  • The sensor wires are then connected to the pins of the RJ12 or RJ45 PCB according to the pinout tables for the appropriate logger board and sensor port that you wish to use: Sensor1, Sensor2, Sensor3, Sensor4
  • Three rails are available on each RJ PCB and wires can be directly soldered or connected via screw terminals or female headers soldered to the board
  • The RJ PCB should then be mounted using PCB feet in a small waterproof enclosure into which the sensor wires and RJ cable are fed as shown

26 of 28

Building:

  • Use only the components specified in the Bill of Materials (BOM) on the FreeStation building page to ensure fit with the PCB. Most can be found on ebay, Aliexpress
  • Solder components in place on the correct side of the board, according to the component edge marks and labels. Hold them individually in place with masking tape whilst soldering
  • Attach all breakout components (SDCARD, RTC, OLED, Arduino) via pin headers to facilitate easy replacement. Start with the headers and small components first.

Using:

  • Mount the PCB using the PCB feet specified in the BOM which should be glued inside a waterproof enclosure

Firmware:

  • Program the Arduino or Particle using the relevant libraries (SDFAT, RTCLIB, U8G2)
  • Pull Arduino pin A3 to high to power up the OLED, SDCARD, RTC and sensors [pinMode(A3, OUTPUT); digitalWrite(A3, HIGH);]. Pull pin A3 to low to reduce power drain during sleep [digitalWrite(A3, LOW);]
  • For Particle, pull pin A0 to high to power up the OLED, SDCARD, RTC and sensors [pinMode(A0, OUTPUT); digitalWrite(A0, HIGH);].Pull pin A0 to low to reduce power drain during sleep [digitalWrite(A0, LOW);]
  • On Arduino pull pin D8 to ground to wake the logger (or solder in the Wake microswitch). On Particle the Wakepin is A7
  • Program the settings switches to control logging frequency, modes or user actions
  • Alternatively plug and play binary firmware is available for standard FreeStation and FreeSensor configurations, see the FreeStation building page, simply upload and go

Using the FreeStation boards in your own designs

27 of 28

Full weather station

Example applications

Logger for continuous weighing

Sealed sensor with "shake to wake"

Soil moisture logger using screw terminals

Voltage and current meter

28 of 28

The Kinguino and FreeStation shields

FreeStation Gen 1.0 uses the Arduino family of microprocessor development boards to provide cheap, flexible sensor control, datalogging and communications. FreeStation has worked with Andice Labs to produce an Atmel644 version of the Anduno development board: the Kinguino. The Kinguino is a high memory, ultra-low power version of the Arduino, designed for environmental monitoring applications, with the following advantages:

  • An ultra low-power development board
  • The ability to programmatically switch off shields when not in use, for power saving
  • Arduino UNO form factor for compatibility with a range of shields
  • The ATmega 644 processor provides more memory for more sophisticated programming and control
  • The ATmega 644 provides more pins to attach sensors

The Kinguino and a series of custom-built FreeStation shields now form the core of the FreeStation projects.