PUREmodules: A modular architecture for rapid IoT sensor development

We have been working on a modular low cost sensor architecture for a while now. Excited to see what people thing about it.

You plug sensor boards together to quickly build a custom solution rather than designing a custom circuit board or bread boarding with wires and soldering.

There are three main modules in this system. The Core module, this is essentially the brain of everything. Next is the Sensor module, these see/feel/touch the outside word and convert it to digital data. Lastly we have IO modules, these are Input/Output modules that interact with the world such as buttons, led's and motors.

By combining the right set of boards you can come with a custom hardware solution very rapidly. Then you can write you application with Arduino or however you want and with whatever framework you want to use. Most Core modules have BLE or some other wireless link to allow the data to be read in by a phone or the cloud.

The key concept we are trying to stick to with this design are low barrier of entry for people want to make hardware projects but don't have the time or experience to build a custom design. By sticking to the core components and minimizing complexity of the hardware everything stays small and low cost.

Above is our favorite sensor module so far. It contains a temperature, humidity, pressure, light, UV, acceleration, magnetic, and distance sensors. It can measure heart-rate as well.

The above nRF52 Module is a powerful core modules. It houses a ARM cortex-M4F processor, 512kB Flash, 64kB Ram, and most importantly a multi-protocol radio architecture that allows for Bluetooth low energy. We've also added an acceleration sensor to allow for complex interactions with the world in a stand along configuration. Power is provided by a coin cell on the back.

To understand the scope and scale of the project we have undertaken, we want to share with you that we have designed over 40 other compatible modules. Here is a list of a few we have designed already:

  • General Purpose IO modules via I2C Expanders
  • I2C ADC and DAC modules
  • Energy Harvesting Modules
  • Low power chemical Sensors
  • PIN diode Radiation Detector Module
  • I2C thermal camera modules
  • Dual I2C DC motor Module
  • GPS and IMU Module
  • Long Range RF modules (10+ miles)
  • Li-Ion and other Power modules
  • Ethernet Module
  • Low Power LCD module
  • User IO button and LED modules
  • Multiple Core modules; CC2650, EFM32, ESP32 and more.
  • Adaptor modules to other sensor systems such as Grove and LittleBits
  • Adapters to popular platforms such as Arduino and Raspberry Pi.

For those of you that are interested we are planning a kick-starter soon, subscribe on our website to be one of the first to be notified to catch it early. For those of you who want to follow along on the progress we are keeping our design logs on hackaday.io, give us a like.

I can't see how the modules interconnect, both physically and electrically.

Electrically it looks like I2C as each connector only seems to have 2 data signals Strike that, I just noticed the overlay labels :slight_smile:

But what about physically? And how to you handle I2C addressing for identical modules?

Some more details about the connector is posted here.

In terms of identical i2c address, there is a i2c mux module that can expand to 3 more sensors.
If you need more, the mux has solder jumpers to enable more addresses.

Thanks, neat connectors, I hadn't seen them before.

I just got a new bag of new connectors. Just having some fun with them, but you can how they plug into the board. If you look close you can see a polarizing plastic slot to keep them from being reversed.

Nothing in stock on the website.

So sort of like the ESLOV project.

ESLOV

Sort of like ESLOV, but some key differences.

First, and I feel most important, is that each sensor module uses a standard interface, either I2C or SPI. This allows existing drivers to be reused and you can port the firmware more easily to a final design when you are done prototyping. Basically more flexibility on what you can use a sensor on.

The next is lower cost, each module is just the sensor IC's and support logic. ESLOV has a micro-controller for each sensor, even for something simple like a push-button. this effectively adds several dollars to the cost of each sensor, as well as additional size, testing costs and chances for failure. PUREmodules were designed to prototype your full design before going into production. If you wanted to port ESLOV to a custom design you would have to install a bunch of micro-controllers doing translation to maintain the same firmware base as your prototype.

The last major difference is the different interconnect style. ESLOV uses cables where PUREmodules uses the PCB edge and an edge connector. This has a couple of advantage, one is lower cost per sensor module as you don't need to have connectors installed on the board. Second is that the assembled solution looks much neater. Closer to the littleBits concept, but with more pins.

Also not sure how many reading this design their own hardware, but adding a PCB edge connector to your design is essentially zero cost. We've documented the pinout here. So anyone can easily make a custom module or make an existing design compatible with the Modular Sensor Architecture.

In summary, it comes down to cost and flexibility. There are some nice concepts of ESLOV such a plug and play programming of the devices but it does limit the flexibility. Because of the simplicity of PUREmodules they can be developed more rapidly, so as new sensors come to the market, modules will be available sooner and at lower cost.

The ESLOV says it also uses i2C.

Also looks like it has both cable or edge connector...sort of hard to tell.

I can see benefits in both systems.
Would like to see some sort of backplane idea for both (rack em and stack em) to reduce footprint.

Thing with the ESLOV is they would be using existing purchasing, manufacturing, marketing, distribution, SW development etc. so have a head start in a lot of respects.

You both look to be in a similar phase right now and I am sure both are going to be interesting to watch.

ESLOV does use I2C, but they implemented a plug and play protocol on top of it. any sensors that use i2c go to a small atmel micro-controller where that i2c is converted into the ESLOV I2C protocol. This is what makes it plug and play. I agree that it is a cool concept (I backed their kickstarter) It really makes it so you don't have to write any firmware at all for a sensor. Once you plug all the sensors together it auto configures and is ready to go. Then you use a drag and drop UI to customize it.

Bottom line is that I think it will be great for kids and those who don't know how to program and gets them started. Once you want to start hacking it you are going to have to start doing the same low level coding again, but now have to go through programming multiple micro controllers.

I've looked at their photos all very closely and info they have posted. They have what look like edge connectors, but these are just surface mount pads on the edges, there is no connector that would use them. It seems that you could solder wires to join units together or press them into a base board to solder them down. Or you can buy them pre-joined together in preset sensor arrangements.

ESLOV is really focused around using their TALKOO Visual Programming Platform to configure the system with the intent to educate, learn and have fun. Where as PUREmodules are focused around using existing workflows and source code where the intent is to make real hardware or prototype new concepts. I think both will have their place.

More Modules just showed up today. Here's a shot of a few in a line.

In case you wanted to know the modules here they are in order left to right

CC2650 (Core Module)
BME280 (Environmental Sensor)
VEML6075 (UV AB Sensor)
APDS-9250 (RGB light sensor)
SI1153 (Proximity Sensor)
LL53L0 (Laser ToF Distance Sensor)
LIS3MDL (Magnetic Sensor

For anyone interested, The kickstarter for PUREmodules just went live. Check it out here:

https://www.kickstarter.com/projects/pureengineering/puremodules-for-dreamers-tinkerers-hackers-and-des