Arduino, (due to a legal dispute, since 2015 it is known as Genuino outside the United States[1])
a family of open-source hardwaresingle-board microcontrollers based on the Atmel 8-bit AVRRISC chips [2] . 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 [3] . Some shields communicate with the Arduino board directly over various pins, but many shields are individually addressable via an I²Cserialbus, allowing many shields to be stacked and used in parallel [4] .
This page focuses on two boards with concrete computer chess applications.
The 2009 released Arduino Mega uses the 8-bit ATmega1280 [6] , 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. Its 2010 successor, the Arduino Mega 2560[7] features the more advanced ATmega2560 [8] with 256 KiB Flash memory.
Development
Arduino provides an integrated development environment running on a host computer, supporting the C/C++ based Arduino language [9] . 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 [10] .
Obsolescence Guaranteed[18] has ported the original 6502MicroChess, wrapped in a 6502 emulator, to the Arduino [19]. A further development is the KIM Uno[20], a calculator-sized KIM-1 replica with MicroChess built in. Both projects are open source software/hardware using the MicroChess source code (which is available but not open source) with permission from Peter Jennings.
a family of open-source hardware single-board microcontrollers based on the Atmel 8-bit AVR RISC chips [2] . 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 [3] . 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 [4] .
This page focuses on two boards with concrete computer chess applications.
Table of Contents
Arduino Uno
The Arduino Uno is based on the 8-bit 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 8-bit ATmega1280 [6] , 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. Its 2010 successor, the Arduino Mega 2560 [7] features the more advanced ATmega2560 [8] with 256 KiB Flash memory.Development
Arduino provides an integrated development environment running on a host computer, supporting the C/C++ based Arduino language [9] . 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 [10] .Computer Chess
Arduino controllers are suitable to build a dedicated chess computer - to control a self-made sensory board [11], 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 [12] , and is also available as ATM18 mini chess computer [13] from the electronics magazine Elektor. Óscar Toledo Gutiérrez' program Toledo Nanochess seems appropriate for the Arduino boards as well [14] . Otherwise, for Uno and Mega, there are some more chess programs available, dedicated and emulated.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 [15] and button shield. Little Rook Chess is part of the u8glib library (Universal 8bit Graphics Library) [16] under the terms of the new bsd license [17].MicroChess
Obsolescence Guaranteed [18] has ported the original 6502 MicroChess, wrapped in a 6502 emulator, to the Arduino [19]. A further development is the KIM Uno [20], a calculator-sized KIM-1 replica with MicroChess built in. Both projects are open source software/hardware using the MicroChess source code (which is available but not open source) with permission from Peter Jennings.Myopic
Myopic by Steven Edwards is suited for the Arduino Mega, written in C++ and released under the Creative Commons license [21] .Chess Robot
The Arduino Due Chess Robot is a self build sensory board with robot arm by Chris Quayle as a hobby project - powered by an Arduino Due and incorporating Micro-Max by Harm Geert Muller as chess AI.Square Off
Square Off, the dedicated robot sensory board features an Arduino Mega with ATmega 2560 chip to control the piece moving two axis robotic arm, to detect piece movement, and to communicate with a smartphone via Bluetooth [22].Analog Evaluation
Reading the 10-bit analog-to-digital converter, adequately supplied by a score voltage of a noisy analog leaf evaluation with some discrete analog circuits and op-amps takes about 100 microseconds and is likely too slow for that interesting application [23] .See also
Forum Posts
External Links
Arduino
Arduino Board Uno
Arduino Board Due
Arduino Mega 2560
Computer Chess
chess.c - dogm128 - Library for the Dogm-Graphics-LCD modules (AVR, Arduino compatible) - Google Project Hosting
CHESSuino = Chess + Arduino, YouTube Video
Development
Arduino - BuildProcess
Arduino - FAQ
Arduino - Reference
Arduino - Tutorials
Assembly
C, C++
Java
Misc
References
What links here?
Up one Level