Arduino Esplora-Arduino For Game Developers
|Arduino Esplora Front|
|Arduino Esplora Rear|
OverviewThe Arduino Esplora is a microcontroller board derived from the Arduino Leonardo. The Esplora differs from all preceding Arduino boards in that it provides a number of built-in, ready-to-use setof onboard sensors for interaction. It's designed for people who want to get up and running with Arduino without having to learn about the electronics first.
The Esplora has onboard sound and light outputs, and several input sensors, including a joystick, a slider, a temperature sensor, an accelerometer, a microphone, and a light sensor. It also has the potential to expand its capabilities with two Tinkerkit input and output connectors, and a socket for a color TFT LCD screen.
Like the Leonardo board, the Esplora uses an Atmega32U4 AVR microcontroller with 16 MHz crystal oscillator and a micro USB connection capable of acting as a USB client device, like a mouse or a keyboard.
In the upper left corner of the board there is a reset pushbutton, that you can use to restart the board. There are four status LEDS :
- ON [green] indicates whether the board is receiving power supply
- L [yellow] connected directly to the microcontroller, accessible through pin 13
- RX and TX [yellow] indicates the data being transmitted or received over the USB communication
The Esplora has built-in USB communication; it can appear to a connected computer as a mouse or keyboard, in addition to a virtual (CDC) serial / COM port.
|Flash Memory||32 KB of which 4 KB used by bootloader|
|Clock Speed||16 MHz|
Schematic & Reference DesignEAGLE files: Attach:arduino-esplora-reference-design.zip
MemoryThe ATmega32u4 has 32 KB (with 4 KB used for the bootloader). It also has 2.5 KB of SRAM and 1 KB of EEPROM (which can be read and written with the EEPROM library).
Input and Output:The design of the Esplora board recalls traditional gamepad design with an analog joystick on the left and four pushbuttons on the right.
The Esplora has the following on-board inputs and outputs :
- Analog joystick with central push-button two axis (X and Y) and a center pushbutton.
- 4 push-buttons laid out in a diamond pattern.
- Linear potentiometer slider near the bottom of the board.
- Microphone for getting the loudness (amplitude) of the surrounding environment.
- Light sensor for getting the brightness.
- Temperature sensor reads the ambient temperature
- Three-axis accelerometer measures the board's relation to gravity on three axes (X, Y, and Z)
- Buzzer can produce square-waves.
- RGB led bright LED with Red Green and Blue elements for color mixing.
- 2 TinkerKit Inputs to connect the TinkerKit sensor modules with the 3-pin connectors.
- 2 TinkerKit Outputs to connect the TinkerKit actuator modules with the 3-pin connectors.
- TFT display connector connector for an optional color LCD screen, SD card, or other devices that use the SPI protocol.
CommunicationThe Leonardo the Esplora has a number of facilities for communicating with a computer, another Arduino, or other microcontrollers. The ATmega32U4 provides serial (CDC) communication over USB and appears as a virtual com port to software on the computer. The chip also acts as a full speed USB 2.0 device, using standard USB COM drivers. On Windows, a .inf file is required. The Arduino software includes a serial monitor which allows simple textual data to be sent to and from the Arduino board. The RX and TX LEDs on the board will flash when data is being transmitted via the USB connection to the computer.
The ATmega32U4 also supports SPI communication, that can be accessed through the SPI library.
The Esplora can appear as a generic keyboard and mouse, and can be programmed to control these input devices using the Keyboard and Mouse libraries.
ProgrammingThe Esplora can be programmed with the Arduino software (download). Select "Arduino Esplora" from the Tools > Board menu.
The ATmega32U4 on the Arduino Esplora comes preburned with a bootloader that allows you to upload new code to it without the use of an external hardware programmer. It communicates using the AVR109 protocol.
You can also bypass the bootloader and program the microcontroller through the ICSP (In-Circuit Serial Programming) header
Esplora LibraryTo facilitate writing sketches for the Esplora, there is a dedicated library that contains methods for reading the sensors and writing to the outputs on-board.
The library offers high level methods which provide pre-processed data, like degrees Fahrenheit or Celsius from the temperature sensor. It also enables easy access to the outputs, like writing values to the RGB LED.
Visit the Esplora library reference page to see the complete documentation of the library and examples.
Automatic (Software) Reset and Bootloader InitiationRather than requiring a physical press of the reset button before an upload, the Esplora is designed in a way that allows it to be reset by software running on a connected computer. The reset is triggered when the Esplora's virtual (CDC) serial / COM port is opened at 1200 baud and then closed. When this happens, the processor will reset, breaking the USB connection to the computer (meaning that the virtual serial / COM port will disappear). After the processor resets, the bootloader starts, remaining active for about 8 seconds. The bootloader can also be initiated by pressing the reset button on the Esplora. Note that when the board first powers up, it will jump straight to the user sketch, if present, rather than initiating the bootloader.
Because of the way the Esplora handles reset it's best to let the Arduino software try to initiate the reset before uploading, especially if you are in the habit of pressing the reset button before uploading on other boards. If the software can't reset the board you can always start the bootloader by pressing the reset button on the board.