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.