Hi all,
This is an updated design of the Mosquino board, first announced on the old forums. There is some more background on the project and its rationale here.
If anyone has interest in a very low-power Arduino-compatible for battery powered datalogging, solar / thermal / other environmentally powered projects and networks (or like to point out others' mistakes ;-), please have a look at the schematic attached and let me know what you think!
This version has not been built or even laid out yet, but the physical pin placement hasn't changed from the first version. It fixes several things / bugs that annoyed me about the first draft though.
(FIXED) Onboard power supply will allow input voltages up to 14V; no more Zener diode leakage at reasonable voltages.
(FIXED) Eliminated FET voltage drop when using the onboard regulator at lower voltages (3.3 - 4V).
(FIXED) INT1/INT2 signals now correctly routed to shield bus headers.
(NEW) POWER_GOOD signal now provided by onboard supply.
(NEW) POWER_FULL signal added to external power shield; used for alerting the application that excess / waste power is available. POWER_GOOD / POWER_FULL now in a wired-OR configuration and can be overridden by the external power shield.
Here is a quick overview of what's going on in the circuit (follow along with the schematic attached, clockwise from left):
USB / Power Entry: Direct wire (spring loaded) terminals for attaching arbitrary power sources such as solar cells, piezos, Peltier devices or battery packs. Mini-USB port for power and computer I/O / programming.
Power Shield Header: Allows connection of a small shield-like power module for specific 'unusual' power sources. The shield receives the user-supplied power and returns regulated (direct to CPU) or unregulated power (uses board's onboard regulator). The shield can optionally supply POWER_GOOD and POWER_FULL signals for intelligent power management. Power shields can be stacked if supported (e.g. power conversion + battery module). Current power shields include piezoelectric / buck regulator and thermoelectric booster that operates on as little as 2degC thermal difference.
Power supply: Combines power supplied by regulated/unregulated sources and USB; isolates sources to prevent backdriving any source. Input on VUNREG is regulated to 3.3V by a low-leakage, low dropout regulator (2-3uA typ.). Input on VREGIN is passed directly through and should achieve minimum sleep currents well under 1uA.
Load Disconnect (VUNREG only): Completely disconnects power from the circuit until voltage has risen within the ATmega's legal operating range + some hysteresis (to prevent chattering). This prevents low-current or slowly-rising power sources from never getting "over the hump". Provides early warning via the POWER_GOOD signal before disconnect.
USB-Serial: Same FT232 chip that provides USB connectivity on the Duemilanove, but only powered when USB cable plugged in.
Realtime Clock: Arguably the most important part for low-power projects! <1uA part allows event scheduling and waking the CPU via INT2 pin, so the user can avoid long software delay loops.
Shield GPIO / Common I/O: Much like the Sanguino it's based on, this board diverges from the stock Arduino pinout. Rationale: 1) Very few existing shields are designed with serious low-power operation in mind, so using them with this board would fairly defeat the purpose; 2) This board's users probably have more unique needs than a stock Arduino, so emphasis is on perfboard-friendly for custom stuff 3) you probably want to do more than 1 thing at a time. (e.g. sensor AND logging AND transmit) to form a useful system. The headers are split into 3 sets of 8 GPIO + a common set of power and bus signals (SPI, I2C, INTx), so up to 3 standardized mini-shields can coexist without stacking.
Tested + working shields so far:
MicroSD
Bistable graphics display
Next:
Low power TDMA wireless (ANT AP2)
Please let me know your thoughts / suggestions and any mistakes that jump out at you, before I make the boards
mosquino.pdf (98.2 KB)