Project Proposal

A project log for DINternet

Expandable rack IoT platform for home or industry use.

Craig HissettCraig Hissett 11/22/2017 at 18:054 Comments

I have built various systems using the DIN rail as a simple way of tying together my modular designs, however I have always found myself relying on off-the-shelf enclosures for my projects.

In this project I aim to create a simple, modular setup that I can use to for a wide range of applications using common components.

Main Unit


The main unit is the brains of the project. While there will be a few GPIO pins broken out The inputs and outputs of this unit will focus on communication; i2c, serial and wifi. Using these the unit will provide a WebGUI for the user, output data to an MQTT server, display information on an attached screen and co-ordinate the use of any additional slave units added to the board on the i2c bus.

Form Factor

A reasonably compact but simple to assemble design is the aim of the game here.

The screen used will be a 20x4 i2c lcd screen. All components will be mounted to a board the exact same size as the 20x4 display, using standoffs to screw the two together.  The lower board will contain a NodeMCU header (to the right of the board to avoid the i2c backpack on the screen, USB port pointing out of the top, a 4 pin header for the screen to connect to the i2c bus, a row of screw terminals along the bottom edge of the board (vcc in, ground, tx, rx software serial pins and a few extra GPIO and grounds broken out), onboard 5v/3.3v regulators to power the NodeMCU and and two RJ45 connectors for attaching the slaves.

The RJ45 pins will carry: VCC, GND, 5v, GND, 3.3v, GND, SDA, SCL

Variations - I also aim to make a variation of this board featuring a Pi Zero as the main controller. Design would remain mostly the same with the headers and regulators hopefully being the only parts requiring movement.

Slave Units


The slave units will act as expansion boards for the main controller. Relays, pH Sensors, temperature sensors, extra pins and more can easily be added using the slave units.

In order to handle the additional components I am planning to add a small microcontroller such as an AtTiny85  to control the slave device, act as an i2c slave and store basic information on the connected device. This information will allow the main Unit to utilise the attached peripherals and use it correctly.

Form Factor

This is pretty flexible depending on the components involved, however each board will contain the two rj45 connectors for daisychaining the boards, a socket for the AtTiny, and the actual components. Some Ideas for expansions are: Relay board, pH/Temp sensor board, LED board, Analog input board, opto-isolated io board, button boards etc

In order to make the board neat I will aim to keep them the same height as length as the Main unit, even if the width varies.


davedarko wrote 11/26/2017 at 21:01 point

"The RJ45 pins will carry: VCC, GND, 5v GND, 3.3v, GND, SDA, SCL" I guess there's a comma missing between 5V and GND, but my question regarding that: what's vcc here, if you already have 5V and 3V3? Is it for powering the main unit?

I see a relation / match of interests to one of my projects :) [go figure :D] 

  Are you sure? yes | no

Craig Hissett wrote 11/27/2017 at 11:20 point

Hey buddy

Apologies for the lack of comma; I often miss things like that when typing frantically on my phone :)

Sorry for the lack of clarity as well. VCC  is probably the wrong term. The purpose of carrying this pin through is to allow the additional slave boards, such as the relay boards, and also the main board.

For example, an application could require the main board, and 4 12v relay slave boards to operate. You could then provide 12v to the main controller unit via what I had labelled VCC on the screw terminals and it would provide the regulated voltages for the Nodemcu in the main controller as well as the AtTiny85s in the slaves and also have the correct voltage on hand for the relays.

I hope that makes sense :)

  Are you sure? yes | no

davedarko wrote 11/27/2017 at 11:32 point

ahh okay :) got it! VCC for me is always the mcu speaking voltage... but then there's chips with VIO and all that :D thanks for clearing it up :)

  Are you sure? yes | no

Craig Hissett wrote 11/27/2017 at 11:35 point

I'll pick up the correct terminology one day ha ha.

  Are you sure? yes | no