New IOIO is faster, cheaper


For the last few years, [Ytai] has been working on the IOIO, a device that connects your Android devices to the other homebrew peripherals. There’s a new version of this really cool board out now that includes a few much-needed features like USB-OTG and a lower component cost that is passed on in savings to you.

A few months ago, our own [Mike Szczys] caught a glimpse of this new IOIO board. It’s the same size as the previous revision, but with USB-OTG, the new IOIO can be a master when connected to a phone, or a slave when connected to a PC.

In addition to USB-OTG, [Ytai] improved the power regulation circuit, and even went so far as to refuse royalties to the board to get the costs down. It’s currently available at Sparkfun for $40.

[Ytai] says he’s working on a few software upgrades to the IOIO, including making capacitive sensing a possibility and including support for stepper motors and controllers. There’s also support for the Raspberry Pi coming up, but we’re just glad [Ytai] managed to put a yo-yo graphic on the bottom silkscreen. Finally, and hopefully, everyone will know how to pronounce IOIO.

29 thoughts on “New IOIO is faster, cheaper

    1. I can understand limpkin’s gripe. Sparkfun is probably making around $20 with each unit they sell. If you are the type of person that wants other people to design, purchase components, setup pick-and-place programs, reflow, and stock in a building that requires rent, heat, and electricity – all for free – for you to have – then yes, this price is unacceptable. It should be provided at the BOM cost. Anybody can do all those other things, they have no value.

      1. The thing I find gripe-worthy is that the designer reduced his cut to $0 to enable a cheaper cost, but Sparkfun’s cut is $20-30… Not a great situation (though Sparkfun needs a pretty large margin so they can have distributors).

        1. It is vexing the original designer is making no money on this, even though it was his choice. Would it have been that big of a deal to charge an extra $5-10? At least get something back for the effort. I don’t think the market for this is truly that price sensitive, even though there are vocal whiners out there.

    2. Hey guys,

      No need to go so melodramatic here.
      I’m just saying that for a platform that is supposed to be a “gateway” for other projects, it would have been nice to get a cheaper price.
      Let’s not think about functionalities there, but just in term of chips on the PCB. From the picture, I just see 2 connectors, 1 switch, two IC’s and the main uC (which is at 5usd for 1k qty:
      But I’ll agree that there is a lot of work involved on this platform.
      It just would have been nice if it had been a more “open and cheap” approach (like teensy for example).

      1. A reoccurring theme I see on message boards is why does it cost so much to have some electronic widgets manufactured. Here is some background for you that might help explain that.

        “Is there a rule of thumb for estimating the cost of getting circuit boards assembled?”
        In a past life I worked for a large Contract Manufacturer, Matric Limited . I don’t mean this to a plug for them, but the virtual tour of the place is helpful for the discussion:

        To a CM it is all about *Time*. When it comes to parts, the actually part cost is really insignificant as far as cost contribution to assembly cost goes. Most of the build cost goes to the time it takes to setup, tear down and the paper work.

        For a broad brush overview of cost steps:

        One shot fee for getting your project into the system. Someone has to enter your BOM, and schedule into the amorphous blob known as “The System”. Any change that you do triggers a recalculation, that you either pay for or is amortized across your boards. Every future order you place will have a small “trigger fee” to pay for someone to enter your order.

        Included in that is a fee for someone to do a time analysis of the number of operations that your project will require. A unit time value is assigned to each operation, and each operation has a cost, that is, as far as I know, calculated by Magick (All CM’s use Magick for this step to my knowledge).

        If you supply the parts there will be fees for entering a carrying fee per new part number into The System. Some cost analysis guru at GM, long ago, decided to simply have a number in The System that carries a charge of $50 or so per year. The accountants just love to beat up the engineering department for “we have to many parts in the warehouse”. Company owner wants to keep inventory turnover high. Also cost for physically getting your parts into The System, such has putting them in the warehouse, typing in the data etc.

        There will be a scrapping fee to get your stuff out of The System if you take your project someplace else.

        Those Non-Recurring Engineering (NRE) fees you either pay up front, or are amortized across the number of boards. This is why the range is highly variable between different CMs. Some hide the fees, some don’t.

        Also, when you supply the parts the price of each part will be market up by a *minimum* of 33% (More Guru calculations). If you don’t mark the price up by this amount, you lose money each time you touch the part. You are charged for the use of the warehouse space, like renting a storage unit.

        Now lets say you let the CM supply the parts, in general this will get you a lower per part cost for the commodity parts. As they will be using 100,000 0.1 uF 0603 caps a day, the pick and place machine will have that loaded. So you don’t have to pay for loading your reel of much smaller volume part. Also the CM will have negotiated a much better price than you got from Digikey. The downside here is that you lose some measure of control, which can be a problem if you have to meet UL/MSHA/FDA etc. regulations.

        There are extra charges for projects that involve FDA paperwork, such a per lot tracking etc. Other acronyms apply as well, UL, FCC etc.

        There is a fee for having the solder paste stencil made.

        Now that the NRE’s are out of the way, lets build a thousand Widgets.

        Someone answers the phone and enters an order into The System to build a thousand Widgets.

        The System checks the warehouse to see what parts are in stock. Your order is then routed to Purchasing to get the parts that are out of stock, or routed to planning to get your order into the build Que.

        When your build hits the top of the Que:

        Someone pulls the parts from the warehouse, at the minimum your PCB; time.

        Your bare boards are put in an oven and baked to drive out any moisture, you pay the handling and electricity; time.

        Your parts are loaded on the Pick&Place machine; time.

        The board go from the oven to SMT Assembly; time.

        Someone pulls your stencil out of the rack and puts it in the paste machine; time. Paste is applied to your board; time.

        Your board is put into the Pick&Place and your parts are mounted; paste, electricity and time.

        Your board then goes through the IR reflow oven for soldering; electricity and time.

        The boards are then cleaned; fluids and time.

        Any of your parts left on the P&P are removed, and put back in the warehouse, when Widget #1000 comes out the end of the machine; time.

        The stencil is cleaned. You pay for whatever the cleaning fluid is and time.

        The stencil is put back in the rack; time.

        If your boards are in a array, they are then cut apart. It is cheaper to build arrays, but it adds this cutting fee; time.

        If there are parts that could not be mounted in the P&P machine they are done by hand, or put through the wave solder machine, then cleaned a second time. There is a big hit in costs for anything done by hand such as connectors, transformers, cable assemblies etc. Time.

        The boards then go to Quality Control for the level of inspection that you paid for. Simple visual to full functional test. Time.

        Boards leave QC and go to shipping where they are put in Anti-Static bags and cardboard boxes and shipped off to you. Time. You pay the shipping one way or the other.

        There could also be Added Value items such as your boards are put in an enclosure. You pay for someone to do it, right down to the number of seconds it takes to tighten down the screws.

        By now you probably have gotten the idea that Time is important. When you were looking up stuff in the DigiKey catalog were you billing yourself the time it took to do it? Probably not…

        “The 500 piece cost for the electronic parts from Digikey is about $4.20.”

        Did you include the Anti-Static Bag, the yellow Anti-Static Sticker that seals the bag, the solder (price of metals is going up every day), and any board cleaning fluid chemicals / deionized-water in that price of $4.20, and the time to do those items? I didn’t think so…

        A good CM knows the cost of every operation and will be around a long time. A new CM doesn’t know his costs. Hence the wide variation in CM quotes.

        Matric developed a reputation for being a high price CM, and customers would leave based on cost, rather than value. However many of them would return after a while saying “we got what we paid for”, and never left again.

        In the end my advice is to analyze the value of the services you are paying for, not the cost of the parts.

    3. Lame dude…. I paid $20, the cheapest I could find for that family, for a board that doesn’t even have half the capabilty of this one. Even as a stand alone, this board is practically a steal. Act less like a troll and show us an equal board for cheaper.

    4. Lets see your attempt at having an end product that has the following capabilities AND in a form-factor (WITH client end software) that does it better and for less:

      USB-OTG dual-role (host, device).
      Input voltage: 5V-15V, from external source or through USB (when connected to a computer).
      Output voltage: 5V, up to 3A (!), 3.3V, up to 500mA.
      46 I/O pins (digital I/O), built-in pull-ups / pull-downs / open-drain on all pins.
      16 Analog inputs.
      9 PWM (for driving servos, DC motors, dimming LEDs, etc).
      4 UART.
      3 TWI (I2C, SMBUS).
      3 SPI.
      6 Pulse Input (precise pulse-width / frequency measurement).
      USB current limiting when acting as USB host (useful in Android mode).
      Switch for forcing host mode (for using non-standard USB cables, which are more common than the standard ones…)
      On-board LED under user control.

      1. IOIO is not just about hardware. IOIO’s software and library implementation is hands down best in class for interfacing Android with external hardware and now with OTG, PC as well. The existing IOIO projects speak for themselves . I doubt you’ll find the caliber and volume of IOIO projects with ADK or other boards. Perhaps as others manufacture IOIO, the price will come down. IOIO is open source, there’s nothing stopping that. But even at the original IOIO $50 price, the ease of use of IOIO is well worth it in my book.

      2. I’ve recently managed to connect STM32F4Discovery kit via USB host to Android device and it has pretty much the same capabilities as IOIO. The STM32F4 is connected as device, becouse I don’t see the reason for making it host and Android device (but it wouldn’t be problem to seitch the roles). If I ommit the SW (it took me 2 days to finish the SW) I have working solution for 18$ and as a bonus I can add any additional functions (e. g. sine wave generation), since STM32F4 has plenty of free computing power.
        However I think 40$ for IOIO is a wonderful price – my solution is cheaper, but it isn’t end product and has a worse library than IOIO (I implemented only functions I needed).

    5. Not sure if you think that’s too expensive or not. But for comparison here’s the ADK from Microchip:
      …it’s price tag is about $80.

      If you are an OEM, I’d go with the Microchip solution. But if you are a hobbyist or just need to get some work done on Android – there’s no question. Go with Ytai’s solution. I have not gotten into it, but what he’s got going on on the Android side (IOIO libraries) appears to make using his IOIO board practically a “type and run” effort. Just try typing ioio. and ioio. and Eclipse will practically fill in the blanks.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s