We have developed a small “shield” board for the Arduino Pro Mini that allows us to easily prototype small battery-powered devices that contain motors, lights, speakers or sensors.  This shield adds the following features to the arduino board:

  • Battery charging of a lithium polymer or lithium ion battery
  • Voltage converter of battery voltage to 3.3V.  This will regulate any voltage in the range of 1.8-5.5V to 3.3V.  Without this the things that are powered would get less power as the battery dies (i.e. the lights would dim, motors would run slower)
  • 8 MOSFETs that allow I/O pins to control higher current loads.  The arduino can only source 40mA from a single pin.  This allows a pin to control up to 5A of current.  This is necessary for things like motors or large banks of LEDs


The board can be snapped on top of the arduino board and looks like this when it’s all together:

Here’s how to wire it up:

We are currently talking to Spark Fun to see if we can have these made to be sold to the public.

UPDATE: They started selling a version of this!  It’s missing the battery charger and the jumper that allows you to reroute a button to pin 2 for wakeup from sleep.  However, it’s easy to get and only $20.  Buy it here

We have made the eagle files and bill of materials available if you want to make your own.

Download the source

UPDATE: I had a bit of trouble with the charging speed.  At some points the charger will charge the circuit just enough to turn on the Arduino, then the Arduino will turn on draining the battery.  If you substitute the 1.74k resistor for a 850 ohm resistor, this will be fixed, but you will have to charge with a 5V supply with at least 1A capacity (so USB would no longer work)

17 Comments:

  1. Gregor van Egdom

    11/08/2009 at 7:47 am // Permalink

    This is weird. A couple of days ago, a friend told me he was thinking of making a shield just like this one. It looks really sweet, especially if you need to proto small electronic products.
    Keep us updated on the negotiations with SparkFun.
    About the MOSFETs: 5A (!) per channel, really?
    Keep up the nice inventions – every post I wish I worked for you guys…

  2. Dave

    11/08/2009 at 8:15 am // Permalink

    …Well the 5A number comes from the datasheet of the FETs. This will need to be tested to see whether they can really be pushed that far. Also that’s DC, if the fets are being Pulse Width Modulated or switched quickly that number will get lower.

  3. Jeff

    25/01/2010 at 9:55 am // Permalink

    I’m looking for a shield of this type as well. Seems like there’s a market for this shield in all Arduino sizes. Any word on availability from Sparkfun.

  4. jean-louis

    26/01/2010 at 5:15 am // Permalink

    hi,

    any idea when do you expect to release this product ? pre-assembled ?
    any price range ?
    thanks
    jean-louis

  5. Gonz One

    09/06/2010 at 3:21 pm // Permalink

    This is a great idea! What is the status of producing these boards? I’m interested in purchasing some.
    G

  6. Ali Momeni

    04/10/2010 at 6:02 pm // Permalink

    Excuse me but what are all the dotted lines in the eagle files? there are dotted lined boxes on the top and bottom layers, i don’t see them in the pictures of the circuit boards, only in the eagle files. anyone know?

    a

  7. Dave

    04/10/2010 at 6:08 pm // Permalink

    @ Ali Momenti

    Those are copper pours I used for heatsinks. The dotted line is the area you want eagle to do the pour if it can when it auto-routes the board.

  8. Sam

    02/01/2011 at 3:18 pm // Permalink

    Any update on getting these sold through sparkfun? Would be very useful.

  9. Dave

    02/01/2011 at 3:22 pm // Permalink

    Last time I spoke with them in September they said they had something in the works. I can check again though. Thanks for the interest!

  10. Justin

    30/06/2011 at 9:01 am // Permalink

    Would you see any issue with tying the output to a 12V supply through a 100 resistor to enable Higher Voltage Output?

  11. Dave

    30/06/2011 at 10:17 am // Permalink

    That should be fine. The voltage the FETs base whether they are on or off, the “threshold voltage”, will be the voltage from ground to gate in this case. So the voltage powering the thing you are connecting shouldn’t matter as long as the FET can handle the current you are passing through it.

  12. modern oil painting

    11/08/2011 at 6:08 pm // Permalink

    i’m sure which,A lot of market research demonstrate that customers located in expanding figures are beginning to distinguish that may boarding schooling supplies superior natural world in addition to companies for the children.

  13. David S.

    23/07/2012 at 7:57 pm // Permalink

    I’ve given up looking for a manual (for laypeople) on how to use this…

    How might I interface the Sparkfun version of this shield with an Arduino Fio (at 3.3V operating voltage) to drive 4 motors (requiring 0 – 3.3V and <2.0A)?

    Can you give me a pin by pin description please?

    Thanks, David.

  14. Dave

    23/07/2012 at 10:20 pm // Permalink

    I’m sorry you are having difficulty. The shield is designed to mount directly on top of an arduino mini, but you can wire it up to a FIO if you want to, it just won’t stack up as nicely. If you look in this post there is an image with labeled pin outs for the FET drains and other pins. You will want to connect your motor to power on one side and the FET drain on the other. The MOSFET does the job of connecting that side of the motor to ground which will make your motor turn. If you are looking for a pinout for the pins on the periphery of the board, look at the documentation for the Arduino mini or pro mini and wire it up the same way it would stack onto the mini. Make sense?

  15. Dusk

    12/10/2012 at 10:54 pm // Permalink

    I’m trying to rig one of these to work with a Digilent ChipKIT UNO32 to drive some LEDs that need a lot more punch than the UNO32′s pins can provide (12mA). I’ve looked at everything to do with this shield, and read all the commentary, and I still either have no idea how to wire it to work, Just to make sure I’m doing this correctly, I’ve got a signal coming from the UNO32 to a pin on the shield (what would be pin 9 on the Arduino Mini). I’ve got a battery hooked up the battery inputs, and the LED’s anode in the 3.3v column, with the cathode on the FET drain pin 9. Is this correct? Should this work, and if so, do the FETs need more than 12mA to switch?

Leave your comments