IOTrain is a simple, small yet brilliant piece of innovation which allows Arduino to have as many digital IOs as you wish. Each module adds 24 IOs to your project and you can cascade multiple such modules to fulfill your project requirements
Who We are
I am Tushar Jambhekar, I own Jambhekar Automation Solutions.We are experts in electronics and PC based Industrial automation. For past 7 years we are in this field and in India we have provided services to companies like Whirlpool, John Deere, Emerson etc.
The Story Behind IOTrain
For quite some time I am working on Arduino. and it is awesome development platform . It simplifies the development a lot.
However when you select a particular Arduino board you are limiting the number of IOs that can be utilized in your project. E.g. UNO is having 14, Leonardo is having 20 whereas ADK has got 54.
If your projects needs more IOs; then things suddenly get quite tough. You might need to
- Design custom circuits
- Implement complex protocols like SPI, I2C etc.
- Spend many days in debugging code.
- Struggle to comply with timing constraints.
- Spend money on costly equipments to analyze timing characteristics.
And so complexities pile up.
I wanted to eliminate all these complexities once for all.
I believe that developing small projects on Arduino is simple and it should remain simple irrespective of size of project.
Meet IOTrain and Say No To Complexities
IO train is cascadable IO expander which goes well with Ardiuno philosophy. Each IOTrain Module has got 24 digital IOs. and you can cascade as many modules as you want till the time you don’t hit total of 65000 IOs.
Also for interfacing IOTrain to Arduino or compatible board you don’t need to learn much. IOTrain comes with its own open source Arduino library. Library functions are similar to Arduino’s digitalWrite and digitalRead functions
How It Works
Under the hood IO Train uses I2C protocol. During initialization of IOTrain auto detection algorithm in firmware detects the number of modules attached to i2c bus of Arduino. Each module on bus assign itself appropriate channel numbers (e.g. first module takes channel number 0-23, second module occupies 23-47 and so on.). and subsequent commands can use channel number for reading or writing status information on it.
Blink Program with IOTrain
IOTrain is Open Hardware and Open Source
On successful completion we will release the source files of software and hardware on our product site
IOTrain can be used to extend IOs on any Arduino or Arduino compatible board which has got hardware i2c interface. It consumes only two pins on Arduino and in return can happily give back hundreds of IOs.
Technically IO Train can be used by any device which is capable of communicating over i2c. but it will need IOTrain library to be ported for the device.
IOTrain works on 5V logic levels hence level shifter will be required for devices that do not work with 5V levels.(We or working on it and trying to make it work on both 5 and 3.3V levels)
Are you thinking about using IOTrain with Raspberry PI? We feel that its a great idea. and as soon as we hit the project goal we will introduce the stretched goal for porting IOTrain to RaspberryPi. We will also add 3.3V <-> 5V level shifter board required by raspberry pi as a perk
What is Current Status of Project
We have created 5 prototype boards for IOTrain. we have completed the development of firmware and we have also completed the IOTrain Library for Arduino.
By cascading 5 IOTrain modules we have tested it for up to 120 channels of input as well as outputs and it is working great
What Needs To Be Done Yet
Preview of Final smd Board
Double layer PTH PCBs instead of current single layer ones
Our current prototype PCBs are manufactured in house using single layer design. However for final product we will be using double layer PTH PCBs. Design of new PCB is complete but manufacturing will be done immediately after completion of campaign. (Double layer PCBs always perform better than single layer PCBs hence this does not involve any risk)
One more prototype run
Our current prototype is working great however we will be creating one more prototype which will focus on making board compact and sexier.
Validate that IOTrain works for very very high channel counts
Theoretically IOTrain supports up to 65000 channels however we have tested it only up to 120 channels. Upon receiving of funds we will manufacture multiple boards and will test it for at least 1024 channels. (We have already simulated most of the situations like extended lengths of i2c bus etc. but we still need to test with lots and lots of cascaded boards)
Ensure quality of manufactured product using automated test equipment
We want to make sure that each module delivered to our customers is defect free. We are ready to invest time and money required for that. We already have plans for automated test system to test each manufactured module before dispatch.
What We Need and What You Get
We need your support to turn this project into reality. To bring prices down we need to mass produce our modules. So please Support us by picking biggest perk you can. By passionately picking bigger perk you are not only supporting for a cause but you are also receiving back a bigger reward.
Please don't stop yourself just by picking the big perk. you can support the cause in many ways which wont cost you a penny. you can
- spread the news about IOTrain over social media
- ask your friends and relatives to support this project
- if you know journalists ask them to write about IOTrain
- follow us on twitter @t_jambhekar and #IOTrain
- re-tweet the #IOTrain tweets
- let us know about people and projects who can use IOTrain .(we will take efforts to make IOTrain to be a great experience for them)
In return to your support we are responsible not only to you but also to community
For you we will
- take best of our efforts to deliver your rewards in time if not earlier.
- provide defect free product and great experience.
- provide you email support if you face difficulties in using IOTrain.
For Community we will
- make IOTrain a evolving product
- support IOTrain users to fair extent (IOTrain is open source so some users may not be our customers)
- continuously learn through the process and make life of hardware tinkerers easier.
- create more such products.(we are lined up with other ideas)
IOTrain (pin header)
IOTrain (screw term)
How your money will get utilized
- To manufacture additional prototype run with double layer PCB
- Make large orders for production and bring price down
- To build automated test equipment for quality check
- Documentation, example codes etc.
- Working on half a dozen related ideas we have.
Risks and challenges
As with any project, there are risks and challenges with this project as well. First of all, we’re still not finished with our product. That means some issues may still arise, though unlikely.
Moreover, testing and setting up manufacturing process takes time. unforeseen causes might delay the process to some extent.
As far as prices are concerned we have taken in to account the extra costs to cover manufacturing risks.