cellabox icon indicating copy to clipboard operation
cellabox copied to clipboard

Air quality modules with Nordic nRF52840. Thread network (OpenThread). TheThingsIO. Sensirion. SPEC Sensors. ST Microelectronics.

Image of Cellabox

Cellabox is an Open Source Air Quality Project. According to the WHO, air pollution from both outdoor and indoor sources represents the single largest environmental risk to health globally. Help to solve the air quality problem and join Cellabox! Better Air Quality Through Better Data.

This repository contains firmware (C code) for nRF52840 with a Thread network implementation (OpenThread) and a connection to the cloud platform of thethings.iO.

We don't have any sponsors or supporters. We very much appreciate if you were able to use some of our code and want to say thank you:

HELP CELLABOX

(c) 2017-2018 Cellabox, all rights reserved.

Cellabox FW concept

IMPORTANT: there is only one single FW build for all modules (the so called Cellaboxes). The FW initializes itself depending on the module identity (ID = [0...63]. Which IO pins are used for the module ID? - here is the pinout.

List of sensor modules

Climate Module

Indoor Air Quality Module

Outdoor Air Quality Module

Indoor PM2.5 Module

Outdoor PM2.5 Module

Define your own Module

  • ID = ???
  • Sensors = ???
  • ??? Module Wiki

List of sensors

The firmware supports different sensors:

How to get started

  • Install Eclipse for nRF52840:
    • Nordic tutorial: https://devzone.nordicsemi.com/tutorials/7/
    • ARM for eclipse tutorial: http://gnuarmeclipse.github.io/plugins/install/
  • Setup Eclipse for Cellabox: Eclipse_Mars_HowToSetup_2017.pdf
  • Order development kit: Preview Development Kit nRF52840
  • Order sensors: order the sensors you need for the module(s).
  • Wire your module: see our schematics here.
  • (Optional) Define your own module: here.

How to define your own module

  1. Contact Reto Keller about your module [email protected]
  2. Reserve a module ID number with adding your sensor to the list of modules above.
  3. If you are planning to implement a new sensors: add the sensor to the list of sensors.
  4. Add a page with the module description to the Wiki
  5. Add a folder with your schematic like this: cellabox/hw/kicad/id=?_sensor-name/. Draw your schematic with the free and open source ECAD KiCAD.
  6. Implement your module and sensors on the nRF52840.
  7. Once tested, commit your changes to this repository.

TODO

Track TODOs and tasks on Github — Cellabox Project.

If you hard code something or you have to continue there later — write TODO in the comment and start a task in the Cellabox Project. Also start a Cellabox Project task to describe future features of your module or the FW in general.

Bugs

Submit bugs and issues to Github — Issue Tracker.

Tools

  • IDE: Eclipse Mars.2 Release 4.5.2. You can find more details here.
  • ECAD: Use KiCAD to draw schematics and PCB designs.

Questions

Before you start to contribute or if you have questions, send me an email: [email protected].

License

Cellabox is released under the [BSD 3-Clause license]. See the LICENSE file for more information. Please use and reference to Cellabox in case you use this software or part(s) of it.