<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://w.electrodragon.com/w/index.php?action=history&amp;feed=atom&amp;title=DIY_Arduino</id>
	<title>DIY Arduino - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://w.electrodragon.com/w/index.php?action=history&amp;feed=atom&amp;title=DIY_Arduino"/>
	<link rel="alternate" type="text/html" href="https://w.electrodragon.com/w/index.php?title=DIY_Arduino&amp;action=history"/>
	<updated>2026-06-08T14:56:51Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.2</generator>
	<entry>
		<id>https://w.electrodragon.com/w/index.php?title=DIY_Arduino&amp;diff=27676&amp;oldid=prev</id>
		<title>Chao at 04:21, 28 July 2020</title>
		<link rel="alternate" type="text/html" href="https://w.electrodragon.com/w/index.php?title=DIY_Arduino&amp;diff=27676&amp;oldid=prev"/>
		<updated>2020-07-28T04:21:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Basic Minimal Arduino With Crystal ==&lt;br /&gt;
===BOM===&lt;br /&gt;
* [http://www.electrodragon.com/?s=atmega+8&amp;amp;post_type=product Atmega8L-8PU cost $1.3 from us(Atmega8-16PU, Atmega8A-PU, etc should all works)]&lt;br /&gt;
* [http://www.electrodragon.com/?product=8051-avr-mcu-programmer-usbasp USBASP] and [http://www.electrodragon.com/?product=avr-atmel-isp-10-to-6-pins-converter-for-any-programmers-and-arduino 10-6 Pin Convert]&lt;br /&gt;
* [http://www.electrodragon.com/?product=11-0592mhz-crystal-oscillator Crystal 16Mhz]&lt;br /&gt;
* Capacitor 22pf *2&lt;br /&gt;
* [http://www.electrodragon.com/?product=flexible-wires Jumper wires kit]&amp;lt;br /&amp;gt;&lt;br /&gt;
* [http://www.electrodragon.com/?product_cat=proto-board Breadboard]&lt;br /&gt;
For further LED sketch testing:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.electrodragon.com/?product=40pcs-3mm-led-regular-color-variable-color-redgreenyellowblue LEDs]&lt;br /&gt;
* [http://www.electrodragon.com/?product=14w-resistor-kit-accuracy-in-1-2020pcs Resistor Kit]&lt;br /&gt;
[[File:Minimal Arduino Kit.JPG|500px]]&lt;br /&gt;
=== Wiring ===&lt;br /&gt;
==== Understand the pins ====&lt;br /&gt;
The pins of atmega 8 / 168 /328 are the same, the only difference is the Flash size.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Atmega168PinMap2.png|500px]]&lt;br /&gt;
==== Connecting ====&lt;br /&gt;
From USBASP to IC (atmega8)&lt;br /&gt;
* VCC to VCC (7) + AVCC (20)&lt;br /&gt;
* GND to GND (8) + GND (22)&lt;br /&gt;
* SCK to SCK (13)&lt;br /&gt;
* MISO to MISO (12)&lt;br /&gt;
* MOSI to MOSI (11)&lt;br /&gt;
* Reset to Reset&lt;br /&gt;
* Cystal to Pin 9 and 10, add two Capacitor 22pf to GND&lt;br /&gt;
For the pins on IC on breadboard:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Crystal_connect.jpg|400px]]&lt;br /&gt;
For the pins on USBASP:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:AVR-ICSP.gif]]&amp;lt;br /&amp;gt;&lt;br /&gt;
And it should finally looks like this:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Wiring_arduino.JPG|400px]][[File:Minimal_arduino.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Burn Bootloader ===&lt;br /&gt;
After made the good wiring, choose the Arduino NG as board, and USBASP as programmer, click burn and finish.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Choose_board.jpg&lt;br /&gt;
File:Choose_programmer.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== uploading demo sketch ===&lt;br /&gt;
After you finish burning the bootloader, now you can add the testing LEDs and relevant resistor 220R, after you add it, the LED should stay off just after the new bootloader.&lt;br /&gt;
* Choose Blink Sketch&lt;br /&gt;
* Use &amp;quot;programmer&amp;quot; to upload sketch&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Blink_sketch.jpg&lt;br /&gt;
File:Use_programmer_to_upload_sketch.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
* Well Done&lt;br /&gt;
[[File:Testing_sketch.JPG|400px]]&lt;br /&gt;
=== Futher Note ===&lt;br /&gt;
* Add 105 capacitor between VCC and GDN will make the system more stable.&lt;br /&gt;
=== Other Version ===&lt;br /&gt;
Standalone arduino on mini breadboard:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Standalone-arduino-kit.jpg]]&lt;br /&gt;
== Basic Minimal Arduino Without Crystal ==&lt;br /&gt;
=== Key features ===&lt;br /&gt;
* It relies on the internal 8MHz oscillator (like the Lilypad Arduino).  &lt;br /&gt;
* You will need an extra FT232 Programmer to download sketch&lt;br /&gt;
=== Differences with Arduino NG ===&lt;br /&gt;
So a modified Arduino bootloader needs to be programmed into the ATmega8.  The bootloader is a small program on the chip that listens to the serial port on power up and can reprogram the rest of the chip if instructed to.  Here, a variant of the standard “Arduino NG” bootloader is used.  The modifications are:&lt;br /&gt;
- uses internal 8MHz oscillator (no external part required)&lt;br /&gt;
- serial speed is 38400 instead of 19200 for faster uploads&lt;br /&gt;
&lt;br /&gt;
=== Fuse Set ===&lt;br /&gt;
You can use this calculator to find the fuse for this internal used crystal - http://www.engbedded.com/fusecalc&lt;br /&gt;
&lt;br /&gt;
=== BootLoader for Minimal Arduino ===&lt;br /&gt;
Files for Minimal Arduino ATmega8 bootloader:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- [[:File:Atmega8_noxtal.zip|atmega8_noxtal.zip]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Unzip this file into the “arduino-0015/hardware/bootloaders” directory of your Arduino installation to create the directory “atmega8_noxtal”. The zip file contains:&amp;lt;br /&amp;gt;&lt;br /&gt;
- ATmegaBOOT.hex — the actual bootloader to program&amp;lt;br /&amp;gt;&lt;br /&gt;
- ATmegaBoot.c — the source code of the bootloader&amp;lt;br /&amp;gt;&lt;br /&gt;
- Makefile — Makefile to produce &amp;amp; program the bootloader&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Burning Bootloader ===&lt;br /&gt;
The next time you start up the Arduino software, you should have a new entry of “ATmega8-noxtal @8MHz” in the “Boards” menu. It will look something like this:&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Arduino-boards-menu.jpg]]&lt;br /&gt;
From this point you could burn the bootloader onto the ATmega8 chip by going to the “Burn Bootloader” menu and selecting “w/ AVRISP mkII”.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Arduino-burn-bootloader.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Configuring Boards.txt For Arduino IDE===&lt;br /&gt;
Because this minimal Arduino setup isn’t exactly like any other previous Arduino boards, we need to tell the Arduino software how to talk to it. In the Arduino directory, there is a file called “arduino-0015/hardware/boards.txt” that does this. Open that file in a text editor and add these lines to it:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ##############################################################&lt;br /&gt;
 &lt;br /&gt;
 atmega8noxtal.name=ATmega8-noxtal @8MHz&lt;br /&gt;
 &lt;br /&gt;
 atmega8noxtal.upload.protocol=stk500&lt;br /&gt;
 atmega8noxtal.upload.maximum_size=7168&lt;br /&gt;
 atmega8noxtal.upload.speed=38400&lt;br /&gt;
 &lt;br /&gt;
 atmega8noxtal.bootloader.low_fuses=0xe4&lt;br /&gt;
 atmega8noxtal.bootloader.high_fuses=0xc4&lt;br /&gt;
 atmega8noxtal.bootloader.path=atmega8_noxtal&lt;br /&gt;
 atmega8noxtal.bootloader.file=ATmegaBOOT.hex&lt;br /&gt;
 atmega8noxtal.bootloader.unlock_bits=0x3F&lt;br /&gt;
 atmega8noxtal.bootloader.lock_bits=0x0F&lt;br /&gt;
 &lt;br /&gt;
 atmega8noxtal.build.mcu=atmega8&lt;br /&gt;
 atmega8noxtal.build.f_cpu=8000000L&lt;br /&gt;
 atmega8noxtal.build.core=arduino&lt;br /&gt;
&lt;br /&gt;
=== Build ===&lt;br /&gt;
A normal Arduino board contains support components that make it easy to use. If you want a smaller footprint, you can get one of the many Arduino work-alike boards. But if you want a really small footprint, and reuse your old parts, you can make an Arduino board using just five components:&lt;br /&gt;
- ATmega8 chip&lt;br /&gt;
- single 10k resistor&lt;br /&gt;
- single 0.1uF capacitor&lt;br /&gt;
- tiny breadboard&lt;br /&gt;
- some hookup wire&lt;br /&gt;
&lt;br /&gt;
[[File:Minimal_atmega8_schematic.png|500px]]&lt;br /&gt;
&lt;br /&gt;
== How to find hex file as sketch, and upload to Arduino ==&lt;br /&gt;
* In the menu - &amp;quot;file&amp;quot; - &amp;quot;preference&amp;quot;, you can find a option called &amp;quot;show verbose output during&amp;quot; and select &amp;quot;compilation&amp;quot; and &amp;quot;uplaod&amp;quot;&lt;br /&gt;
* when you uploading, you should see the hex file in which directly, you any [[programmer]] tools like xloader to upload your hex file.&lt;br /&gt;
[[File:Find_hex_file_for_arduino.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category: Arduino HDK]]&lt;/div&gt;</summary>
		<author><name>Chao</name></author>
	</entry>
</feed>