Arduino

a family of [|open-source hardware] [|single-board microcontrollers] based on the [|Atmel] 8-bit [|AVR] [|RISC] chips. 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. 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.
 * Home * Hardware * Arduino**
 * [[image:320px-Arduino_Mega.jpg link="https://en.wikipedia.org/wiki/File:Arduino_Mega.jpg"]] ||~  || **Arduino**, (due to a legal dispute, since 2015 it is known as **Genuino** outside the [|United States] )

This page focuses on two boards with concrete computer chess applications. || toc =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, 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** features the more advanced ATmega2560 with 256 KiB Flash memory.
 * Arduino Mega ||~  ||^   ||

=Development= Arduino provides an [|integrated development environment] running on a host computer, supporting the C/C++ based Arduino language. 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.

=Computer Chess= Arduino controllers are suitable to build a dedicated chess computer - to control a self-made sensory board, 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, and is also available as //ATM18 mini chess computer// from the electronics magazine [|Elektor]. Óscar Toledo Gutiérrez' program Toledo Nanochess seems appropriate for the Arduino boards as well. 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] and button shield. Little Rook Chess is part of the //u8glib library// (Universal 8bit Graphics Library) under the terms of the [|new bsd license].

MicroChess
//Obsolescence Guaranteed// has ported the original 6502 MicroChess, wrapped in a 6502 emulator, to the Arduino. A further development is the //KIM Uno//, 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].


 * [[file:myopic.tar]]

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].

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.

=See also=
 * Dedicated Chess Computers
 * pcDuino
 * PIC Microcontroller
 * Raspberry Pi
 * Sensory Board
 * UDOO

=Forum Posts=
 * [|Arduino on Linux] by erich, [|Arduino Forum], October 11, 2005
 * [|Chess for the Arduino] by chessplayer, [|Arduino Forum], December 06, 2009 » Myopic
 * [|Myopic, a new Creative Commons chess program] by Steven Edwards, CCC, May 22, 2010 » Myopic
 * [|Nanochess auf avr] by Sam, [|Mikrocontroller.net GCC Forum], February 11, 2011 (German)
 * [|Re: Graphic LCD shield with EA DOGS102W display] by Oliver Kraus, [|Arduino Forum], June 18, 2011
 * [|My Arduino-Based 6502 Simulation/Emulation...thing?] by halkun, [|6502.org Forum], November 26, 2012
 * [|KIM Uno: a KIM-1 emulator on an Arduino Uno] by Oscar, [|Vintage Computer Forum], June 21, 2014
 * [|Poll: Arduino Uno Tournament] by David Eather, CCC, August 15, 2014
 * [|Chess Mate Arduino chess computer via Hackaday] by Steven Edwards, CCC, December 08, 2015
 * [|My chess robot project using Micromax chess on Arduino] by Chris Quayle, CCC, August 06, 2017 » Arduino Due Chess Robot

=External Links=

Arduino
> [|Arduino Board Uno] > [|Arduino Board Due] > [|Arduino Mega 2560]
 * [|Arduino - HomePage]
 * [|Arduino from Wikipedia]
 * [|List of Arduino boards and compatible systems from Wikipedia]
 * [|Arduino / Atmel AVR] by [|Dirk Grappendorf]
 * [|Arduino microcontroller projects] by Don Cross

Computer Chess
> [|chess.c - dogm128 - Library for the Dogm-Graphics-LCD modules (AVR, Arduino compatible) - Google Project Hosting] > CHESSuino = Chess + Arduino, [|YouTube] Video > media type="youtube" key="f0ZtvIRbMrg" width="560" > media type="youtube" key="dX37LFv8jWY"
 * [|Arduino & Raspberry PI Chess Computer] running Stockfish on Raspberry Pi, by Max Dobres » Sensory Board
 * [|Little Rook Chess - Library for the Dogm-Graphics-LCD modules (AVR, Arduino compatible) - Google Project Hosting], by Oliver Kraus
 * [|Use this Open Source Lib to play Chess with Arduino] by [|Giorgos Lazaridis], [|PCB Heaven], October 14, 2014 » Micro-Max
 * [|Chessuino] by Diego Cueva, based on Micro-Max by Harm Geert Muller, ported for the [|Atmel]-[|ATmega88] by Andre Adrian
 * Wireless Arduino Powered Chess, [|YouTube] Video
 * [|Arduino Due Chess Robot] by Chris Quayle » Arduino Due Chess Robot
 * [|Arduino Blog » Square Off is a chess board with a high-tech twist], October 17, 2016 » Square Off

Development
> [|Arduino - BuildProcess] > [|Arduino - FAQ] > [|Arduino - Reference] > [|Arduino - Tutorials]
 * [|Getting Started with Arduino]
 * [|Arduino Development Environment]
 * [|Atmel® Studio 6 - Supporting Two Architectures: AVR and ARM, with One Integrated Studio - Overview]
 * [|AVRDUDE - AVR Downloader/UploaDEr]

Assembly

 * [|AVR ASM INTRODUCTION]
 * [|AVR-Assembly Tutorial] by [|Gerhard Schmidt]

C, C++

 * [|AVR Libc Home Page]
 * [|WinAVR GCC]
 * [|The AVR Eclipse Plugin - AVR-Eclipse]
 * [|Developing Software for the Atmel AVR with AVR-Eclipse, AVR-GCC & AVRDude — Interactive Matter Lab]
 * [|grappendorf/arduino-eclipse · GitHub] by [|Dirk Grappendorf]

Java

 * [|The NanoVM - Java for the AVR]
 * [|Netbeans plugin for AVR microcontrollers — Project Kenai]

Misc

 * [|Arduino (disambiguation) from Wikipedia]
 * [|Arduinna (goddess) from Wikipedia]
 * [|394 Arduina (asteroid) from Wikipedia]

=References= =What links here?= include component="backlinks" page="Arduino" limit="40"
 * Up one Level**