BlocNotes

Notepad of a tinker, maker, hacker or whatever you call it :)

NoteRF - Why create a new set of things ?

I had a discussion with a friend of mine on "Why the hell are you designing a new PCB instead of buying one" ?
And he is right, there is a lot of great cheap boars like Moteino, Anarduino, Jeenode...

But on the hardware side:

  1. I like to learn
  2. Some of them are not so cheap
  3. It is not so difficult: in fact there is just an ATmega, a RF chip, an optional voltage regulator and some passives selected to optimize power consumption
  4. Adapted to my needs (RFM69hw, dedicated footprint for some sensors, form factor, regulator, connectors...)
  5. I am not reinventing the wheel, so I will use some libraries from these guys
  6. Regarding firmware side they have done a great job, but I not found it flexible enough or too complicated.

For software and IHM side : a lot of big softwares like (Jeedom, Domoticz, OpenHAB, ...). This time too, I see pros and cons:

  • Jeedom
    • Good GUI design, looks pretty
    • Only use of MySQL, not really adapted for storing sensors data on a small embedded Linux card
    • Open-source but commercial aspects are really intrusive
    • Not so easy to add a module
  • Domoticz
    • Seems more open and lightweight than Jeedom
    • Bad GUI design
    • Seems to be based on SQLite, lightweight but some old test on a Gumstix gave me bad results after few months
  • OpenHAB
    • Created to be linked to any modules or database
    • Not lightweight, might be related to the use of Java
    • Bad GUI design for version 1, the v2 seems great.
    • The v2 will be too late for me

Also, I discovered Nod-Red which is really easy to use, and created "for wiring together hardware devices, APIs and online services in new and interesting ways", exactly what I am doing. The main drawback is that all is asynchronous but it can be bypassed.
On database side I wanted to try some time series databases which are made to collects metrics, and NoSQL

  • MongoDB with or without cube layer : I heard good things but never tried.
  • Graphite : I tried on a Raspberry Pi, it works but it is a complete solution : too big for me, lot of dependencies and components
  • InfluxDB : I like the approach, the v0.9 add 'tags' which are good for my application, performs well on the rPi. Maybe a too unstable but I will give a try :)

On the GUI side, I did not found what I want yet, so I am testing Grafana to display data and might use some links inside to start actions until I find something great.
I might also do it myself, but I am far away from being a designer so it can be really ugly....