Developing a home automation server device as RPi alternative

Hi all,

as it seems to be quite easy to get classified as spam, I need to start with pointing out that I don’t want to sell anything to this community, just asking for feedback. No product links or names are included in this post.

As most people seem to run Home Assistant on a Raspberry Pi or similar Single Board Computers, I would like to start a discussion about an alternative device which we have been developing for some time as a smart sensor gateway for an open source project.

We also started with using the RaspberryPi but soon realized that it required quite some add-ons and modifications to use it properly for an automation project. To start with, we needed some possibility to connect the sensor wires to the RPi. The 40pin header is not exactly a good way of doing this. So we needed proper screw terminals or standard connectors like e.g. RJ14. Also we missed an industry standard communication bus like a serial RS485 port. A real time clock is important for timekeeping during Internet connection outage, so this needs to be added too. Also an on board temperature and humidity sensor would come in handy as well as a programmable push button for user intervention. And why not throw in also analog input channels for connecting analog sensors?

With all these requirements in mind we designed this device, which is based on the Raspberry Pi Compute Module.

With the RPi Compute Module as its core, this device is compatible with all the RPi software out there.

Additionally it integrates all the connectors which ensure easy and reliable installation as well as the low cost components like RS485 inerface, 4-channel ADC, T/H sensor, data EEPROM and others. To keep hardware cost low, the more expensive components like radio XBee modules, Wifi or TFT touch display are optional and can be mounted if needed.

All hardware components of the device are 100% supported by open source Linux drivers. That means the device can be completely customized for specific needs.

Currently we have installed a customized Raspbian Jessie on the Compute Modules eMMC storage which supports all the specific components of the device. Next step is to install and test Home Assistant on it.

We think that this a small reliable server device which is an excellent solution to run open source home automation software like Home Assistant.

We would be very interested to get feedback from the Home Assistant community. What features do you think are missing from the device ? How can it be improved ?

Is there any interest from the community to contribute to the porting of Home Assistant to this device?

Thanks, Ondrej

2 Likes

If Debian is running there is not much porting needed.

Wifi optional? That’s a no-go.

Don’t use USB chargers as PSU.

@fabaff: Thanks a lot for your feedback. See my comments below.

That’s good. We will test Home Assistant on this device and see how it performs.

The Wifi module can be soldered to the PCB directly during production so we could provide a Wifi enabled version.

But I wonder why you think Wifi is so important. If we talk about connection to the communication backbone (LAN/WAN) Ethernet should be the preferred solution as it is much more reliable. Or are you thinking about Wifi as connection to the sensor nodes? As far as I know Zigbee and Z-wave are mostly used for these.

While there is a micro USB connector for 5V power supply (mainly for testing and prototyping), the board also features an industry standard 12-24Vac power supply input.

I attach the technical specification of the device for more details.

As optional addons:
Bluetooth 4.2 or up, 433Mhz, a Zigbee module compatible with https://home-assistant.io/components/zha/ both for EU and the USA. Z-wave, IR receiver/blaster, Wifi with adhoc possibilities.

Some hardware only use Wi-Fi, for instance Xiamoi Yeelight and LIFX bulbs. Also a lot of people use simple DIY sensor nodes using a nodeMCU board which relies to Wi-Fi as well. For me, Wi-Fi is at least as important as zigbee/z-wave

Awesome project! I have been looking for a more solid long-term device for my home automation software. I have been looking at the Odroid C2 for a while, but the fact that it won’t be plug-and-play compatible with all the RPi software and libraries makes it a deal breaker for me. The Odroid drawed my attention because it natively supports eMMC flash memory for the operating system to be installed on, instead of the quite volatile SD cards.

If you somehow make it possible to integrate eMMC flash memory, of even better a small SSD in M2 or mSata form factor, the home automation platform would become much more stable. Plus not having to worry about the SD card wear leveling opens up much more capabilities for other software like databases, etc.

Another thing to consider is to try to make your device (for the most part) physically compatible with the RPi enclosures out there. That way you make it people allot easier to exchange their RPi for this awesome board without having to 3D print their enclosures or ship them from China.

If you manage to work these kinks out then I would love to order some of those boards! And with me hundreds of others I imagine!

Keep up the good work!

Cheers

Hi Cripplin,

thanks for your kind words and encouragement :blush:

The RPi Compute Module we use on our board already integrates 4GB of eMMC. We are running the OS off that memory. Currently it is also used for data storage but this could be separated to another storage device as suggested by you. Configuring the OS partition read-only makes things even more robust.

The commercially available RPi enclosures are too small for this board. It is 3 times credit card size, otherwise we wouldn’t be able to fit all the connectors and the AC/DC converter on it. But there are fitting DIN rail enclosures on the market, e.g Camdenboss CNMB/9. So you can install this smart home controller where it belongs to, in an electrical switch board.

Out of curiosity since I don’t own such devices: they are directly connected to the pi instead of some access point? Or is the pi’s WiFi adapter used in access point mode?
I have two ESP devices using WiFi and still have it disabled on the pi since it is connected to my AP via cable. So I don’t really need WiFi on the pi. That’s why I wonder which cases are where it’s needed.

Yes indeed, the connection is through the router and not directly from the pi. Forget what I said, I was not completely awake at that time :wink:

I received some more questions in a PM which I want to answer here as this could be of common interested.

The flashing of the Compute Modules eMMC is done from a PC or RPi through the boards micro USB slave connector. The complete procedure is explained at this page of the official RPi docs. But shortly, there is a little tool which makes the Compute Modules eMMC show up on the PC as an external storage device, just like an SD card reader does with an SD card. After this, flashing the eMMC is exactly the same as writing to an SD card.

A stock Raspbian (or HASSbian) SD card image will run on this board BUT most of the additional components integrated on the board will not work. Most importantly Ethernet will not be available so the initial setup has to be done via serial connection. It needs a custom Device tree blob and additional overlays to set up the hardware properly and load the needed device drivers. We are in the process of setting up a Github repository with all the documentation and necessary source files to do this. But there will be also an SD card image with all needed changes already included so you’ll be ready to go right after flashing it.

The important thing to note here is that this device is completely hackable, so even though we can provide SD card images with a pre-installed OS (and, why not, also Home Assistant) you don’t have to use it. Documentation and source code is provided to customize anything for specific needs.

So now I tried installing Home Assistant on the devices Compute Module and it is really a piece of cake. I used Hassbian and flashed it onto the eMMC like an SD card. Then the only additional step required is copying the custom dt-blob.bin binary device tree blob into the /boot partition. This takes care of setting up the GPIO pins properly to make the Ethernet and serial ports work.

After rebooting the device, Home Assistant is installed as usually.

Here you go, the syslog:

And the Web GUI:

Looks promising, the only things putting me off at the moment is the price
€179 + €20 P&P + cost of Compute Module,
also lack of community for support.

Maybe if a couple of members on here had units and could let us know how well they worked and if they were worth the price tag, then I would be seriously interested.

Regarding pricing you have to consider mainly 2 things here. First the quantity of this hardware which is produced. We can’t compete with RPi prices which is selling millions of units. But if there is a substantial market for our product then we might be able to produce more units which certainly brings the unit cost down as we can by the components with bigger discounts and also production cost can be reduced.
Second you need to consider that this board is a step up from the stock RPi hardware. On the RPi, to have the same functionality you need to add a lot of add-on modules like RTC, ADC, EEPROM, PSU, RS485, T/H sensor, industrial grade SD card, as well as connectors, screw terminals for wired sensors. Will it still be much cheaper?

That’s a good point. But since this is a new product we are just starting to create the community. A new Github repository for related stuff will be created soon and also a user forum will go online shortly.

We have actually been thinking about the possibility to make some units available to people who are interested and want to try Home Assistant on this board themselves.

A thought about all the extras that your product includes, and what it would cost to add those to a RPi, I can see that it would appeal to a lot of users, maybe a lite version without some of those extras on would be a good addition to the lineup, let me explain, I have been using HA for several months now and I have just about everything added to it that I would like, all that I have added to my RPi is a 433MHz transmitter and an RTC, almost everything that I have control of is networked, so works out of the box, so to speak, I can also see the benefit of the extras with regards to future additions to my setup, would give me more choice when it comes to devices to add to my setup, so I am considering on of your smarthubs, just not 100% convinced yet.

I appreciate that it is a new product and it takes time to build up a community, I will be watching this closely as I am on the fence regarding this smarthub.

Maybe reach out to some of the YouTube channels who, make content that focusses on HA for sending out review units, would help those on the fence (like myself) decide whether to purchase or not.

The idea behind this SmartHub is to have a hardware specifically engineered for the Smart Home and IoT market that can compete with commercial proprietary systems but are completely open. Being based on the Raspberry CM3 means it runs tons of open source applications while you have complete control over your device. So if you are using just a wireless interface and are happy with the RPi then that’s fine. But if you need a more customised hardware for a smart home system with the advandages it provides, then it is probably be worth considering a product like this Smart Hub.

Very good suggestion. We will certainly do this. I completely understand that we need to provide more demo material and hands on experience from users. As an engineer, sometimes it’s difficult to switch sides and look at things from a different perspective. Thanks a lot for your feedback.