I seek advice from more experienced designers on an idea I had recently.
I'm looking for a way to minimize idle power in an Arduino-Nano based design (DIYino - DIYino - an Arduino compatible board for prop electronics - Products and Services - Arduino Forum). The v1 works fine, now I'm designing a v2.
The main current drawers are:
LDO - but I can use a micro power 5V LDO in steas of the 7805
AVR - can be put to sleep mode, consuming practically nothnig
audio amp (IC5) - can be shut down
FTDI (IC2): there I have the problem, it has no idle/sleep mode and it does never enter USB suspend mode for whatever reason I had not been able to find out
YX5200 MP3 chip (IC3) - it is supposed to have a sleep mode, but so far I had no luck reducing current using it... so it's dubious if it's there at all.
Therefore my idea was to include 2 p-mosfet load swicthes coming from the LDO output (see dotted box in the middle of the attached PDF schematics), with source connected to the FTDI and IC3 5V supplies respectively.
With this I also pursue another design goal: I want to short the USB port of the IC3 and IC2(FTDI), so when the FTDI is cut from power (label 5V_FTDI) I can access the SD-card over USB, and vice versa when the IC3 is unpowered (label 5V_MP3), I can download code via FTDI.
So far the idea, the question is, do I overlook something obvious? Would this work?
DIYino_Prime_v2.pdf (139 KB)
Why not make the FTDI an external module? Only plug it onto the board when PC connectivity is needed. Like a ProMini.
When connected to a PC, there is no need for low power mode as that's when your downloading or debugging or something.
I don't know what unpowered devices will do to the D+/D- signals. I imagine you'd have some signal problems there.
A USB signal switch may be needed so the unpowered lines are isolated.
CrossRoads:
Why not make the FTDI an external module? Only plug it onto the board when PC connectivity is needed. Like a ProMini.
When connected to a PC, there is no need for low power mode as that's when your downloading or debugging or something.
I don't know what unpowered devices will do to the D+/D- signals. I imagine you'd have some signal problems there.
A USB signal switch may be needed so the unpowered lines are isolated.
Hi CrossRoads,
I know fully about the ProMini, and a lighter Version of my Code will use that Approach probably, but in certain application with the DIYino guys want to have Access to program via USB directly.
BUT while searching for a LiPo/LiIon charger chip I stumbled upon the LilyPadUSB design, which uses the Atmega32U4. I mean OMG!!!!!!!!!!!!!!
Could it be the AVR chip I have been looking for all the while? It has USB port and each has a bootloader included already.
That means for me (and please feel free to correct me if I get carried away and overlook something obvious):
- I do not Need an FTDI chip
- I can program the on-chip Flash with the Arduino IDE directly therefore from USB to AVR
- I do not Need to have breakout Signals for bootloader programming
- saves a lot of mondey and space on the board (no expensive FTDI)
- has some extra SRAM space for variables compared to Atmega328P (2.5k instead of 2k)
- same low power Option
If it really as good as it Looks like then I will redesign my DIYino board with this AVR. It is amazing!