Home * Hardware * Arduino
320px-Arduino_Mega.jpg

Arduino,
a family of open-source hardware single-board microcontrollers based on the Atmel 8-bit AVR RISC chips [1]. An important aspect of the Arduino is the standard way that connectors are exposed, allowing the CPU board to be connected to a variety of interchangeable add-on modules known as shields [2]. Some shields communicate with the Arduino board directly over various pins, but many shields are individually addressable via an I²C serial bus, allowing many shields to be stacked and used in parallel [3].

This page focuses on two boards with concrete computer chess applications.
Arduino Mega [4]

Arduino Uno

The Arduino Uno is based on the ATmega328 running at 16 MHz with 32 KiB ISP Flash memory with read-while-write capabilities, 1 KiB EEPROM, and 2 KiB SRAM. It has 14 digital input/output pins and six analog inputs and USB connection.

Arduino Mega

The 2009 released Arduino Mega uses the ATmega1280 [5], also running at 16 MHz, but with 128 KiB of Flash memory which 4 KiB used by bootloader, 8 KiB SRAM, and 4 KiB EEPROM. Arduino Mega has 54 digital input/output pins, 16 analog inputs, 4 UARTs, and USB connection.

Development

Arduino provides an integrated development environment running on a host computer, supporting the C/C++ based Arduino language [6]. Software written using Arduino language are called sketches, and undergoes minor changes like automatic generation of function prototypes during the build process, and then passed directly to a C/C++ compiler. All standard C and C++ constructs supported by AVR-g++ should work in Arduino. Alternatively, one may compile programs for the Arduino using AVR development tools, which requires configuration to link against the appropriate files in the Arduino core libraries [7].

Computer Chess

Arduino controllers are suitable to build a dedicated chess computer - to control a self-made sensory board [8], or even to run small chess programs.

Chess Programs

Micro-Max by Harm Geert Muller was aleady ported for the Atmel-ATmega88 by Andre Adrian [9], and is also available as ATM18 mini chess computer [10] from the electronics magazine Elektor. Óscar Toledo Gutiérrez' program Toledo Nanochess seems appropriate for the Arduino boards as well [11]. Otherwise, for Uno and Mega two concrete open source chess programs are available.

Little Rook Chess

Little Rook Chess by Oliver Kraus is a chess game for using the Arduino Uno with a dedicated user interface realized with an Electronic Assembly DOG LCD module [12] and button shield [13]. Little Rook Chess is part of the dogm128 library [14] under the terms of the GNU Lesser General Public License [15] [16].

Myopic

Myopic by Steven Edwards is suited for the Arduino Mega, written in C++ and released under the Creative Commons license [17].


Analogue Evaluation

Reading the 10-bit analog-to-digital converter, adequately supplied by a score voltage of a noisy analogue leaf evaluation with some discrete analogue circuits and op-amps takes about 100 microseconds and is likely too slow for that interesting application [18].

See also


Forum Posts


External Links

Arduino


Computer Chess


Development


Assembly

C, C++

Java


Misc


References

  1. ^ Arduino - Getting Started
  2. ^ Arduino - Products
  3. ^ Arduino from Wikipedia
  4. ^ Image by David Mellis, July 12, 2010, hosted at Flickr, Arduino from Wikipedia
  5. ^ Atmel - ATmega1280
  6. ^ Arduino - Reference
  7. ^ Arduino - FAQ
  8. ^ RaspBerry PI/ Arduino driven Wooden Chessboard running Stockfish, by Max Dobres
  9. ^ Self-made Chess Computer SHAH based on an Atmel-ATmega88 Microcontroller and Micro-Max-port by Andre Adrian (German)
  10. ^ ATM18 Mini Chess Computer from ELEKTOR.com – Platform for electronics and microcontrollers
  11. ^ Nanochess auf avr by Sam, Mikrocontroller.net GCC Forum, February 11, 2011 (German)
  12. ^ ELECTRONIC ASSEMBLY : LCD DOG series, flexibe, flat and colorful
  13. ^ Little Rook Chess - Library for the Dogm-Graphics-LCD modules (AVR, Arduino compatible) - Google Project Hosting
  14. ^ dogm128 - Library for the Dogm-Graphics-LCD modules (AVR, Arduino compatible). - Google Project Hosting
  15. ^ chess.c - dogm128 - Library for the Dogm-Graphics-LCD modules (AVR, Arduino compatible) - Google Project Hosting
  16. ^ Re: Graphic LCD shield with EA DOGS102W display by Oliver Kraus, Arduino Forum, June 18, 2011
  17. ^ Myopic, a new Creative Commons chess program by Steven Edwards, CCC, May 22, 2010
  18. ^ Arduino - AnalogRead

What links here?


Up one Level