Recommendation: Low power microcontroller for battery powered logger

Hi All,

I'm after a recommendation for a microcontroller with the following features:

Needed:

- 3.3V

- in circuit programming

- I2C I/O

- low power sleep mode

Wanted:

- cheap / free compiler

- on board RAM / EEPROM / Flash memory for logging (64K min)

What I'm trying to do: Log measurements from a sensor IC that communicates via I2C.

Cheers Ross

Reply to
geomet
Loading thread data ...

You might find it cheaper/easier to use off-chip SO8 storage, as 64K bumps you into the larger packages, and uC are not really self-write energy optimized.

Does it need 32KHz time-stamp, or is an on-chip Osc ok ?

Once you have external memory, any of the usual suspects would do : TI MSP430, Silabs C8051F, FreeScale RS08B, Atmel Picopower, microchip.... etc

-jg

Reply to
-jg

We have been doing just that recently using our Armaide development system with both the LPC2106 and LPC2148 QuickStart boards from Embedded Artists and the LPC2103 ARMmite board from CoridiumCorp. Links to all of these are on our website (details below)

You can either use the Armaide In-Application (IAP) programming library to use the IAP features of the LPC family to write to unused flash ROM (The LPC2148 has a total of 512Kb of flash ROM) on the MCU or you can use I2C to write to I2C EEPROMs.

We are working on the I2C libraries of Armaide right now and have so far successfully:

a) written to / read from the on-board (but limited in size) I2C EEPROM on the EA boards b) written to / read from a Microchip 24LC256 32Kx8 I2C EEPROM. Up to eight of these can be used to give a total of 256Kb of storage. c) read from an HMC6352 digital compass

The user-callable I2C functions in Armaide are straightforward:

PROCEDURE Read(address: INTEGER; CONST params: ; VAR data: );

PROCEDURE Ready(address: INTEGER): INTEGER;

PROCEDURE Write(address: INTEGER; CONST params, data: );

As Armaide uses the Oberon-07 programming language it already knows how many bytes there are in each data type so (conveniently) there is no need to pass any 'byte count' parameters.

The two editions of Armaide (Standard / Professional Edition) cost $69 / $149 respectively which should satisfy your 'cheap' requirement. You can download an evaluation copy from:

formatting link

-- Chris Burrows CFB Software Armaide: ARM Integrated Development Environment

formatting link

Reply to
Chris Burrows

You can use external Flash memory, e.g. this one:

formatting link

There are many microcontroller companies, which provides free C compilers, e.g. Microchip and Cypress.

--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

Been there, done that. Used an MSP430 and SD card for the logging.

If you want to log to the onboard flash memory, you'll be more limited with the MSP430 series.

I use the Imagecraft compiler. About $250. Good technical support and prompt response to problems. Another $100 gets you the NoIce debugger. Very handy and well supported. Unless you alread have a JTAG system, plan on another $100 for a USB-JTAG interface for programming and debugging.

I don't know if a total cost of ~$350 counts as cheap for you--- but I made that back on my first project and put money in the bank!

Mark Borgerson

Reply to
Mark Borgerson

Cheers for all the replies, been a while since I've done any embedded stuff.

I want to log at an interval anywhere from 1s to 1hr. So the 32kHz resolution is not necessary, but I have thought about just using a

32kHz crystal with the onboard timer, did this once with a pic in uni iirc. First look at the MSP430 and it seems to fit the bill, haven't checked out the others yet.

Thanks for the links to the Armaide compiler and the QuickStart boards... You have actually almost nailed what I am trying to do - read from a HMR6343 magnetometer and store the results in EEPROM :)

Reply to
geomet

yep $350 is definitely cheap enough... last commercial compiler i used was > $1000 ...

Reply to
geomet

AVR processors have low power modes and there is a free compiler available.

A In System Programmer can be built your self or a cheap one can be purchased from Digikey.

WINAVR compiler FREE AVR Studio IDE FREE AVR ISP mk II $35

hamiltom

Reply to
hamilton

Does that include a debugger with the ability to set breakpoints, single-step, examine variables and registers, etc. ? I plead woeful ignorance as to the components and functionality of the AVR Studio.

Mark Borgerson

Reply to
Mark Borgerson

Yes, the AVR Studio has full debugging and simulation.

For the full debugger, you would need to get the AVR Dragon emulator ( Digikey $51)

The compiler and AVR Studio can be downloaded for free and can be installed, compiling and simulating with in an hour.

Best deal I have found for micro development.

To give credit to Microchip, MPLAB is also free and comes with a free compiler.

However, the PIC18 family compiler is a limited code space version (student). And the PICKIT3 ISP is a little more expensive ( Digikey $70)

I use both AVR and PIC18 processors in my products.

hamilton

Reply to
hamilton

FYI:

formatting link

Reply to
hamilton

If you're really strapped for cash, you can use mspgcc ($0) and a parallel-port JTAG adapter ($16). Total cost: $16.

Third-party USB-JTAG adapters for the MSP430 can be had for around $75.

--
Grant Edwards               grant.b.edwards        Yow! My mind is making
                                  at               ashtrays in Dayton ...
                              gmail.com
Reply to
Grant Edwards

geomet skrev:

While you can store I2C info in most AVRs, it is probably going to be cheaper to have an external EEPROM.

The ATmega48PA will do what you want at very low power in sleep as well as in operation. If you insist on internal memory, then you can use the self write capability of the AVR and write to the flash. The ATmega644P could then be a good choice. 44 pin package.

Most AVR's are supported by a free gcc compiler (WinAVR)

The AVR Dragon will provide ISP as well as debugging for up to 32 kB of code at very low cost. Otherwise the STK500 is a nice low cost board.

BR Ulf Samuelsson

Reply to
Ulf Samuelsson

I think I will use external memory now. AVR Dragon is nice, maybe a little big for final design but could be good for prototypes... So AVR Studio has some debugging via JTAG for any board with JTAG not just AVR Dragon?

... Would be nice if there was a wiki out there with reference designs for all types of applications :)

Reply to
geomet

Ross, you could prototype this using the Arduino environment, using open-source s/w.

Later, you could implement using a standalone AVR mcu if desired.

Reply to
Win7

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.