Arduino

Home * Hardware * Arduino



Arduino, (due to a legal dispute, since 2015 it is known as Genuino outside the United States ) 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.

This page focuses on two boards with concrete computer chess applications. =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.

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

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.

ArdEBoard
The ArdEBoard by Dominik Klein is a sensory chess board based on reed switches and magnets glued below every chess piece. Source code for an ATmega32U4 to control the board is freely available at GitHub.

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
 * PIC Microcontroller
 * Raspberry Pi
 * Sensory Board
 * UDOO

=Forum Posts=

2005 ...

 * Arduino on Linux by erich, Arduino Forum, October 11, 2005
 * Chess for the Arduino by chessplayer, Arduino Forum, December 06, 2009 » Myopic

2010 ...

 * 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

2020 ...

 * Electronic Chess Board: Arduino Source-Code by Dominik Klein, CCC, February 12, 2021 » ArdEBoard
 * I built dynamically programmable arduino based computer to run a chess program by Maksim Korzh, CCC, October 30, 2021

=External Links=

Arduino

 * Arduino - HomePage
 * Arduino Board Uno
 * Arduino Board Due
 * Arduino Mega 2560


 * 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

 * 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
 * chess.c - dogm128 - Library for the Dogm-Graphics-LCD modules (AVR, Arduino compatible) - Google Project Hosting


 * 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
 * CHESSuino = Chess + Arduino, YouTube Video


 * 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
 * GitHub - asdfjkl/ArdEBoard: Arduino Leonardo / Pro-Micro (ATmega32U4) based electronic chess board with Reed switches by Dominik Klein » ArdEBoard

Development

 * Getting Started with Arduino
 * Arduino Development Environment
 * Arduino - BuildProcess
 * Arduino - FAQ
 * Arduino - Reference
 * Arduino - Tutorials


 * 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=

Up one Level