Pages

OSHW Development Boards: Pinguino, Arduino, and Propeller Platform

Pinguino, Arduino and Propeller Platform are fully open source development boards that are available in the market. This is a brief summary about each one explaining their main characteristics trying to offer a simple guide for those who are looking for different options.










Pinguino is an Arduino-compatible board based on PIC microcontroller. The main goal of the project was design a development board that anybody could build with only a few components, and that's why they chose to work with the 8-bit microcontrollers PIC18F2550 and PIC18F4550, since both microcontrollers include a built-in USB module, and additional hardware to communicate the board with a PC (an FTDI chip, for example) was not needed. In addition, an easy-to-use and multiplatform IDE, very similar to the Arduino's one, was developed.
Later, a 32-bit version was released. This version features a PIC32MX4 chip which also has an USB module incorporated. The board, designed by Olimex, keeps the idea of making it compatible with existing Arduino shields.

Although, the 8-bit Pinguino is not distributed, all the technical documentation, schematics, and software (IDE and bootloader) are available. In general, the characteristics of this board are:
  • 256KB of EEPROM
  • 256 KB of Flash Memory
  • 32 KB of SRAM
  • 18 I/O pins (Pic18F2550) or 29 I/O pins (PIC18F4550)
  • 8 Analog Channels
  • Built-in USB 2.0
  • USART, SPI, and I2C modules
Pinguino 18F2550 USB Board
In the other hand, there are two models available in the market for the 32-bit version, the PIC-32 Pinguino and PIC32-OTG Pinguino. These are the main characteristics for both boards:
  • 32 KB of Flash Memory
  • 32 KB of SRAM
  • 8 MHz of clock speed
  • 32.768 kHz quartz cristal for RTC (Real Time Clock) implementations
  • 18 I/O pins
  • 5 Analog Channels
  • Burned in Bootloader
  • The board can be powered via USB, and external power supply, or a 3.7 V Li-ion battery
  • The external power supply circuit has been designed to support voltages from 6 to 30 VDC. A good option for industrial applications, where 24 VDC is common
  • Includes a battery-charger circuit, so when a Li-ion battery is attached into the board, it is automatically charged and kept in this state until the current power supply (USB or external supply) is removed
  • Designed to support temperature range from -25 to +85 °C for working in industrial applications
  • Noise immune design
  • ICSP connector to program directly the microcontroller
  • USART, SPI, I2C, PWM
  • USB 2.0
  • UEXT connector.
Moreover, the PIC32-OTG includes USB-OTG hardware and micro SD card.

PIC32 frontPIC32 back
PIC32-OTG frontPIC32-OTG back

Pinguino IDE is fully open source, and it's based on Python. It's similar to Arduino IDE and sketches, pieces of code or programs, are written in the same way. Indeed the structures, variables and language are Arduino compatible. The bootloader is also open source, and it's based on the VASCO project.

Pinguino Boards cost about $30.00 - $40.00, and you can buy them at Mouser, Adafruit, and Pinguino Shop. And, even though, there is no commercial version of the 8-bit pinguino, you can find a kit that comes with all the parts necessaries to build your board at shop.pinguino.cc. Besides, the PIC18F2550 comes with preinstalled bootloader.

However, if you prefer to built you own board, you will find all the documentation, schematics, and software at pinguino.cc/downloads.php
You will find more information about the proyect at:
 Sources:
* Pinguino 18F2550 USB image is property of Pinguino.cc
* PIC32 and PIC32-OTG images are property of Olimex











Arduino is a prototyping board developed to offer and easy-to-use tool for students, designers, and hobbyists at a low cost. The board features an Atmel AVR microcontroller, and includes pin-headers which allow users to connect different components such as switches, sensors, motors, and lights to the microcontroller's I/O ports. To make it easier, there are modules available in the market, called shields, which allow you to implement more complex functions, for instance, GPS, Wi-Fi, Ethernet, motor control, USB host, LCD etc. You just have to plug the board into Arduinto's pin-headers, and it's ready to use. The great advantage about shields is that anybody can develop more complex applications with less time and effort.

Many versions have been developed since the project started. Most of the boards are produced by SmartProjects in Italy. Arduino Pro, Pro Mini, and Lily Pad are manufactured by SparkFun Electronics, and Arduino Nano is manufactured by Gravitech. The following list shows the official boards (supported by Arduino project):

Arduino UNOFeatures:

  • Microcontroller: ATmega328
  • SRAM: 2 KB
  • EEPROM: 1KB
  • Flash Memory: 32 KB (0.5 KB used by bootloader)
  • Clock Speed: 16 MHz
  • Total I/O pins: 14
  • Analog Channels: 6
  • PWM Channels: 8
  • Input Voltage (recommended): 7 – 12 V
  • Others: SPI, UART, I2C, external interruptions.
Arduino Mega 2560Features:

  • Microcontroller: ATmega2560
  • SRAM: 8 KB
  • EEPROM: 4 KB
  • Flash Memory: 256 KB (8 KB used by bootloader)
  • Clock Speed: 16 MHz
  • Total I/O pins: 54
  • Analog Channels: 16
  • PWM Channels: 14
  • Input Voltage (recommended): 7 – 12 V
  • Others: UART, SPI, external interruptions.
Arduino ADKFeatures:

  • Microcontroller: ATmega256
  • SRAM: 8 KB
  • EEPROM: 4 KB
  • Flash Memory: 256 KB (8 KB used by bootloader)
  • Clock Speed: 16 MHz
  • Total I/O pins: 54
  • Analog Channels: 16
  • PWM Channels: 14
  • Input Voltage: 7 – 12 V
  • Others: UART, SPI, I2C, external intrerrupts, USB Host.
Arduino EthernetFeatures:


  • Microcontroller: Atmega328
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • Flash Memory: 32 KB (0.5 KB used by bootloader)
  • Clock Speed: 16 MHz
  • Total I/O pins: 14
  • Analog Channels: 6
  • PWM Channels: 4
  • Input Voltage: 5 V
  • Others: UART, SPI, I2C, External Intrerrupts, W5100 TCP/IP Embededded Ethernet Controller, Micro SD card slot.
Arduino BT (Bluethooth)Features:


  • Microcontroller: ATmega328
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • Flash Memory: 32 KB (2 KB used by bootloader)
  • Clock Speed: 16 MHz
  • Total I/O pins: 14
  • Analog Channels: 6
  • PWM Channels: 6
  • Input Voltage: 1.2 – 5.5 V
  • Others: UART, SPI, I2C, External Interruptions, Bluegiga WT11 bluethooth module.
Arduino Pro-MiniFeatures:


  • Microcontroller: Atmega168
  • SRAM: 1 KB
  • EEPROM: 512 bytes
  • Flash Memory: 16 KB (2 KB used by bootloader)
  • Clock Speed: 8 MHz (3.3 V model) | 16 MHz (5 V model)
  • Total I/O pins: 14
  • Analog Channels: 6
  • PWM Channels: 6
  • Input Voltage: 3.35 – 12 V | 5 – 12 V
  • Others: UART, SPI, I2C, External Interruptions. 
  • Dimensions: 0.7" x 1.3"
Arduino MiniFeatures:


  • Microcontroller: Atmega328
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • Flash Memory: 32 KB (2 KB used by bootloader)
  • Clock Speed: 16 MHz
  • Total I/O pins: 14
  • Analog Channels: 8
  • PWM Channels: 6
  • Input Voltage: 7 – 9 V
  • Others: Dimensions: 30 x 18mm
Arduino NanoFeatures:


  • Microcontroller: Atmega168 or ATmega328
  • SRAM: 1 KB (Atmega168) | 2 KB (ATmega328)
  • EEPROM: 512 (Atmega168) | 1 KB (ATmega328)
  • Flash Memory: 16 KB (Atmega168) | 32 KB (Atmega328). (2 KB used by bootloader)
  • Clock Speed: 16 MHz
  • Total I/O pins: 14
  • Analog Channels: 8
  • PWM Channels: 6
  • Input Voltage (recommended): 7 – 12 V
  • Others: UART, SPI, I2C, External Interruptions. Dimensions: 0.73" x 1.70"
Arduino PROFeatures:


  • Microcontroller: Atmega168 or ATmega328
  • SRAM: 1 KB (Atmega168) | 2 KB (ATmega328)
  • EEPROM: 512 (Atmega168) | 1 KB (ATmega328)
  • Flash Memory: 16 KB (Atmega168) | 32 KB (Atmega328). (2 KB used by bootloader)
  • Clock Speed: 8 MHz (3.3 V version) | 16 MHz (5 V version)
  • Total I/O pins: 14
  • Analog Channels: 6
  • PWM Channels: 6
  • Input Voltage: 3.35 -12 V | 5 - 12 V (5V versions)
  • Others: UART, SPI, I2C, External Interruptions
Arduino FIOFeatures:


  • Microcontroller: ATmega328P
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • Flash Memory: 32 KB (2 KB used by bootloader)
  • Clock Speed: 8 MHz
  • Total I/O pins: 14
  • Analog Channels: 8
  • PWM Channels: 6
  • Input Voltage: 3.35 – 12 V
  • Others: UART, SPI, I2C, External Interruptions, Xbee Socket, connections for a Lithium Polymer battery and charge circuit over USB, no pre-mounted pin-headers
Arduino LilyPadFeatures


  • Microcontroller: Atmega168 or Atmega328V
  • SRAM: 1 KB
  • EEPROM: 512 bytes
  • Flash Memory: 16 KB (2 KB used by bootloader)
  • Clock Speed: 8 MHz
  • Total I/O pins: 14
  • Analog Channels: 6
  • PWM Channels: 6
  • Input Voltage: 2.7 – 5.5 V
  • Others: Dimensions: is a circle aprox. 50mm (2”) in diameter and 0.8 mm (1/32”) thick, washable
Arduino DuemilanoveFeatures


  • Microcontroller: Atmega168 or ATmega328
  • SRAM: 1 KB (Atmega168) | 2 KB (ATmega328)
  • EEPROM: 512 (Atmega168) | 1 KB (ATmega328)
  • Flash Memory: 16 KB (Atmega168) | 32 KB (Atmega328). (2 KB used by bootloader)
  • Clock Speed: 16 MHz
  • Total I/O pins: 14
  • Analog Channels: 6
  • PWM Channels: 6
  • Input Voltage (recommended): 7 - 12 V
  • Others: USART, SPI, I2C, External Interruptions

The Arduino programming environment is derived from Processing and Wiring projects. The Arduino IDE, developed in Java, is an open source tool that allow users to program the board. It's cross platform and works on windows, MAC OS and Linux. The Arduino IDE is very friendly, and the programming language is very simple and easy to use allowing people who are unfamiliar with software development to quickly start developing.
Also, Arduino doesn't need an external programmer, because it comes with a pre-programmed bootloader which simplifies the process of uploading the programs in the flash memory.



Most of the Arduino boards can be programmed via USB. Boards like LilyPad, Fio, Mini and Pro-Mini are programmed using an USB to serial adapter board or cable. Arduino Fio and Arduino BT can also be programmed using the Xbee and Bluethooth module respectively. In addition, almost all boards allow to program the ATmega directly through an ICSP header.

Arduino board prices may vary by model, but you can find boards from $20.00. If you are interested in acquiring an Arduino board, at http://arduino.cc/en/Main/Buy, you will find a list of distributors around the world.
However, if you are more interested in build your own Arduino, you should check the Hardware section. There you will find all the information that you need to build your own board.

Sources:
 * Images property of Arduino Project






Propeller Platform USB is an open source platform designed by Gadget Gangster. It looks similar to Arduino and also follows the same shield concept. The board features a Parallax Propeller microcontroller, and it has a built in video hardware, and micro SD reader. Some its features are:
  • 32-bit and 8-Core Parallax Propeller microcontroller
  • Removable 5MHz crystal 
  • 64 KB EEPROM 
  • 32 I/O pins 
  • The board can be powered through its USB port, power jack connector, and screw terminal connectors
  • 5V and 3.3 V 41.5 ultra LDO voltage regulators accept 5.5 - 12 V power input
  • Operating temperature range: -40 to +185 °F (-40 to -85 °C) 
  • Built-in video generator hardware to output to NTSC/PAL or VGA display
  • Multitasking, no need to use interrupts or timer to manage multiple hardware

Propeller Patform USB  fron
The board can be expanded through any breadboard or protoboard. The protoboards are modules or shields similar to Arduino. Some of the modules available in the market are
E-NetDescription:
  • This board allows ethernet connection.
  • Uses the ENC28J60 (10BASE-T Ethernet controller) 
  • 25 MHz clock. No external source needed
  • SPI interface
El JugadorDescription:
  • Open Source video game console
  • PAL or NTSC video output with audio
  • 2 controller ports
  • Overclock-able up to 200 MIPS with a 6.25 MHz crystal
  • Work with 3.3 V logic levels
LCDDescription:
  • 8x2 LCD
  • 4 way and depress button
  • Potentiometer to control LCD contrast
TinyTwoWireDescription:
  • This board features 2 USB connectors to add and control keyboard and mouse over I2C
  • Includes 6 pin breakout header for ADC or other applications
Servo PlayerDescription:
  • Servo motor controlled through 2 built in joysticks
  • 4 servo connectors
  • Start swith
  • 6 DIP switch input
  • Connect to an R/C transmitter in 'trainer' mode

You can find more at GadgetGanster

Propeller Platform USB is programmed in Spin. The Propeller/Spin Tool is only available for windows. However, there is another IDE called BST (Brad's Spin Tool) that is multi-platform, and it's supported by parallax.
Propeller Platform USB costs about $50.00, and it can be aquired through Adafruit, Mouser and GansterGadget. Besides, GansterGadget also offer a Propeller Platform kit which includes all the parts for assembling your own prototyping board. Propeller Platform kit features a 32-bit processor P8X32A-D40, and it costs about $35.00.
Propeller Platform kit

Sources:
  * Images property of Gadget Ganster

No comments:

Post a Comment