Mosquino: an Arduino-based energy harvesting development board

Mosquino is a software-compatible derivative of the open-source Arduino platform that is designed for extremely low power consumption, operating from ambient (harvested) environmental energy sources such as heat, sunlight and vibration. (Or coincells, if you’re not feeling adventurous.)

Note: This project is in its early beginnings, and has not been exhaustively tested yet. This text is mainly a placeholder for proper documentation.

Why Mosquino?
Mosquino is based on the Sanguino design using the Atmel Atmega644PA and family microcontrollers. It turns out the name Sanguino literally translates as “bleeding”! In keeping with the theme, this parasitically-powered board is a “little bloodsucker”. Don’t worry, it doesn’t drink much. (Also, the name Draculino is already used.)

Important specs:
Operating voltage range: 1.8 ~ 3.3V
Input voltage range: Depends on power shield (the board expects to receive 1.8 ~ 3.6V pre-regulated or 0 ~ 6V unregulated from the power shield).
Speed: 4MHz from onboard crystal oscillator (Atmega’s max. rated speed at 1.8V; you can change to a faster one if operating exclusively at 3.3V).
Shield pinout: does not match official Arduino (Duemilanove/etc.) pinout. Instead, the headers have been aligned on a 100-mil grid for compatibility with perfboard and breadboards.

Downloads / design files
WARNING – This is a very new project and these have not been fully tested yet. Use at your own risk!

Mosquino’s code and design files are now hosted on Google Code. For now, access the current version using the Source tab (use the ‘Repository’ dropdown to select between PCB layouts and code). Beware that this is not a final release yet, and PCB and Arduino cores are not necessarily in sync yet. These boards do, however, contain what is likely to be the official and final Mosquino pinout.

If anyone has built the old ‘rev1’ version, its design and support files can be downloaded below. This design has some bugs and is not recommended for new projects.

Arduino board support dropin rev1 (11/17/2010) – updated to Arduino 0020 core/libraries, added I2C pin definitions. To add Mosquino to the Arduino IDE’s list of boards, unzip this into the /hardware directory inside your Arduino sketch folder (if this folder does not exist, create it). This provides the bootloader and its settings, hardware pin mapping, etc.
Design files / PCBs rev1 (11/17/2010). This file contains the EAGLE schematic, PCB layout and Bill of Materials (parts list) for the mainboard, power shields and I/O shields currently designed. If there is interest / support, they may be available mass-produced someday, but for now it’s roll-your-own.

Features (or, Why create yet another Arduino-based variant):

  • Works with the Arduino toolchain or stand-alone AVR toolchains (avr-gcc and avrdude, etc.)
  • 3.3V (1.8-3.3V) board designed from the ground up with low power consumption in mind. Target quiescent power draw is <1uA including a realtime clock.
  • Power supply (beyond basic battery/USB) implemented as interchangeable shields, allowing harvesting from many power sources (solar, piezo, thermal, RF, …). Power shields may provide regulated or unregulated power, and an aux. output for e.g. clock/memory backup.
  • Direct-wire terminals for power input.
  • Large, 40-pin ATMEGA644P (Sanguino) used to provide additional I/O. This is important, as the design uses up a couple for power-saving features (see below).
  • New shield interface allows up to 3 shields to be installed at once. Common signals (PWR/GND, SPI/I2C buses) are pinned out for each shield block.
  • Prioritized power supply (see below) allows regulated/unregulated or USB power to be used/connected at any time, without backdriving/damaging each other or sacrificing power efficiency. USB power will supercede battery/etc., saving battery power when other sources are present.
  • Still fits in an Altoids tin!

Low-power features:

  • PC interface (FTDI232 USB-to-serial, like on Duemilanove) operates from isolated USB supply; does not consume current when USB cable unplugged. Likewise, bootloader immediately exits if USB cable unplugged.
  • Feedback signals to ATMEGA / user program: BUS_SENSE (detect if USB link / “infinite” power is present), POWER_GOOD (changes to false when power source is nearly depleted, if supported by power shield).
  • Hardware Real-Time Clock and three hardware INTerrupt lines (one for RTC, two uncommitted) to facilitate / encourage event-driven code, CPU sleep mode usage (as opposed to software delay loops) with periodic/scheduled wakeups.
  • Rather than using “diode-or”ing, the power supply uses reversed MOSFETs as diodes to isolate the different supplies while avoiding the voltage drop of typical diodes, and cut-off less favorable supplies (e.g. battery) when a more favorable one is available.
  • Integrated load-switching prevents the circuit from drawing power until the voltage exceeds minimum requirements and there’s enough power to do something useful with. Since many devices behave strangely and often draw excessive current when driven with too-low voltages, the load switch avoids the problem of a slowly-charging power source never getting “over the hump”.

Power Shields currently designed
These are available in the PCB download above.

Thermal, e.g. bodyheat-powered using the Peltier/Seebeck effect. This shield boosts the extremely low voltages (as little as 30mV) from the Peltier device to 3.3V (see LTC3109 data sheet). Using a 4x4cm Peltier device, the board can operate from as little as 2degC thermal gradient. It can also automatically charge a storage device (battery or supercap) when excess power is available. POWER_GOOD output provided.


Vibration energy (piezoelectric) or naturally occurring charge imbalances (electrostatic). This shield converts high-voltage (4-20V) but extremely low current AC or DC sources to 1.8 or 3.3V using the LTC3588 charge management IC. A jumper selects between 1.8V and 3.3V output. This shield can also be used as a general-purpose step-down regulator for multi-cell solar cells, etc. POWER_GOOD output provided.


“Petty Joule Thief” one-shot low-voltage boost converter with optional Schottky fullbridge rectifier. This is a capacitive charge pump that boosts low-voltage (as low as 300mV DC or 400mV AC), low current sources to 1.8-2.4V, storing this voltage on a storage cap. Once the storage cap is full, boosting stops and the power is switched to the load. Once the cap voltage drops below 1.8V, the load is disconnected and boosting restarts. This circuit is for simple “one-shot” applications that wake up and perform a quick task (e.g. take a measurement, send radio packets) in a known amount of time and power.

This circuit can be powered by single-cell (0.6V) solar cells, multi-cell panels in indoor / low light applications, piezoelectrics on weak vibration sources, etc. When set for AC, can be used to draw power from RF / RFID sources.

Null power shield: For direct use of a coincell or 2-6v solar cells, etc.: on the power shield headers, jumper VIN- to GND and Vin+ to either VREG or VUNREG.

Shields currently designed (available in the PCBs download above):
Mosquino Shield Template
MicroSD Socket with FET power switch
Kent Displays 128×32 bistable graphics LCD (image retention for >1 year without power). The below is not a photoshop trick; there really is no power source attached :-)

Next shields:
XBee
Micropower Wireless (ANT AP2?)

Comments

34 responses to “Mosquino: an Arduino-based energy harvesting development board”

  1. Jim Avatar
    Jim

    are the boards available yet?

  2. Tim Avatar

    @Jim: Not commercially (and there are still a couple improvements I want to make before considering that path), but the boards posted so far are tested (with the exception of the SD card shield) and working. I got my boards made by DorkbotPDX’s batch service; it’s a pretty good deal for low-volume prototypes.

  3. […] and also introduced many of us to the mosquino screen, that can run on ambient energy sources (more here). Lastly, David Stokes introduced us to his Arduino gaming shield, which utilize old, dead stock […]

  4. Justin Avatar
    Justin

    How did this project turn out?

  5. Tim Avatar

    @Justin

    It’s ongoing; a new revision is coming out soon. Assuming I’m satisfied in the results, then it may be time to run it up the flagpole and see who salutes :-) (e.g. see if any Arduino / open-source volume folks are interested in picking it up).

  6. […] The Mosquino is a new Arduino variant, designed to work with much lower-capacity power supplies than the standard USB/7805 5 volts, such as those delivered by solar cells or small batteries. While it isn’t physically shield compatible with the Arduino, it does boast some unique and useful features, such as: […]

  7. Derrick Avatar
    Derrick

    This is fantastic! I’m just a tinkerer, not an engineer, but I’m unconcerned with the lack of shield compatibility with the regular Arduino. An adapter would be trivially easy to build if necessary, but I generally don’t use shields anyways.

    The intelligent low-power design opens a lot of doors for us non-engineer sorts to build a whole new class of devices that would normally be much more difficult to get going. Awesome!

  8. […] An Arduino-Based Energy Harvesting Development Board – [Link] Tags: Arduino, Atmega644PA, Energy, Mosquino Filed in Arduino | 1 views No Comments […]

  9. John Laur Avatar

    On this one, I applaud the lack of shield compatibility actually. If you are specifically designing for low power I honestly can’t really think of any shield that is out there that I could use on a low power device.

  10. laurent Avatar
    laurent

    hello
    do you plan to and a radiointerface,this interface can be wakeup only for datasync. A simple xbee shield couldbe great

  11. Robert Davidson Avatar

    I have a LTC3108 breakout board for powering this using a thermoelectric generator if you’re interested. http://www.ambientsensors.com/2011/06/energy-scavenging-ltc3108-oshw-boards-are-here.html I want to make these freely available via OSHW but have been bogged down on other things so will soon have this up on GitHub.

  12. […] Don’t worry, it doesn’t drink much. (Also, the name Draculino is already used.) [Link] Share Tweet Written by admin in: Uncategorized […]

  13. Tim Avatar

    @Robert – Very cool! I’m itching to see more practical applications of this stuff – body-*powered* body-worn computers can’t be far behind.

    I actually have a similar open hardware board published for the LTC3109 variant. Its pinout is the Mosquino power shield pinout of course ;-) but it’ll also fit nicely on a standard breadboard. The ‘3109 adds harvesting from any polarity, for the cost of a 2nd transformer and an extra 10mV or so start-up voltage. (It’s probably a complete misuse of the chip, but I found it’ll also harvest/boost the small amount of power from hand-turning a DC or stepper motor.)

  14. Tim Avatar

    @Laurent – Yes, I am working on a library for ANT radios now. Of course, if you’re handy with a soldering iron (or breadboard!), an existing XBee shield or similar could be hooked up this way.

  15. Dustin Avatar

    Looking forward to seeing where your project goes. I’m looking into low power low cost Atmega development, and you have some good designs that I will be looking at as a model of good low power designs.

  16. JRS Avatar
    JRS

    Hi,

    Would it be possible to see high resolution images of both sides of the main board to help check our self made PCB and assembly ?
    I can’t wait to have my PCB delivered and to at least boot this superb idea.
    Congratulation.

  17. […] power designs really fascinate me. Tim’s Mosquino does a bunch of fun tricks to keep power consumption low.   I’ve learned a lot from his […]

  18. GP Avatar
    GP

    how about adding parasitic power from ambient 60Hz mains ;)

  19. […] power designs really fascinate me. Tim’s Mosquino does a bunch of fun tricks to keep power consumption low.   I’ve learned a lot from his […]

  20. marc_is_curious Avatar
    marc_is_curious

    researching “linear”‘s dot com’s “LTC3588″‘s applications i am
    amazed by the pwr-piezo, pwr-piezo, pwr-pelt modules
    and wonder, which input devices one may use to generate the energy;

    i’d love to find a device that generates at least a 1.5V aa(a) battery charge’s
    compatible energy (if not higher) …
    &
    already had a look at e.g. digikey (…search term “energy harvesting”);
    they offer some extremely expensive piezo elements generating
    about 5volts (ca. 100mA) …
    other -cheaper- piezo based films do not seem to generate more than
    <= 1-2V max. (partly less than 10mA);

    is there any source you would recommend?

    best regards!

  21. Thomas Avatar
    Thomas

    This is a great project. I’d love to see these widely available. Have you considered a kickstarter campaign for these?

  22. Thomas Eldredge Avatar

    This is a great project. I’d love to see these widely available. Have you considered a kickstarter campaign for these?

  23. […] another Open Hardware project that utilizes similar techniques is the Mosquino.   This entry was posted in Energy use optimization by admin. Bookmark the […]

  24. […] < Electronics < Hardware < mooncactus Get flash to fully experience Pearltrees Mosquino: an Arduino-based energy harvesting development board « Outguessing the machine Mosquino is a software-compatible derivative of the open-source Arduino platform that is designed […]

  25. JRS Avatar
    JRS

    Hi Tim,

    Your design is still astonishing to my eyes and understanding.
    I finished building my third Mosquino and I am now switch to its energy harvesting shields.
    I a mstuck on the choice of the C1 capacitor of the Peltier shield : what value and packaging are suited ?
    I would greatly appreciate any hints from you. Thanks in advance.

    Once more, congratulations !

    BTW, sorry for double posting but I guess more visitors will seem this post and, maybe, bring hints to the community

  26. JRS Avatar
    JRS

    Sorry for double posting but I guess more people wil see this one and may bring hints to the community.

    Hi,

    Your design is still astonishing to my eyes and understanding.
    I finished building my third Mosquino and I am now switch to its energy harvesting shields.
    I a mstuck on the choice of the C1 capacitor of the Peltier shield : what value and packaging are suited ?
    I would greatly appreciate any hints from you. Thanks in advance.

    Once more, congratulations !

  27. martin Avatar

    I think that your peltier PCB with LTC3109 will output 4.1V because you connected VS1 to GND and VS2 to VAUX, you you say you generate 3.3V; Am I missing something?

    Thanks for the great project.

  28. Tim Avatar

    @JRS: These answers are now on the Wiki if available. For the Peltier module, C1 is not needed. I stuck the footprint there just-in-case, but it turns out no possible capacitor fitting that footprint is capable of starting up the board on its own. Thus it is recommended this shield be used in conjunction with an external (super)capacitor or battery.

  29. Tim Avatar

    @Martin – The board is configured by default to provide 4.1V output suitable for a LiIon/LiPol or thinfilm battery. This output is provided on the ‘Vunreg’ pin; if plugged directly into Mosquino it will be regulated down to 3.3V by the onboard regulator.

  30. Fernando Avatar
    Fernando

    My question is related to eh piezo power shield that you designed. What current (power) is able to provided??

    What I want to do is a piezo power shield to supply a microncontroller (PIC or Arduino) to obtain some data from sensors and store them in a EEPROM or send them via bluetooth (if the current is enough for bluetooth). Do you know if it will possible?

    On the other hand, I have to piezo, one of them is V21B from MIDE and the other is a PDVF from Measurement Specialties. I have been doing some test with V21B and a board with a LTC3588 from Sparkfun, and it works, the problem is when I connect Arduino, the voltage fall down completely due to current consumption, and if I use the PDVF the IC doesn’t produce any output voltage.

    Could you please help me or give some advices?

  31. noel Avatar
    noel

    Looking at the petty joule thief. It has a S-882Z dc-dc converter. It looks like it is no longer produced. Where can I find it or what module can replace it?

  32. SAM Avatar
    SAM

    Hi, does the project completed to at least working version 1? Does the board ready for purchase?

  33. Mike Avatar
    Mike

    Hi,
    If you get a batch of PCBs made, I’d be up for buying 2 main boards and some power boards. If not, I guess I’ll get some from Seeed Studio…
    Thanks,
    Mike

  34. Jon H Avatar

    Hello,
    We are very interested in this project that you are working on and would like to get in contact with you about its progress. I have several questions that would be better discussed over phone or email. I don’t see any way to contact you on your site so please send me an email at your earliest convenience. jrhowel2@ncsu.edu

Leave a Reply

Your email address will not be published. Required fields are marked *