Open Source Hardware controller

Modular Bus? I guess I'd toss out there that I've used I2C as a great expandable bus. You just add "things", then upgrade the firmware on the "master" side.

So, you really just need to leave a connector on the master, then you can make expansion boards that will plug into that bus. Even make the connection in parallel so each module can just plug into the back of the next to make stack of expansion boards.

--Dan
 
I've started the "pinning" (I/O designations) on the 32MX695 and have hit a small snag. There are no free I2C or SPI ports when using all six UART modules.
The good news is the 32MX695 sports a very powerful input capture module (IR pulse stream hardware assist) and gated PWM output (IR modulation + data) both require very little processing bandwidth.
The interesting news is no external RTCC, SD card or extra EEPROM, but I can add a OTG (USB Host) USB-B connector to allow thumb drives and the 32MX695 has a built in but not battery backed up RTCC.

I'll try to keep the PSP (parallel slave port) available for internal expansion (more relays, I/O, memory even a coprocessor if the need arose)

I'm also considering stacked connectors where possible, I'll keep the height under 1U but I'd like to keep it as narrow as possible with only rear facing connectors and minimal front facing anything.

Suggestions on other sites was for POE (power over Ethernet) I'm looking into that, and short term power fail RTCC backup (possibly a supercap between the 5V & 3.3V regulator.)

Two MAX3160E using stacked DE9 (this allows for two RS485, 422 or RS232 ports (with RTS/CTS) or 4 RS232 ports or 1 RS485/422 and 1 RS232 (with RTS/CTS) or 1 RS485/422 and two RS232 ports)

UART1, 4
51 U1TX
50 U1RX
49 U1RTS U4TX
43 U1CTS U4RX

UART2, 5

31 U2RX
32 U2TX
29 U2RTS U5TX
21 U2CTS U5RX

UART3 XBee S2 (ZigBee)

5 U3RX
6 U3TX
4 U3RTS
8 U3CTS
 
:) I forgot the subject line was a thermostat with ZigBee.

I was thinking a truly basic display and interface to appease anyone not wanting to go too far into the future. I have a nice all season setback thermostat and now that I've programmed to my liking I never touch it, so that pretty user interface and LCD are of little use now. My idea of a wall thermostat is little more than a temperature display and up, down & fan. The lowest cost will just be a temperature and possibly humidity sensor with RS485 or ZigBee. Of course I'd rather be using my iPad or iPhone to control the temperature, it also appears the new Apple TV 2 will support apps wouldn't that be interesting.
Hmm, you do make a good point about the power wasting LCD (we only need it every once in a while.). I was thinking much simpler, maybe a few switches, a dial and a few LEDs. Either way your right that it's just a dumb remote and the brains of the system are elsewhere. I'm the unfortunate owner with a home that has a thermostat in each room.
If you thought getting the thermostat controls off the wall was radical then how does this sound. Move the main controller "brains" into the cloud. Just like online banking. Although radical for HA/HVAC it's not a new idea and may very well be the future of many apps. Remember the controllers are autonomous and once programmed they just do their job. The cloud would offer all the things a home Linux box could and more such as monitoring and would always be up to date.
I'm reluctant to move everything to the cloud. There are a large number of issue I need to have resolved before I trust my data and processing to the cloud (like what country's laws does my data suddenly fall under and what are they allowed to do with my data, do I get notification of data breaches, etc.) The edge of the cloud for the control portion of my HA ends in my home. I'm certain there will be some services that I will purchase from the cloud but I'm just uncertain to what those are. I'm also very leery about loss of access to the cloud. Certainly that would put a halt to much of the automation in the home?
 
I've been giving this further thought (I do that a lot, ouch that hurts ;)) and I'm approaching this a bit differently than BlueBill. Bill appears to be building an all in one device, I'm thinking a match/replacement for the HCS II with a central controller (the SC, which has some IO) and many small modules that perform various functions. I think Bill and I agree on the SC, Linux based, 32 bit, RAM/Flash, low wattage, cool & quiet. This could be any number of devices we've discuss as the real important part is it's Unix (Linux or BSD could be used).

Let me add one more thing before I get to far away from the hardware. The folks over at SparkFun have a Make-and-Sell site where you can (I think) make and sell projects. If this is what I think it is it should be a great way to make one offs and for people to get their hands on them later. This is of course strictly for the do-it-yourself crowd.

What about the discussion of the "modular" approach? how would I add extra inputs? will there be some type of buss that I can connect another box to which may contain more of the 1/8" jacks as GPIO inputs?
My thoughts are communication modules, the HCS calls them comm-links. These were RS485 attached devices. I'd go one step further and also have Ethernet modules (net-links). As Bill suggested the Digi XBees could be used to build a wireless multidrop network (RS485 without the wires, if I maybe so simplistic). If WiFi is needed Multitech makes a nice WiFi module (Ethernet & WiFi are expensive). With the net-links you can have a module anywhere in the world and control it. I'd live to see an Ethernet IO module near $50 (US) and a WiFi module near $75 (US). That's for a complete board (no case or power supply or IO conditioning).

Modular Bus? I guess I'd toss out there that I've used I2C as a great expandable bus. You just add "things", then upgrade the firmware on the "master" side.
If I were doing the entire project myself I say no, not because it's not a good idea but rather because trying to add everything under the sun would break the initials goals of the project. The good news is there is a simple way around this and that is the net-links (more on that in a second).

My specs are much looser than everyone else's. The hard part is not the hardware. There's plenty available. In my view that hard part is the software. Even if you build your own hardware you still need to write/port the software. Lets start with this:

  • SC = a Linux embedded board (heck you can develop and use a PC if you want). A decent amount of RAM and Flash.
  • OTS (Off The Shelf - lets not build this)
  • Digital and Analog IO can be attached via USB or via the IP network
    • signal conditioning is done on an external board. This makes it a bit more flexible
  • Must have USB and a network interface. Either WiFi or Ethernet
  • remote devices provide addition I/O
    • low cost comm-links with RS232 or RS485 (115K 2 or 4 wire, not true full duplex)
    • Ethernet/WiFi IP modules (net-links - tend to be more expensive)
      • a module with built in BASIC (ala the stamps), you can still use C if you choose. They'll need a decent dollop of RAM and Flash. IO can vary. If you need a remote USB device then consider an SC.
      • direct IO (analog, digital, PWM, etc. I2c, 1-wire and/or SPI etc.). Things such as timers, debounce and capture software can be written in libraries and addressed via config commands via the IP
      • terminal server links to allow remote access to other protocols (you name it we can support it if it can be written).
      • Would be nice if software could be uploaded to these modules over the network
For my presentation in April my doll house will have Insteon, X10, a Tweet-A-Watt - XBee attached and an Ethernet attached digital I/O board (minimum). The Insteon/X10 and XBee will be on a USB serial port dongles. I may also have a directly attached USB digital I/O board. The digital IO will be attached to buttons/switches and LEDs.

I know this takes some of the fun out of designing this but I've gone through this before and what happens is that the hardware becomes so specialized that only those who understand the hardware work on the project (see the HCS_C as an example).I guess we should standardize on some things so new-comers can get involved without too much trouble. Also, yes I am more software leaning than hardware. I've found that there are a lot more software people than hardware and we (the hardware folk) scare the software people.
 
I'll post a far more concise reply shortly, but what sort of devices would one expect to connect to USB in a HA system? That HCS_C stuff is very interesting too bad most of the links are currently broken as he sets up his site.
 
I'll post a far more concise reply shortly, but what sort of devices would one expect to connect to USB in a HA system? That HCS_C stuff is very interesting too bad most of the links are currently broken as he sets up his site.

For those who wish to follow along, Bob Morrison's site: Zeta Engineering. I hadn't seen his new site. I have an HCS_C but never really started using it (I'm not starting now).

What I have on the USB now is 2 RS232 serial ports, a RS485 port, a LabJack and a hard drive. The hard drive is not permanent. One of the RS232 ports is a 24 port digital IO board. It has 1-wire and SPI. It would be nice if it had timers and PWM but it doesn't. One might also see an X10 CM19A or a CM15A. I haven't really started pounding on it yet to see what kind of latency delays I might see (hence the hard drive which should mess things up).
 
Ah so the CM19A is a USB version of the 11A?

Edit: seems the newer PowerLinc Serial/TW523 is a better choice than the CM11A
 
Ah so the CM19A is a USB version of the 11A?

Edit: seems the newer PowerLinc Serial/TW523 is a better choice than the CM11A
The CM17A & CM19A are wireless only. The current CM15A is both a wireless transceiver and power line communications (PLC) transceiver. The problem with the CM15A is that X10 has never met their promise of sharing the programming data for the unit. All we have is the information we've been able to hack out of it. The TW523 is a bit banging PLC interface with no extended capability (that's not as much a liability as it may sound). If you add a small CPU to the TW523 converting from RS232 (or USB for that matter) is quite easy. At $21 (US) it's cheap and still available. The CM15A costs $65 (US) and is a limited device. If X10 had given us a CM15A document like the X10 tech ref then the CM15a would have been a good device . At this point it starts to make more sense to work with something else such as the Insteon PLM and a WGL wireless transceiver. That way you have the X10 wireless covered (wireless works well), X10 PLC and Insteon covered. As far as the PowerLinc is concerned, I've never really liked them. I've seen too many reliability problems. I have a couple of different models of the PowerLinc & PowerLinc II (not the Insteon PowerLinc).

Many on CocconTech have run away from Insteon and X10. I don't blame them, while I have it working reasonably well I still have X10 phantoms and adding new appliances or electronics is a crap shoot. The PLC network may work today and fail tomorrow or may just keep working or it may fail quietly sometime in the future. I really need much better tools to help diagnose the network and they need to break the security to do it. :nutz:
 
I'll post a far more concise reply shortly, but what sort of devices would one expect to connect to USB in a HA system? That HCS_C stuff is very interesting too bad most of the links are currently broken as he sets up his site.

ZWave, Bluetooth, WiFi, Memory for sound files, logs, backup/restore...
 
ZWave, Bluetooth, WiFi, Memory for sound files, logs, backup/restore...

ZWave can be added serially, I chose ZigBee as the price and interface were well matched to my microcontroller.
WiFi can be added for about $35 to any Ethernet device, the ASUS WL-330G is such a device.

Memory, storage... I'll add the USB OTG (host) port which would allow with the right firmware Flash drive support. USB is a real sticky situation as many devices rely on unique drivers.

The "device" I'm working on is more an autonomous bridge / peripheral than a fancy user interface with mass storage. I'm thinking along the lines of your master controller can be almost anything with a internet connection, processing power and storage. I also envision this master controller could even be in the cloud (IMHO this is the future, just like online shopping and banking). The "device" I'm building will have a more spartan interface, limited processing power and storage but plenty of I/O.
 
ZWave can be added serially, I chose ZigBee as the price and interface were well matched to my microcontroller.
This would be the Digi XBee's, right? I have a few of these. Nice little devices and I think they'll play nice with the rest of the ZigBee stuff. I just received an AVR Raven kit and I should be able to use the USB stick as a sniffer so I'll see (hopefully soon).

WiFi can be added for about $35 to any Ethernet device, the ASUS WL-330G is such a device.
Ah, yes good idea. I have several Netgear WGT634Us for this purpose (OpenWRT). I can turn them into wireless clients and bridge an Ethernet with them.

Memory, storage... I'll add the USB OTG (host) port which would allow with the right firmware Flash drive support. USB is a real sticky situation as many devices rely on unique drivers.
USB OTG (USB On-The-Go), I had not heard of this before. That would solve a few problems that come up with master/slave switching.

The "device" I'm working on is more an autonomous bridge / peripheral than a fancy user interface with mass storage. I'm thinking along the lines of your master controller can be almost anything with a internet connection, processing power and storage. I also envision this master controller could even be in the cloud (IMHO this is the future, just like online shopping and banking). The "device" I'm building will have a more spartan interface, limited processing power and storage but plenty of I/O.
Hmm, cloud core, I'm not so certain. Sorry I have trust issues. :rolleyes: If anything it will probably be something of a hybrid cloud. Your 'Spartan' (hmm, not a bad name ...) devices at the home's edges, a central, in-home, control unit that handles all the if-then logic and services that the cloud can provide. That way the cloud provider can sell subscriptions to services. and if that connectivity is lost the home still operates

I'm in full agreement on the Spartans, a very simple interface. M2M (machine-to-machine) communications. I have an Elexol 24 IO Ethernet device which works like that. All it needs is Capture, PWM and timers as it has SPI, 1-Wire and debounce on it digital IO.

So far the one area that has given me the most trouble is the dang IP devices. I can't find inexpensive Ethernet devices and WiFi is more expensive on top of that. I've found the MultiTech Ethernet and WiFi modules at Mousers (basically serial to IP modules with an AT interface). And then there's the WebControl (Amazon.com) device which can be used a cheap Ethernet IO.
 
The cloud is an option, it's just another means to an end. It does reduce the overall cost and maintenance.

I suspect the target audience looking into basic HA already has a full time internet connection and a WiFi router. They also are likely to have a smartphone and probably own a tablet or are in the market for one. They may have a NAS but not necessarily (I've had one form or other server in my home for the last decade, I've finally settled into a wee Synology DS100j as just about perfect). They might have a security system but almost everyone has a furnace or A/C system.

I would like to see HVAC become a must have app for HA, just like Visicalc and WordStar drove the market for PC sales back in the day. After all how many folks do you know that are happy about their energy bills? How many bought a setback thermostat yet never programmed it or programmed it improperly. Here's an opportunity for some smart software that could program your thermostat based on your location, habits and comfort requirements automatically. My Dad likes his home warm whereas my wife and I have a cooler home.

An entry level HVAC controller in a connected home would be little more than this "device" and a communicating thermostat. A pretty user interface and monitor could be in the cloud or on a small Linux box like a PogoPlug or LAMP NAS.

As for trusting the cloud most people have learned it's fine and it's fast becoming the choice of commerce around the world. Millions of people bank online, shop online (eBay, Amazon) and some I venture live (Facebook, chat) there more than the brick and mortar world.

Edit: I've got to find a name for this "device" how about BaaMoo :)
 
Back
Top