Hi Guys!
My Name is Lukas, I am 22 years old and I am living in Austria.
I started my Arduino "Carreer" about 3 months ago. Before I have worked with a few Atmega's and the STK500. All coding was done in C. I also have some experience in Cortex M3 Controllers (Stellaris from TI). I really like these uC but for most of my projects they are a total overkill.
I am a big fan of the Arduino IDE and I like the straight forward process when starting a new project. You don't have to spend hours of datasheet reading for gaining knowledge on simple functions like I2C.
My new project wil contain some DS1820 some Analog Temperature Sensors , 16x2 LCD and a SD Card.
But first I want to do some Arduino Bootloader Testing on an Atmega8 in a TQFP Package.
I spent a couple of days googling around but it seems to me the more I read on the internet the more I get confused about the approach.
Let me summarize it:
I got a couple of Atmega8 in a TQFP package
I have an Arduino Uno Board and a STK500 from Atmel
I want to design a board with some peripherals and an USB jack for Uploading sketches
Ideally the bootloader should be programmed in Circuit (would include an ISP header)
My Idea would be: Design a Board with a basic Atmega8 circuit(16Mhz Crystal,Caps, etc.) , include an ISP Header for burning the bootloader with the STK500, include an USB Jack + an FTDI Chip for uploading the Sketches with the Arduino IDE.
Is this Idea realizable or do I make things even more complicated?
I would really appreciate some links to point my in the right direction or some literature containing some information for my project.
It seems to me I am looking on the wrong sites, sorry, maybe I will need some help from you guys
Thanks very much in advance!
You would help me a lot answering a one or two questions.
It is for an ATmega328P, but otherwise is similar to what you are looking for, a board design with a TQFP Atmel, ISP, and serial headers. I highly recommend you get Sparkfun's FTDI serial breakout, as it greatly simplifies serial communications in your own projects; no need to deal with USB to serial conversion yourself, and auto resets on upload.
Many of the components are actually optional if you know what you are doing. You don't need a resonator, and you don't need the serial header (you can upload sketches through ISP), although it helps with debugging, or if you need serial output from your project. The power supply is designed for running off AA batteries for low power standalone projects.
The bottom third of the schematic is project specific, so you can remove those and replace them with your own components.
An alternative solution would be to get an Arduino Pro Mini, which can be had very cheaply, and design a board around that.
Just to get an idea for expected cost, you can get 5 boards for $17 shipped from a hobbyist fab like Seeedstudio.
The idea sounds fine. Since Arduino is Open Source Hardware, the easiest thing to do is probably to start with one of the existing designs and start cutting out the pieces you don't need and adding new stuff that you do need. (Note that ATmega8 is pin-compatible with ATmega328, so you can start with any of the designs that use the same package: Uno SMD, lillypad, sparkfun pro mini, etc)
As Jin implies, if you include the ISP header, and have an ISP programmer, you can skip the bootloader entirely.
Thanks so much! Now things are a lot easier to understand for me.
The sample board from jin is exactly what I what to build.
So I think I am tweaking the schematic to my own needs.
I think I will add the USB Flashing capability, because then I have the chance to flash the bootloader via the ISP Jack and Upload the Sketches through USB from de Arduino IDE ... am I right?
But for now, I will use the standard In-Circuit-Programming to burn the hex file from the Arduino IDE, with the help of my STK500.
As I said, you will find it helpful to get an FTDI serial breakout board from Sparkfun. It handles the USB interfacing without you having to put the USB stuff on your board, just a six pin header.
Oh, and in regards to your comment about ICSP and burning hex files: the Arduino IDE can burn sketches through ISP by itself through a programmer, no need to use a separate program. The easiest way is to add your own boards.txt entry. See my project writeup linked to in the beforementioned thread. The workflow is then identical to burning through USB/serial, you just won't have a serial console.
No I will continue designing my board with the tips in my mind.
I will try the minimal Setup just with the ICSP Header and 16x2 Lcd and then take further steps.
Maybe I will post my final schematic in this thread to discuss some improvements if anybody is willing to review my file.
Maybe some Beginner in Arduino-Stand-Alone-Programming finds this also helpful.