1.8V Arduino w/ internal resonator?

Is it possible to use the Arduino system with a 1.8V 328 using the internal resonator? What frequency would be best? What kinds of changes would I have to make, code wise?

Thanks!

What did Atmel say about that?

Yes.

At 1.8 volts the maximum frequency is 4 MHz. If conserving energy is important, lower frequencies are better.

Add an entry to boards.txt.

[quote author=Coding Badly link=topic=128048.msg963356#msg963356 date=1350681198] If conserving energy is important, lower frequencies are better.[/quote]... unless you're spending most of your time sleeping. I suspect that running at a higher clock speed can allow you to complete your operations more quickly and get back to sleeping sooner, which may result in a net savings. I admit I have no hard data though.

Fredjikrang, see: http://arduino.cc/forum/index.php?topic=124879.0

You'll need to use the fuse calculator linked there to set the BOD to 1.8V (or off). If you want to run at 1MHz, you'll also need to set the internal RC oscillator CKDIV8. Otherwise the above writeup should guide you in the right direction.

And while we're on the topic of clock speeds and fuses, I have a question about the three SUT (Start Up Time) options: 6CK + 0ms, 6CK + 4.1ms, and 6CK + 65ms. What does "6 CK" mean and is it safe to use a +4.1ms setting with an 8MHz internal RC Oscillator? Seems like 65ms is an awfully long time to start up, which would waste a lot of battery power... but I guess it's not much of a savings if the +4.1ms setting introduced some kind of instability.

tylernt: [quote author=Coding Badly link=topic=128048.msg963356#msg963356 date=1350681198]If conserving energy is important, lower frequencies are better.

... unless you're spending most of your time sleeping. I suspect that running at a higher clock speed can allow you to complete your operations more quickly and get back to sleeping sooner, which may result in a net savings. I admit I have no hard data though.[/quote]

The theory is that there is a leakage loss when the processor is awake. Less time awake = less loss. The folks at avrfreaks.net have discussed it.

And while we're on the topic of clock speeds and fuses, I have a question about the three SUT (Start Up Time) options:

Don't we all. ;)

6CK + 0ms, 6CK + 4.1ms, and 6CK + 65ms. What does "6 CK" mean

Six clock cycles. I suspect it's a series of instructions the processor executes to wake-up.

and is it safe to use a +4.1ms setting with an 8MHz internal RC Oscillator?

"Safe" is a function of the power supply. The delay is meant to give the power supply time to stabilize. It's used in lieu of the BOD. If you know the supply will be stable when the processor wakes, short delays are safe. Or, if you use the BOD than the delay is not necessary. (At least that's my understanding from the datasheet description.)

Ah, so 4.1ms should be pretty safe if I throw a great big capacitor between VCC and GND. Cool.

I suspect that running at a higher clock speed can allow you to complete your operations more quickly and get back to sleeping sooner, which may result in a net savings.

That's the TI argument that I subscribe to. But it is based on the assumption that your (crystal) oscillator starts right away ("instant on", as TI would call it). Unfortunately, no one other than TI has cracked that in the '430 family. Energy Micro or the new chip from Freescale are catching up.

So in timing insensitive applications (where you can run RC oscillators), it is indeed to be beneficial to run at higher frequencies (within reason).

Addendum: The start-up delay is also used to ensure the clock is stable. You will have to consult the datasheet about the internal oscillator’s start-up time. I suspect setting the fuses to “internal oscillator” forces a reasonable subset of start-up times; in which case you needn’t worry about it.

Cool, thanks! I'll have a go at that, I think, and see how it goes!

[quote author=Coding Badly link=topic=128048.msg963429#msg963429 date=1350685402] Addendum: The start-up delay is also used to ensure the clock is stable. You will have to consult the datasheet [/quote]

If I read Table 8-12 on page 33 right, it looks like the SUT delays are not used when coming out of powersave on an internal RC oscillator; only a fixed 6 clock cycle delay is used when waking up. So it seems I'm not wasting any battery power by sleeping and using the 65ms SUT.

But, it's conceivable that if you try to Serial.print straight after coming out of powersave, you may confuse the receiving UART with excessive clock slew. If this is important to you may want to do some testing. In my own sketch I wake up, do a digitalRead, and then Serial.print with no problems so maybe digitalRead's slow performance is an asset here. ;)