would ur system require (65k)IOs then IO Train

#IOTrain: cascadable module to increase I/Os on arduino IOTrain: Lets unlimit IOs on Arduino. And with few changes on Raspberry PI | Indiegogo
your feedback will be appreciated....

Interesting product, 100-250 IO-pins is asked for every month or so.

Some remarks/questions:

  • what are the current dimensions of one module?

  • power supply - has it separate power? as >100 of these units connected would kill the Arduino I guess.

  • how fast can one read one IO line?
    write?

  • can one read/write 8 IO lines in one command?
    16?

  • is the IOTrain lib already available? (I offer to review code)

  • is it possible to detect if a pin is not available?

  • is there a pass through if one unit would fail, or is the train blocked from that wagon?

  • are interrupts possible?
    I can imagine a register (a queue?) that indicates there was a change, pin number that changed, or the 'wagon' id?
    mind you, polling 65000 lines for changes takes quite a while. assuming I can check 8 pins in a byte that means checking 8000 bytes.
    at 100Mhz that takes is at least 1-10 seconds.

  • Did you consider stacking the IO modules. If I need 4800 IO lines I might prefer a "wall" of connectors (e.g. 48x100), instead of a train.

(enough questions for now :wink:

This is just the kind of thing that pisses me off and drives some of my designs.
You've got 1 chip and some IO pins. You really need kick starter for that? I could have this designed and boards & parts ordered in an evening, doubt it'd even be $100 to order up 50 boards worth of stuff. Screw terminal board would be more, quality terminals like I use for Mega screw shield are not cheap.
Software might take a little longer.

The kicker: "Under the hood IO Train uses I2C protocol." so its not even fast!

And why waste IO? Got a 40-pin chip with 32 IO, only need 2 for I2C, so that leaves 30 available, yet only 24 are brought out?
Might be less expensive part to use as well, depending on qtys.
$2.65/100 lot seems to be about the best published price from the distributors for 4- pin parts.
Sell them as kits, let folks do their own assembly, put whatever part they want on the board and program in other functionality as well.
Heck, this card can do that already, and I have 15 or so kits sitting in my living room ready to go right now:
http://www.crossroadsfencing.com/BobuinoRev17/

Why the frustration? The great thing about KS is it's a democracy. :wink: Useless projects die in the weeds. If someone's willing to pay for it, there's a market. Maybe just folks who don't have the skills or means to build their own PCBs. Even if the purpose is just to get quantity discounts on parts and boards, there's some sense to it.

Just caught me in the right pissed off mood (from something else) at the right time ...

LOL -- been there, brother.. 8)

Hi Rob
I am Tushar Jambhekar. Team member of IOTrain and i would like to answer your question on behalf of Nilesh

Thank you very much. your question reflect the time and thought you have given to understand this product
you have very good questions. your questions are quite same as the ones we raised to ourselves during initial meetings.

  • what are the current dimensions of one module?
    dimensions of current prototype are 42mm x 85mm
    However we are already designing smd version which we will be shipping. and the sizes will be much smaller. I will update you with smd dimensions board soon

  • power supply - has it separate power? as >100 of these units connected would kill the Arduino I guess.
    Power supply: obviously for large number of channels external supply would be needed and it is not compulsory for you to connect arduino supply to this module.(you need to take care to common both grounds)

  • how fast can one read one IO line?
    write?
    read and write each operation takes same time each i2c command has got 3 bytes of payload. ack has got 1 byte of payload. and takes ~150 us @400Khz.(if we decide to include byte mode then this might improve ~8x). stripping ack would also mean faster write operations though.

  • can one read/write 8 IO lines in one command?
    16?
    the current lib we are thinking to distribute will probably will not have this available. but we have tried this and it works. We are quite not sure whether to include it or not.

  • is the IOTrain lib already available? (I offer to review code)
    IOTrain lib development is complete but will be available only once our campaign is complete.(some things about our campaign at the end of this post). BTW Would you be interested if we launch beta testing program? accepting this does not mean you will surely be included but we will add up your name in out "Probable beta testers list".

  • is it possible to detect if a pin is not available?
    do you mean to say if I send a write and read command and particular module is unconnected. If that is the question then NO. we have thought about this but adding support to this adds to general payload and it reduces the IO speed

  • is there a pass through if one unit would fail, or is the train blocked from that wagon?
    apart from buffer failure. train will not get blocked.

  • are interrupts possible?
    NO. but we understand its importance and in future version would like to add up this support. but till now we haven't done any work on it.

  • Did you consider stacking the IO modules. If I need 4800 IO lines I might prefer a "wall" of connectors (e.g. 48x100), instead of a train.
    frankly didnt thought much about this, but prima facie i feel that this should be possible.

Currently Indiegogo has asked us to relaunch the campaign as flexible funding and they have stopped current one(reasons on IOTrain: Lets unlimit IOs on Arduino. And with few changes on Raspberry PI | Indiegogo). we were working to resolve this issue and hence could not answer the questions in the mean time. we apologize for that.
Soon we will launch same campaign again in flexible funding mode. we will keep you updated on this.

Hi CrossRoads

thanks for posting. and there is nothing wrong in your thinking. however everybody does not think on same lines.
I don't think technical difficulty is the ONLY criteria for crowd funding. (look at makey makey one of the most successful on kickstarter is even simpler than IOTrain)
And in our case software is the key thing. and it was not couple of days of work we have done iteration after iteration for improving stuff.
One more thing lot many software engineers are now tinkering with hardware they are not experts in interfacing but they need to have successful projects. i think we will be helping them out.
still your view are important to us thanks for response.

as far as using all GPIOs question. we are using two i2c pins + few more for auto detection logic. so we are giving 24 IOs. giving something between 32 and 24 does not seem right to me as we might also need port Access mode.

TusharJambhekar:
Hi Rob
I am Tushar Jambhekar. Team member of IOTrain and i would like to answer your question on behalf of Nilesh

Thank you very much. your question reflect the time and thought you have given to understand this product
you have very good questions. your questions are quite same as the ones we raised to ourselves during initial meetings.

Hi Tushar,

Thanks for the answers, I have some new embedded ...

  • power supply - has it separate power? as >100 of these units connected would kill the Arduino I guess.
    Power supply: obviously for large number of channels external supply would be needed and it is not compulsory for you to connect arduino supply to this module.(you need to take care to common both grounds)

Do the boards get connectors for external power?
Have the boards means to 'switch off' the Arduino 5V?
Does the IOTrain also work for 3.3V Arduino's?

  • can one read/write 8 IO lines in one command?
    16?
    the current lib we are thinking to distribute will probably will not have this available. but we have tried this and it works. We are quite not sure whether to include it or not.

This could easily supported by conditional compilation
#ifdef IOTRAIN_BYTE_SUPPORT
// additional code
#endif

  • is the IOTrain lib already available? (I offer to review code)
    IOTrain lib development is complete but will be available only once our campaign is complete.(some things about our campaign at the end of this post). BTW Would you be interested if we launch beta testing program? accepting this does not mean you will surely be included but we will add up your name in out "Probable beta testers list".

I'm interested, please add me to this program.

Thanks,
Rob

It could be useful. Not exactly the next big thing in the maker community perhaps, but handy. A $7500 goal on KS seems maybe a touch excessive for something so simple though. If you're hoping to be the next Adafruit or Sparkfun, and just need some capital and your initial launch product, then I get it. But you might have to come up with something a little more essential to cement your place in the market.

Basically, Cross Roads is right. For maybe $200, you could order a stack of PCBs from one of the cheaper fab houses, buy a whole bunch of ICs and pin headers, and you would have your large-scale proof-of-concept. Then you could sell the test boards until you needed to re-order inventory, or get out of the kit business and just put the design up for others to make their own. No one's getting rich off of something like this, even if you get funded well beyond your goal. I realize I'm not quite your target market, but I can't personally justify $7500 in funding for what could be done with $20 in shift registers.

Good luck though. It's not a bad idea, and it just might scratch someone's itch. If you stay involved with the community, you could end up being one of those places that has a whole portfolio of problem-solver bits and pieces. There's certainly room for that around here...

Do the boards get connectors for external power?
Have the boards means to 'switch off' the Arduino 5V?
Does the IOTrain also work for 3.3V Arduino's?

Each Board has got 4 pin connectors. 2 of them are i2c and 2 are Vcc and Gnd. and you can connect Vcc,Gnd Either to arduino pins or external power supply. it depends on how your wire it.
No, board gets only one power input so you can not switch the supply source but you while wiring you can decide which one to wire
As of our current proptotype NO, but we are conducting some trials with level shifter, also we are thinking about selecting controller which works on both 5V and 3.3V so just by switching Vcc user will be able to switch the operating voltage.

In between we faced some issues with indiegogo payments due to legal restrictions. so i was busy with that work and some other tasks at hand are delayed. now we have relaunched our campaign in flexible funding mode which is only option for campaigns in India. new link is IOTrain: Lets unlimit IOs on Arduino. And with few changes on Raspberry PI | Indiegogo.
thank you very much for your interest. I will get back to you regarding beta testing.

Hi SirNickity

Thank you very much for your sincere reply and i agree with your views totally. However I am definitely not a newbie who dreams of doing something small and dream of earning loads of profit.
My mistake is that I failed to state why i need all this money.
I will try to explain that here. for past 8+ years i am working with National Instruments products and i am very much happy using them specially modular systems like crio (http://www.ni.com/compactrio/).

but the price tags on those are out of makers budget. so i strive to create a product which will be something like that at much lower price tag for maker community.(packaging, look and feel, ease of use, ease of configuration etc). and IOTrain is the first baby step towards that.
making a product with that look and feel, and features need a lot of money. i might need to

  1. hire a product designer
  2. pay for 3d print prototypes, (may be invest for 3d printer)
  3. invest for injection mold
  4. if something goes wrong then repeat the process etc.
  5. work on many electronics issues for compatibility, interoperability and performance

Initially (and to some extent even now as well) I was not sure if i want to raise money for these next phases of project now. But i could also sense that raising money for those reasons without having anything to show will be very difficult.
In my project campaign i have written that i will use this money to work "related ideas" as well. however detailing things over there would have diverted the subject.

In between indiegogo has asked us to relaunch our campaign since they can not transfer money to India through Paypal and we have taken some advantage of it. we have reduced our goals to USD2500.(you can see new campaign at IOTrain: Lets unlimit IOs on Arduino. And with few changes on Raspberry PI | Indiegogo)

again i want to ensure you (and all other people reading this post) that the money raised will not just sit in my pocket as the profit, but it will be reinvested in order to move this prototype to step further towards its destiny product.

I am bit confused about how i should proceed in such situation and your and other people's views are helping me and definitely will help me in future too. AND THATS THE BIG BIG ADVANTAGE OF BEING COMMUNITY DRIVEN.
I await your reply...

Gotcha... makes sense, but consider from the perspective of your investors as well. I can only really speak for myself, but I would imagine there are others with similar reactions. Seeing a high cost goal for a simple design looks suspicious. Hearing your roadmap, I understand -- but only after taking the time to chat with you in the forum. Most passers-by won't have that benefit, and the savvy ones will see their own cost to build something similar as several orders of magnitude cheaper.

Your per-unit price is not bad, BTW... that's actually quite fair. You've mentioned some consideration whether to raise future capital all at once. For what it's worth, if it were me, I would go with a tiered model. Start this design out simple -- no case, just a small, professionally fabricated PCB. This is extremely common in the DIY / hobbyist market, so it won't be a disadvantage. In fact, the added bulk of a case may be a liability, since many people buy Arduinos, shields, breakout boards, etc., and stuff them into their project any way they'll fit. Smaller is better for this.

If you can charge enough to divert some revenue into R&D costs, you can implement new features, new designs, and more "rugged" designs that include cases. Not exactly instant gratification of course, but it's a time-tested and successful approach.

I'm sure all of this has occurred to you at some point, so pardon me if I'm stating the obvious. Just my two cents from the point of view of a community member. :.

OK TusharJambhekar,

with this extra information provided lets be an early bird :wink: