PICduino

PICduino es una placa de forma física igual a una Arduino pero usando un µControlador de la familia PIC de Microchip. Mantener la forma física es el primer paso para poder usar las shields de Arduino, pero en la práctica aparecen luego diferencias en cuanto al uso de los pines y a las librerias posibles o existentes. Existen algunas propuestas comerciales y otras libres de este tipo de placas:

  • A - PIC.Duino placa comercial (Brasil) con PIC 18F2520 compatible con shields Arduino, usa el PIC Tiny Bootloader
  • B - AVT1625 placa comercial (Polonia) que usa el PIC 18F2550
  • C - PICduino 2010 es un proyecto libre con PIC 18F2520 que agrega RTC y EEPROM por I2C y se comunica via RS232 en vez de USB.
  • D - PIC18F2550 placa comercial que es Pingüino Compatible (Filipinas)
  • E - PICUNO EQUO, que usa el 18F4550 y es Pingüino Compatible (Malasya)
  • F - Amicus 18, que usa el PIC18F25K20 (sin USB) a 64MHz (Reino Unido). Pensada para ser programada con el lenguaje Proton Basic.

Todas estas placas están hechas en PCB de doble faz y tienen algunos componentes SMD (por ejemplo el chip FTDI de comunicación con USB), por lo que aunque se dispusiera del diseño (schematic) no será fácil realizarlas por aficionados a la electrónica. Además, prácticamente en ninguna de estas placas se usó uno de los aspectos mas interesantes del 18F2550 que es la comunicación directa por USB sin usar chips adicionales.

En FreeSensors se ha diseñado una PICduino con las mismas características de las shields, es decir, realizada sobre PCB de simple faz y sin componentes SMD y liberada con licencia de hardware libre.

Pingüino

Se trata de un proyecto de hardware libre conceptualmente similar a la plataforma Arduino. Consiste en una placa controladora para PIC (con forma física muy diferente a Arduino) junto a un firmware multi-target, ya que funciona tanto para µControladores de 8-bit como los PIC18Fx550, PIC18Fx5K50, PIC18Fx6J50, PIC18Fx7J53; como para los de 32-bit tipo PIC32MX Mips. Por otro lado se completa el esquema con software multi-nivel: Se puede trabajar con un IDE similar en forma y lenguaje al Arduino, o bien con lenguaje C y compilador GCC, o con el MPLAB de Microchip.

Este proyecto de hardware libre se ha usado en otros proyectos que agregan funcionalidad agrandando la PCB. Un ejemplo de esto es el proyecto Icaro con su placa NP06 que puede usar tanto un PIC 18F2550 como un 18F4550 y agrega leds, un driver para salidas digitales y manejo de motores.

El proyecto Pingüino posee un IDE muy completo programado en Python (a diferencia del de Arduino que está programado en Java), y es un proyecto muy activo que ha ido pasando por diversas fases que se reflejan en las distintas versiones de su bootloader.

FreeJALduino

Esta es una placa que usa el PIC 18F2550, en un formato físico similar pero no idéntico al de Arduino. Sucede que al autor no le agradaba el tema de la separación entre las dos tiras de pines digitales, y le agregó una tira de pines paralelos en los digitales high, a costa de agrandar la PCB. Tampoco están presentes los 4 agujeros pasantes. Lo otro diferente es que la placa está pensada para ser usada con el entorno de programación JAL (con sintaxis similar a Pascal) para PICs, aunque al parecer su autor prevé su uso con otros proyectos como MicroPascal o Pingüino.

  • FreeJALduino version4.
  • FreeJALduino version5.
  • FreeJALduino MEGA con el PIC 18F4550 (la PCB controladora es un poco mas grande pero mantiene los mismos pines)

JALuino

Este es un proyecto basado en el PIC 4550, que lleva sus pines a un esquema de conectores similares a Arduino, pero manteniendo la nomenclatura PIC de los mismos. Puede usar como booloaders a Tiny Bootloader o bien a PDFUSB Bootleader. La programación se realiza en lenguaje JAL en su propio Jaluino IDE. Como parte de este proyecto se creó una shield de compatibilidad llamada Styx (para conectarle encima shields de Arduino), que contiene un mapeo entre los pines del PIC 4550 y los de Arduino UNO.

Comparativa ATmega328 y 18F2550

Ver también la comparativa en la wiki de Pingüino, y la comparativa entre PIC32 y Arduino Mega

Por otro lado, las diferencias entre el PIC 18F2550 y el 18F4550 son muy pocas, ambos tienen el mismo tipo de conexión USB (versión 2.0). Las diferencias solo radican en la cantidad de pines de I/O disponibles en base a que el 4550 es un chip mas grande con mas pines: