Arduino-1.5.2 on Pipistrello

From Pipistrello
Jump to: navigation, search

This is an early release of the Arduino-1.5.2 code ported to Pipistrello. It is running on a 32-bit Microblaze processor at 100 MHz.

(UPDATED June9,2013, now with HDMI display support, see examples)

Windows : You can grab the windows version here:

arduino-1.5.2-windows Unzip it anywhere, e.g. c: and run it by clicking on the Arduino icon in the arduino-1.5.2 folder

Linux: You can grab the 32-bit linux version here:


To try it, select "Pipistrello v2.0 LX45 Microblaze" in Tools->Board and try something simple like the blink example in Examples->Basic

On linux, you might have to enable FTDI driver user-space access. See loading-bitstreams-under-ubuntu-1204


Wing A pins 0 - 15 has arduino pins 0 - 15. They can all do digital in/out and analog out. Analog out has 16 bit resolution but is scaled down to 10 bits for compatibility with the Atmega parts. However, the new function analogWriteResolution() introduced in arduino-1.5 for Due allows you to change the resolution to 16 bit.

Wing B pins 0 - 7 has arduino pins 16 - 23. They are digital only or SPI ports (if enabled).

The LEDs on the board are mapped to pins 12,13,14 and 15 but can be remapped to any of pins 0 - 15 by writing to a register (the arduino code for this is not there yet).

Just like for Mega there are 4 serial ports - Serial, Serial1, Serial2 and Serial3. Serial is connected to the FTDI chip and Serial1 - 3 are connected to Wing B pins (8,9), (10,11) and (12,13).

There are 3 SPI ports in hardware. The default SPI port using the SPI library is connected to the SD card socket and is using arduino pin 53 as chip select. An alternative to using the SPI library is to use the new HardwareSPI code in the core Arduino code, this is similar to how HardwareSerial is implemented. The three SPI ports can be used with SPI0.begin(), SPI1.begin() and SPI2.begin(). SPI0 is connected to Wing-B pins 0-3, SPI1 is connected to Wing-B pins 4-7 and SPI2 is connected to the SD-card socket.

Things to try:

Examples -> 01.Basic -> Blink (should run without any changes and blink the red LED L2)

Examples -> 03.Analog -> Fading (change the LED pin from 9 one of pins 12 - 15)

Examples -> 11.Video -> bouncing_ball (connect a monitor via HDMI to see the display)

Examples -> SD -> CardInfo (needs a microSD card, change chipSelect from pin 4 to pin 53 and enable a serial console)

The following Arduino functions are implemented:










pulseIn() (not yet calibrated)





The library SPI is working as well as the SD library that uses the SPI library