Take the 2-minute tour ×
Arduino Stack Exchange is a question and answer site for developers of open-source hardware and software that is compatible with Arduino. It's 100% free, no registration required.

I am developing a product, and to ease my job i am planning to use MCU inside the arduino with the library of Arduino.

Since all the registers are already defined inside the library, and all required things to registers of corresponding MCU are done to "make a pin input/output , enable interrupt , enable UART , enable I2C". I think that i can directly use the arduino coding enviroment even if i use MCU seperately.

Is it possible and how? (can i use it in commertial product, i have already prototyped it with arduino)

share|improve this question

3 Answers 3

Yes, you can. Once you have a .hex file for a specific MCU and environment you can use a programmer to upload it to a discrete MCU.

share|improve this answer
    
Does arduino coding enviroment generate Hex file? Normally i was Pic, Intel user however, i did not see the compiler generate hex file. Should i need to use just its library and insert into another coding environment and how? –  kara Feb 11 at 1:11
    
Other questions on this site discuss both the .hex file and the use of alternate development environments. –  Ignacio Vazquez-Abrams Feb 11 at 1:15
    
Actually, i am not asking hex file issue, i am asking that if we use USB-serial circutry, and just burn bootloader to the MCU via this then just upload the code we wrote... doesn't it work for all arduino used MCU's ?? –  kara Feb 11 at 1:27
    
Why would you add the cost of a serial interface to your product instead of using the built-in ISP capability? –  Ignacio Vazquez-Abrams Feb 11 at 1:29
    
Yes actually, i can use my arduino to code the MCU... –  kara Feb 11 at 1:33

Ignacio said everything is needed. Just search on google :) You can use programmer like khazama.

Also you can use arduino board to program atmel chips. Using an Arduino as an AVR ISP

And now you need only .hex file to upload to your chip

How to find .HEX

I just want to point out one thing. Do not play with lock bits:)

share|improve this answer
    
@PeterR.Bloomfield :)) –  Martynas Feb 11 at 11:59
    
I know khazama. Such uploaders also used for PIC microcontrollers 16F877 etc. I have already used them, but i am planning to use the chip in arduino MEGA or Leonardo, which are surface mount... Therefore, it seems that i need to use ISP... –  kara Feb 12 at 2:35
    
Thats not right. You can use USB-TTL converter like it is done in Arduino. There are many schematics and tutorials how to write bootloader and so on. Surface mount you mean mega2560 TQFP package? I do not understand your argument. –  Martynas Feb 12 at 6:05

You can program an AVR microcontroller easily with an existing Arduino as the programmer. AFAIK there's no easy way around SMD packages. The last time I've gotten them, I have to solder programming wires on them before placing it on the board. If you have space, you can also wire the ISP pins to a connector on the board.

In any case, here are the steps to program your chip, whether DIP or SMD.

  1. Upload the Arduino ISP Sketch to your Arduino board's MCU.
  2. Wire up the Vcc and GND, and the SPI pins (MOSI,MISO,SCL). (The wiring is actually described in the comment section of the sketch. As for the pin out on the ATmega328, go to page 3. You can find similar datasheets if you're using other MCUs.)
  3. Write your code
  4. Click "File>Upload using programmer" or just press Ctrl + Shift + U.
  5. Done!

I think most AVR MCUs come with an internal calibrated resonator, but if you want to drive it at a higher speed (16MHz/20MHz...) you will need to connect the MCU to a crystal oscillator. As always, refer to the datasheet. ;-)

Here's another link you can refer to: link

Hope this helps.

share|improve this answer
    
Thanks for you answer –  kara Feb 13 at 20:40

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.