The Artima Developer Community
Sponsored Link

Java Buzz Forum
Arduino, an open-source platform, Pt.3: ATmega 8 / 168 internal clock and fuse settings

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Wolf Paulus

Posts: 692
Nickname: wolfpaulus
Registered: Jan, 2004

Wolf Paulus is an experienced software developer focusing on Java, XML, Mac OS X, wireless/mobile ..
Arduino, an open-source platform, Pt.3: ATmega 8 / 168 internal clock and fuse settings Posted: Dec 28, 2006 4:09 PM
Reply to this message Reply

This post originated from an RSS feed registered with Java Buzz by Wolf Paulus.
Original Post: Arduino, an open-source platform, Pt.3: ATmega 8 / 168 internal clock and fuse settings
Feed Title: Wolf's Web Journal
Feed URL: http://wolfpaulus.com/feed/
Feed Description: Journal - dedicated to excellence, and motivated by enthusiasm to trying new things
Latest Java Buzz Posts
Latest Java Buzz Posts by Wolf Paulus
Latest Posts From Wolf's Web Journal

Advertisement
Considering the already low price of the Arduino board, building an Arduino-like board yourself probably doesn't save you any money but is certainly a fun and education project to do.
I tried to make the simple board even simpler, by using a Serial instead of an USB Port, the ATmega's internal clock instead of an external crystal, and requiring 5 VDC instead of providing any kind of power regulation. However, my board does expose the 6 header ICSP, equivalent to the one available on the original Arduino NG Board.
RadioShack's Multipurpose 417 Holes $1.79 PC Board (Model: 276-150 Catalog: 276-150) built a great starting point for this electronics project, which was obviously inspired by Tom Igoe's 'Arduino Breadboard'.
my simple and cheap arduino board
After soldering the components onto the board and checking all joints, it was time to put the Arduino bootloader into the Flash Ram, which raised a couple system / software related questions I hadn't thought much about before:
  • To be able to use either the ATmega8, which is used on the original Arduino, or the pin compatible ATmega168 microcontroller, which offers twice the amount of internal RAM, I had put a 28-Pin DIP Socket on the board. While the original Arduino board uses an 16.0MHz external crystal, my board relies on the internal clock, which for the ATmega8 means a 1.0MHz Internal RC Oscillator (slowly rising power) and for the ATmega168 an 8.0MHz internal RC oscillator, which by default however gets divided by 8, resulting in 1.0MHz system clock. How could I address the speed difference, to keep software changes to a minimum?
  • Since this obviously involved messing with the ATmega's confusing fuse settings, what fuse bits do I have to adjust?
Let's address the last question first and take a look at the fuse bytes. The content of those fuse bytes persists reprogramming of the Flash memory and almost every bit in those fuse bytes represent some kind of status setting that configures the microcontroller, for instance to work in concert with other components on the board. Oddly enough, for all fuses '1' means unprogrammed while '0' means programmed.
Dig deeper ...

Read: Arduino, an open-source platform, Pt.3: ATmega 8 / 168 internal clock and fuse settings

Topic: Ant 1.7.0 Released, Breaks antdtd Task Previous Topic   Next Topic Topic: Time's Person of the Year: You

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use