Metaboard: Unterschied zwischen den Versionen
(23 dazwischenliegende Versionen von 13 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
+ | {{Languages|en}} | ||
= What is Metaboard? = | = What is Metaboard? = | ||
− | [[Bild:Metaboard-photo-250.jpg| | + | <div class="tright" style="clear:none">[[Bild:Metaboard-photo-250.jpg|thumbnail|Metaboard]]</div> |
− | Metaboard is a USB based prototyping board for Atmel's AVR microcontrollers. It is designed to be (mostly) compatible with [http://www.arduino.cc/ Arduino]. | + | Metaboard is a USB based prototyping board for Atmel's AVR microcontrollers. It is designed to be (mostly) compatible with [http://www.arduino.cc/ Arduino]. Its entire design (hardware and firmware) is Open Source. |
+ | <br style="clear:both"/> | ||
= Design Goals = | = Design Goals = | ||
Zeile 7: | Zeile 9: | ||
* Low complexity and thus extremely low price. | * Low complexity and thus extremely low price. | ||
* Single sided PCB so that the board can be manufactured at home. If professionally manufactured, a single sided board is still cheaper. | * Single sided PCB so that the board can be manufactured at home. If professionally manufactured, a single sided board is still cheaper. | ||
− | * No SMD components. Easy to | + | * No SMD components. Easy to assemble at home. |
* (Mostly) compatible with [http://www.arduino.cc/ Arduino] in board dimension and connector layout. Can also be programmed by Arduino's development environment via USB. | * (Mostly) compatible with [http://www.arduino.cc/ Arduino] in board dimension and connector layout. Can also be programmed by Arduino's development environment via USB. | ||
* No upfront investment for development environment or programmer hardware. | * No upfront investment for development environment or programmer hardware. | ||
Zeile 18: | Zeile 20: | ||
The most recent version of Metaboard can always be obtained via SVN from https://whatever.metalab.at/user/cs/metaboard/trunk. | The most recent version of Metaboard can always be obtained via SVN from https://whatever.metalab.at/user/cs/metaboard/trunk. | ||
+ | |||
+ | A read-made package with PNG images for board schematics, layout and component side can be downloaded here. | ||
+ | |||
+ | '''Download:''' [[Media:metaboard-1.0.zip|metaboard-1.0.zip]] | ||
= Firmware = | = Firmware = | ||
Zeile 32: | Zeile 38: | ||
Example projects based on GCC can be found at http://www.obdev.at/avrusb/. Since these examples have not been developed for Metaboard, they must be modified with Metaboard's pin assignments and clock rate. | Example projects based on GCC can be found at http://www.obdev.at/avrusb/. Since these examples have not been developed for Metaboard, they must be modified with Metaboard's pin assignments and clock rate. | ||
− | All resources related to Arduino can be found at http://www.arduino.cc/. | + | All resources related to Arduino can be found at http://www.arduino.cc/. If you want to use the USB port from within the Arduino development environment, see the following project log: http://code.rancidbacon.com/ProjectLogArduinoUSB. |
= Metaboard for Arduino Users = | = Metaboard for Arduino Users = | ||
Zeile 54: | Zeile 60: | ||
metaboard.build.f_cpu=16000000L | metaboard.build.f_cpu=16000000L | ||
metaboard.build.core=arduino | metaboard.build.core=arduino | ||
+ | |||
+ | metaboard.upload.disable_flushing=true | ||
############################################################## | ############################################################## | ||
− | Since Arduino insists on having a serial line to upload the firmware (although none is needed for usbasp), you may have to edit Arduino's preferences.txt file manually and set the variable serial.port to an existing device. Preferences.txt is in ~/Library/Arduino on the Mac. | + | Since Arduino insists on having a serial line to upload the firmware (although none is needed for usbasp), you may have to edit Arduino's preferences.txt file manually and set the variable serial.port to an existing device. Preferences.txt is in ~/Library/Arduino on the Mac. '''Updated feb. 2010:''' Should now work without any problems, with the disable_flushing-option |
+ | |||
+ | = Projects based on Metaboard = | ||
+ | {| width=70% | ||
+ | | width=140 | [[Bild:Avrprog-metaboard-photo-250.jpg|border|left|128px|AVRProg]] | ||
+ | | '''[[Avrprog-metaboard|AVRProg]]''' is an In System Programmer (ISP) for AVR microcontrollers. It includes programming sockets for 8, 20 and 28 pin devices. | ||
+ | |} | ||
+ | |||
+ | '''[[Metaboard/2010 activities]]''' is centered around extending the metaboard for home automation tasks. | ||
+ | |||
+ | '''[http://www.makehackvoid.com/group-projects/mhvboard-arduino-clone MHVBoard]''' is a Metaboard clone with some extensions. | ||
__NOTOC__ | __NOTOC__ | ||
+ | |||
+ | |||
+ | [[Kategorie:Projekte]] | ||
+ | [[Kategorie:Arduino]] |
Aktuelle Version vom 21. Januar 2013, 22:28 Uhr
Language: | English |
---|
What is Metaboard?
Metaboard is a USB based prototyping board for Atmel's AVR microcontrollers. It is designed to be (mostly) compatible with Arduino. Its entire design (hardware and firmware) is Open Source.
Design Goals
- Low complexity and thus extremely low price.
- Single sided PCB so that the board can be manufactured at home. If professionally manufactured, a single sided board is still cheaper.
- No SMD components. Easy to assemble at home.
- (Mostly) compatible with Arduino in board dimension and connector layout. Can also be programmed by Arduino's development environment via USB.
- No upfront investment for development environment or programmer hardware.
- Breadboard area on board.
- Completely Open Source.
Hardware
Since USB is implemented in firmware, no special USB driver chip is needed. Circuit diagram:
The most recent version of Metaboard can always be obtained via SVN from https://whatever.metalab.at/user/cs/metaboard/trunk.
A read-made package with PNG images for board schematics, layout and component side can be downloaded here.
Download: metaboard-1.0.zip
Firmware
Metaboard is best used with USBaspLoader. This is a boot loader which emulates USBasp, a USB based AVR programmer. The main firmware loaded with this boot loader is your business, of course.
Development Resources
Metaboard can either be used with the free GCC tool chain or with Arduino's free Integrated Development Environment. Arduino offers a set of example projects, documentation and a user community which is especially helpful for the beginner. Since Metaboard is not entirely equivalent to the Arduino board, not all example projects can be used out of the box. We plan to offer example projects made especially for Metaboard.
The GCC toolchain can be dowloaded from:
- Windows: http://winavr.sourceforge.net/
- Mac OS X: http://www.obdev.at/avrmacpack/
- Linux and other Unixes: See http://www.nongnu.org/avr-libc/user-manual/install_tools.html
Example projects based on GCC can be found at http://www.obdev.at/avrusb/. Since these examples have not been developed for Metaboard, they must be modified with Metaboard's pin assignments and clock rate.
All resources related to Arduino can be found at http://www.arduino.cc/. If you want to use the USB port from within the Arduino development environment, see the following project log: http://code.rancidbacon.com/ProjectLogArduinoUSB.
Metaboard for Arduino Users
Metaboard has been designed to be mostly compatible with Arduino, but there are relevant differences:
- Connector position: All connectors are on 2.54 mm grid positions so that extension circuits can be easily built on breadboard.
- Upload procedure: A jumper is used to select bootloader mode and the reset key must be pressed to activate the boot loader.
- Upload protocol: Metaboard emulates USBasp, not STK500.
- AVR's UART lines are not used for USB. This means that they can be used for other purposes, but also that debug output written to the UART cannot be directly received via USB.
In order to upload firmware from Arduino's IDE, the file hardware/boards.txt in Arduino's main folder must be changed. Add the following lines at the end of the file:
############################################################## metaboard.name=Metaboard metaboard.upload.protocol=usbasp metaboard.upload.maximum_size=14336 metaboard.upload.speed=19200 metaboard.build.mcu=atmega168 metaboard.build.f_cpu=16000000L metaboard.build.core=arduino metaboard.upload.disable_flushing=true ##############################################################
Since Arduino insists on having a serial line to upload the firmware (although none is needed for usbasp), you may have to edit Arduino's preferences.txt file manually and set the variable serial.port to an existing device. Preferences.txt is in ~/Library/Arduino on the Mac. Updated feb. 2010: Should now work without any problems, with the disable_flushing-option
Projects based on Metaboard
AVRProg is an In System Programmer (ISP) for AVR microcontrollers. It includes programming sockets for 8, 20 and 28 pin devices. |
Metaboard/2010 activities is centered around extending the metaboard for home automation tasks.
MHVBoard is a Metaboard clone with some extensions.