Need advice on creating a "selfmade arduino" board

Hi!

The thing is that my wife bought me an Arduino Uno as a present and I've been playing aroud with it for a while and everything has been fine.

What I have created is a device that reads information from analogue input(thermal sensor) and it features 1 digital input(basically an internal program reset) and 2 digital output(a blinking LED and a piezzoelectric speaker for alarm)

The programm is ready and everything runs fine from the arduino board itself but I do not want to use the board itself in the device...

Could I buy the same atmega chip as there is on my arduino board, programm a bootloader inside it using a parallel programmer for example, then plug that chip inside arduino, and actually burn the programm onto the new chip.

So the question is - what to do with that "new" chip? Could I purchase one of those RBBB setups, plug in my preprogrammed, second chip and use that board for my device or what?

What are my options? :slight_smile:

Big thanks!

Yes, you can. The magic words to search for are:
Breadboard Arduino
Stand alone Arduino

You'll find a few tutorials how to roll your own which will answer all your questions better than I could. The step from a breadboard to your own circuit should be rather obvious afterwards.

You'll also find a few threads on this board about this.

As a side note, if your needs are simple, you have the option to move to smaller and cheaper versions of the Atmega chip.

Korman

I see. But If I understand correctly, then Arduino is the whole system... but can a programmed chip act as a standalone? For example I burn in the arduino bootloader, put the chip into the board, burn the programm inside it.

Do I really need to make a whole arduino board for that second chip or can I got with just basic components(like power regulator and oscillator) or the whole arduino part will not be able to function without proper hardware that is on board?

Also - Is it possible to programm cheaper(the atmega328 costs only about 4$ so it's no biggy) using the arduino uno board or do I need to programm it using some kind of ISP programmer?

About using your Arduino as an ISP programmer to flash other ATmega chips, here's another set of magic words for your favourite search engine:

Arduino ISP programmer

All is explained on the links found there, I'm really too lazy to replicate it here.

About the Arduino solution, it's basically just a rather simple reference implementation for an ATmega processor, a bootloader to allow programming via Serial, an IDE hiding a set of standard tools to write programs for the ATmega processors and a simple program framework. None of this particularly creative or difficult, but in sum it gives a very good package that allow to dive into microprocessors easily without hassles. But any of these parts mentioned above can be adapted as needed and there's no need to use part A if you just need Part B and have a better way for you do do the other tasks.

In sum, don't be so fixated on replacing the processor on your motherboard, just program the new processor via the Duemilanove.

Korman

I own the Uno which cannot be used as an ISP programmer yet...

So if I understand correctly- a standalone, programmed Atmeda328 chip can perform the same functions as it would do plugged in on an arduino board?

so basically the board gives the chip USB/Serial I/O and power?

Yes, more or less. It provides power and a clock crystal. The TTL-serial to USB is already optional and not implemented on all flavours of Arduino boards. For those, you attach a USB-to-TTL module to I/O Pin 0 and 1.

About the Uno, check if the new USB-to-TTL serial chip is involved when using the Arduino as ISP programmer. I haven't looked into that deeply, but it might just not matter.

Beside this, the Duemilanove and Uno are pretty similar. Best download the circuit diagrams of the Uno, the Duemilanove and the Pro mini (that's one without USB) and compare them. They're really simple, it's mostly just the ATmega chip sitting in the middle and one or two components attached to one or the other pin.

Korman

Thanks :slight_smile:

So basically if I burn the Uno with the Diec..whatever or Due..whatever bootloader and use it to programm an external atmega chip with its own clock, then I get a working chip which just needs to be hooked up with its own clock, power regulator and i have the module i need? :slight_smile:

I'm not aware, that bootloader for the Uno is much different from the on for the Duemilanove. As I wrote above, the main difference between the Duemilanove is the USB-to-TTL serial converter circuit used. Before they were using a FTDI-chip, now some Atmel one. The application part stayed pretty much the same. Really, you should look at the circuit diagrams of the products mentioned above, it explains a lot.

Korman

I'm not aware, that bootloader for the Uno is much different from the on for the Duemilanove.

It runs the optiboot bootloader.

Mowcius

Oh, I missed that one. Ok, in that case, it won’t work until that’s solved.

Korman

Regarding creating your own board, take a look at this for ideas:

http://www.duinoaday.co.uk/hardware.html

Mowcius

Thank you for your replies gentlemen :wink:

Please correct me if I am wrong:

*) I get a chip with a pre-burned optiboot bootloader
*) I programm it WITH the Uno
*) I put it on a breadboard, add all the necessary components, build the prototype
*) I solder everything on a PCB
*) I get my product :slight_smile:

*) I get a chip with a pre-burned optiboot bootloader
*) I programm it WITH the Uno
*) I put it on a breadboard, add all the necessary components, build the prototype
*) I solder everything on a PCB
*) I get my product

Sounds about right :slight_smile:

Mowcius

*) I solder everything on a PCB

If you are comfortable with soldering, you may like to check out my step by step guide to build a standalone on perfboard, it may help as an interim for prototyping circuits.

It is similar to the boarduino and can be inserted in a breadboard as built or hardwired from the pins later on.

Here is a link to my first version, which failed but is good learning info
Perfboard Standalone I
and here is the working version, with a step by step guide to building your own.
Perfboard Standalone II

Hope that helps.

Boz