Learning   Examples | Foundations | Hacking | Links



  • 怎么写函数库: 创建函数库来扩展Arduino的功能。一步一步教你怎么从头写一个函数库。

  • 配置文件: Arduino的配置文件含有大量个性化编译及下载的选项。

  • 构建过程: 详细解释了程序是怎么一步步下载到Arduino板子上的。

  • 引导程序: 引导程序是Arduino板上的一小段能下载其它程序到板上运行的程序。Arduino板上已经自带了该程序。其它关于引导程序的操作可参考这个链接bootloading the Mini

  • Programmer: how to use the Arduino software with an hardware programmer (eliminating the need for the bootloader and saving program space on the chip).

  • Upgrading 8U2 Firmware upgrading the firmware of the Atmega8U2 chip on an Uno or Mega2560. This chip acts as the usb-to-serial converter and can be updated via USB.

  • Source: online browsing of the Arduino source code (on an external website)

  • Bugs: the current list of Arduino software bugs and planned enhancements (on an external website). Suggestions and bugs may be posted locally here. More detailed discussion of bugs can be found in the forum. Hardware Bugs, Software Bugs


  • Pin Mapping (ATmega8, ATmega168): a diagram showing the correspondence between the pins on an Arduino board and those of the ATmega8 or ATmega168 microcontroller.

  • NG Auto Reset: how to modify your Arduino NG so you can upload sketches with having to physically press the reset button on the board.

  • Parallel Programmer: instructions for making a cheap piece of hardware that lets you burn the bootloader to an Arduino board or upload sketches to a board with no bootloader (only works on computers with a parallel port).

  • Breadboard Circuit: instructions for replicating the circuit of an Arduino board on a breadboard.

Arduino is designed to be easily extensible, being based on standard and powerful components. This section of the site includes information on how Arduino works and ways you can extend it.

The Arduino hardware is based on Atmel's AVR microcontrollers, in particular the ATmega8, the ATmega168, the ATmega328, and the ATmega1280. Arduino sketches are C/C++ based and compiled with the open-source compiler avr-gcc and linked against the open-source AVR Libc. The Arduino language comes from Wiring. The Arduino environment is based on Processing and includes modifications made by Wiring.

Other tutorials for extending Arduino include:

Other resources:

  • AVR fuse calculator: useful for figuring out which fuse settings to use for custom circuits.

  • Minty Boost process: no microcontroller, but a great explanation on how to put together a kit, from idea to product.