El Sistema Linux mas pequeño del Mundo

Impresionante sistema embebido basado en Linux, y aunque no es Hardware Libre, imaginanse lo que se puede hacer con unos componentes y un gran sistema operativo.

PicoTux es el nombre de éste minúscilo ordenador con Linux integrado con unas dimensiones de tan solo 35×19×19 milímetros.

Está basado en un procesador ARM7 corriendo a 55 MHz ejecutando un kernel uClinux 2.4.27 y usa la shell Busybox 1.0. Dispone de una conexión Ethernet 10/100 y un puerto série de hasta 230.400 baudios. Se alimenta con tan solo 3,3 Voltios y necesita unos 250 mA para funcionar. Podeis ver las especificaciones completas aqui

El Sistema Operativo utilizado para hacer funcionar el hardware es uClinux 2.4.27 big endian. Con respecto a las solicitudes, además del shell  BusyBox 1.0, también está presente un servidor Web y un servicio Telnet. Por el sistema de archivos Picotux 100 utiliza CRAMFS, JFFS2 y NFS (Sistema de archivos de red). Incluso el sistema de desarrollo tiene mucho que ofrecer; GCC 3.4.4 para C / C + + y Fortran compilador, binutils 2.15 y Bibliotecas uClibc 0.9.26.

Por supuesto que es un sistema muy limitado, pero es que justamente el objetivo es que sea pequeño y eso en algunos lugares y situaciones especiales puede ser una ventaja y con lo que tiene alcanza.

Fuente:

http://www.bricogeek.com
http://www.kabatology.com

Arduino: La Libertad Mas Allá del Software

Antes que nada, pido disculpas por no estar presente el día de ayer, ya que estuve rindiendo una materia de la Facu y gracias a Dios y un poco (o mucho realmente) de mi Esfuerzo la pude sacar, eso como nota personal, con respecto al blog en estos dias voy  a aprovechar para terminar los tutos que me propuse hace un tiempo para ustedes, es esta ocasión les traigo algo espectacular conocido como Arduino, espero les guste.

¿Qué es Arduino?

Es una plataforma de hardware de fuente abierta basada en una sencilla placa de entradas y salidas simple y un entorno de desarrollo que implementa el lenguaje de programación Processing/Wiring. Arduino se puede utilizar para desarrollar objetos interactivos autónomos o puede ser conectado a software del ordenador (por ejemplo: Macromedia Flash, Processing, Max/MSP, Pure Data). Las placas se pueden montar a mano o adquirirse; El IDE de fuente abierta se pueden descargar gratuitamente.

Placa Arduino Diecimila

Las plataformas Arduino están basadas en los microcontroladores Atmega168 o en el ATmega8, chips sencillos y de bajo coste que permite el desarrollo de múltiples diseños.

Al ser open-hardware, tanto su diseño como su distribución es libre. Es decir, puede utilizarse libremente para el desarrollo de cualquier tipo de proyecto sin haber adquirido ninguna licencia.

El proyecto Arduino recibió una mención honorífica en la categoría de Comunidades Digital en el Prix Ars Electronica 2006

¿Qué puedo utilizar Arduino?

Arduino puede utilizarse en el desarrollo de objetos interactivos autonomos, conectandolo a la PC podemos crear cualquier cosa desde un simple sensor para determinar algun valor, un mini-bateria o hasta algo tan loco como tu propio game boy.

Licencias

Arduino es capaz de recibir datos del exterior a través de sensores y efectuar una respuesta luminosa, encender motores, etc. Todo ello gracias a que se puede controlar usando un lenguaje de programación propio — el Arduino programming language — y opcionalmente usando también un entorno integrado de programación (IDE) que han desarrollado especialmente para este lenguaje y que recibe el nombre de Arduino Environment: es software libre bajo la licencia GPL y se puede descargar desde su web o desde el SVN para Windows, GNU/Linux y Mac OS X.

Eso en cuanto al software. En cuanto al hardware, la licencia de la documentación para construir Arduino es la Creative Commons Reconocimiento Compartir Igual, lo que segura que si alguien modifica la referencia para hacer de Arduino un mejor producto tecnológico deberá publicar las mejoras.

Tipos de placas

Existen diferentes versiones de Arduino con propósitos distintos:

Placa serie

Es la placa básica, y se utiliza una interface RS232. Ésta puede ser utilizada, además, para la programación de la placa, para comunicarse con otros elementos externos que utilicen el puerto serie, como por ejemplo un PC.

arduino_serie_02

Placa USB

Es igual a la placa serie pero en vez de un puerto serie como tal, tenemos un conector USB (para poder conectar ordenadores sin puerto serie, como los portátiles de ahora) más un conversor a serie. Si conectamos un aparato que siga la interface USB no funcionará pues en realidad es un puerto serie, no USB.

arduino_usb_jumper_power_usb

Placa de prototipos

Esta placa está pensada para poder incorporar hardware adicional al diseño base de Arduino. Incorpora una matriz de agujeros en la que se puede añadir nuestro hardware adicional. No dispone de puerto serie ni USB, por ese motivo es necesario disponer de otra programador que utilice ICSP.

arduino_prototyping

Bluetooth

Es la última versión en la que se está trabajando. Elimina la necesidad de cables para comunicarse con el PC, vuelve a ser otra manera de disfrazar un puerto serie.

XBee

Esta placa arduino posee del estándar XBee para comnucarse con otras arduino XBee.

Esquema de Arduino

arduino_board

Empezando a Programar

Una vez que tenemos armado nuestro circuito sobre la plataforma Arduino, debemos darle Vida a nuestro sistema, y esto lo hacemos programando nuestro arduino con algunos de las IDEs o Entornos de Programación que existen, tanto para Windows, Linux y Mac; y lo podemos hacer con lenguajes como Flash, o inclusive podemos programarlo de forma grafica.

Aplicaciones Practicas

Sin mas vueltas y esto es lo que ustedes quieren ver, es lo que podemos hacer con esta maravilla, les dejo unas imagenes y unos videos

Super Game Boy hecho en casa con Arduino

Una Bateria Arduina

Fuentes:

http://hardwarelibre.es/arduino-una-base-libre-para-crear-aparatos/
http://es.wikipedia.org/wiki/Arduino
http://arduino.linuxmaya.com/
Algunas Imagenes tomadas del sitio de Arduino
http://arduino.cc/es

Open Programmer v0.5: Un Grabador de Pics Libre

Uno de mis amores es la electronica y al principio del año pasado me propuse a aprender algo de la materia, y aunque mis conocimientos sobre la esta eran muy pobres, realice un buen proyecto sobre PIC (cabe aclarar que tambien realice un curso de 2 meses en la Facu) aun asi al principio me costo un poco, pero despues de leer mucho pude salir adelante y arme un circuito con un pic 16F84 y unos steppers. En otra ocasion voy a publicar todo sobre eso, pero esta vez solamente les traigo un gran proyecto que encontre para el armado de un grabador de PICs basado en Hardware y Software Libre, espero que les guste y cuando tengo unos pesos voy a tratar de armarlo.

Este es un programador de código abierto USB para micros PIC, I2C EEPROMs, algunos micros ATMEL, I2C/SPI dispositivos genéricos y (pronto) otros dispositivos

Datos* Completamente gratuito y de código abierto (incluido el firmware)
* Programa pic10-12-16-18, 24xxxx I2C EEPROMs, algunos micros ATMEL, se comunica con los genéricos I2C y SPI dispositivos (véase dispositivos)
* Interfaz USB, clase HID (igual que los teclados, ratones, etc)
* Auto alimentado
* No necesita drivers
* Construido a partir de componentes fáciles de encontrar (por un costo estimado ~ 10 € o 40 Pesos)
* El Hardware genera tiempos de máxima velocidad y fiabilidad (escribe un 18F2550 en 15, 8s con Linux)
* No satura su CPU y no sufre  cuando otros programas se están ejecutando
* Control de programas de fuente abierta para Linux y Windows

foto1

Otro Programador?

En los últimos años, las interfaces de serie y paralelo casi han desaparecido, los entusiastas de la electrónica encuentran aún más difícil de programar microcontroladores; los programadores viejos  no trabajan más, y las soluciones comunes incluyen el uso de adaptadores USB a serie (que no  aceptan accesos directos, sino sólamente a travez de las llamadas de la API), o añadir crips de interface, al igual que FTDIxxxx, que aparecen como  interfaces seriales y requieren drivers propiestarios.

Entonces, ¿por qué no utilizar los controladores PIC y su interfaz USB?
Después de buscar un tiempo no pude encontrar un programador USB que fuese al mismo tiempo funcional, libre y de código abierto, así que decidi diseñar uno.
De código abierto significa que todas las fuentes y los esquemas se dan de forma gratuita con el derecho a modificar y en libertad.

Aqui van a poder encontrar el proyecto para MPLAB y aqui el archivo HEX.

Sigue leyendo “Open Programmer v0.5: Un Grabador de Pics Libre”

Software Libre para el Diseño de Circuitos Electrónicos sobre Linux

El año pasado tuve la oportunidad de poder realizar un curso de Microcontroladores Pic y además de poder realizar las practicas con componentes electrónicos, una de las herramientas que mas ocupe fue la PC con aplicaciones EDA para simular circuitos, lo cual me facilito enormemente el armado de mi proyecto final, y me permitió experimentar mucho mas y de una forma muy sencilla.

Personalmente en esa ocasión no ocupe ninguna herramienta libre por desconocimiento, pero esta vez quiero compartir con ustedes este conjunto de aplicaciones de software libre para el desarrollo de sistemas electrónicos permitiendo el diseño desde un simple circuito hasta un procesador, además con este kit, TODO, desde los formatos, las aplicaciones y firmwares son libres siguiendo la filosofía del Open Hardware o también la de Hardware Libre.

¿Que es una aplicación EDA?

Automatización de diseño electrónico (EDA) es la categoría de herramientas para el diseño y producción de sistemas electrónicos que van desde placas de circuitos impresos (PCB) a los circuitos integrados. Esto es denominado a veces ECAD electrónico (diseño asistido por ordenador) o simplemente de CAD.

¿Qué es gEDA?

El proyecto GEDA es el desarrollo de un completo conjunto de herramientas de automatización de diseño electrónico GPL. Estas herramientas se utilizan para el diseño de circuitos eléctricos, captura esquemática, simulación, prototipos, y producción. Actualmente, el proyecto gEDA ofrece una madura suite de aplicaciones de software libre para el diseño electrónico, incluyendo la captura esquemática, atributo de la gestión, la factura de materiales (generación BOM) , netlisting en más de 20 formatos netlist, simulación analógica y digital, y el diseño de la placa de circuito impreso (PCB).

Las herramientas de la Suite te permitira un diseño de calidad profesional en todo tipo de nivel. Utilizando las herramientas gEDA, podrás crear PCB de hasta 8 capas (y dentro de poco más) con un número ilimitado de componentes y redes. Las herramientas son adecuadas para ser utilizadas por estudiantes, educadores, aficionados, consultores, pequeñas empresas, e incluso en grandes corporaciones donde un ingeniero podría necesitar realizar test de una forma rápida y confiable.

El proyecto GEDA se inició debido a la falta de herramientas EDA libre para sistemas POSIX, con el objetivo principal de promover el hardware libre o hardware de fuente abierta. La suite se esta desarrollando en GNU/Linux con algunos desarrollos en otras plataformas.

¿Cuál es la gEDA suite?

GEDA la suite es la recopilación de todas las distintas herramientas que forman parte de, en relación con, o simplemente trabajar con el software del proyecto gEDA. En la actualidad, el gEDA suite incluye:

gEDA / GAF – captura esquemática y netlisting y gschem

ngspice – simulación SPICE

gnucap – simulación analógica

gspiceui – extremo delantero del GUI para ngspice / gnucap

pcb – PCB diseño

gerbv – Gerber espectador

Icarus Verilog – simulador Verilog

GTKWave – Visor de forma de onda digital

wcalc – transmisión de linea y análisis de la estructura electromagnética


OpenCollector

Open Collector lleva las listas y noticias del sotware libre para diseño de circuitos electronicos.

Aca van a poder encontrar todo tipo de software libre ademas de la suite gEDA.

Fuentes y Tutoriales:

http://el-directorio.org/ProyectoTale/Tutoriales/geda

http://www.jcoppens.com/soft/howto/geda-spice/

http://www.opencollector.org/collector.php

http://geda.seul.org/wiki/geda:faq

PLC sobre Linux

Hoy comparto con ustedes el gran trabajo de mis Amigos Personales Mario Piz, Oscar Britez (KIKO), Javier y Juancito.

Aca la Intro del trabajo, si lo quieren completo se encuentra en Mario Piz blog’s.

Generalidades del proyecto PLC Linux
Cuando hablamos de PLC en Linux, nos referimos típicamente al autómata entero: componentes de hardware, sistemas, y software de uso corriente. En general, el hardware consiste en una CPU, puertos de entrada/salida y algún dispositivo de entrada/salida analógico o digital directo.
El soporte lógico garantiza que, una vez corriendo, el PLC repite eternamente una secuencia de instrucciones de control (software de uso), que puede ser modificado en línea o fuera de ella por un sistema de programación al que está conectado. Desde el punto de vista del programador, un PLC tradicional es visto como un solo proceso que corre en la PC.arqui
En el contexto que nos ocupa, destacamos la existencia de la versión en tiempo real denominada RTLinux. Este se sitúa entre el hardware y el propio sistema operativo, creando una máquina virtual para que Linux pueda seguir funcionando. RTLinux es el encargado de gestionar las interrupciones y del acceso al hardware.
Las tareas de tiempo real comparten el mismo espacio de memoria que el núcleo y se ejecutan con todos los privilegios; es decir, pueden ejecutar
cualquier instrucción del procesador y tienen acceso a las entradas/salidas. Las tareas tienen prioridades fijas y pueden hacerse periódicas, compartir recursos
mediante FIFOs o memoria compartida, sincronizarse etc, lo que representa una serie de capacidades típicas de los sistemas operativos de
tiempo real. De forma sucinta, podemos considerar que Linux es la tarea de más baja prioridad, que sólo se ejecutará cuando no haya una tarea de tiempo real preparada. De esta forma, podemos mantener todas las aplicaciones típicas de Linux en una capa superior.

Subir ↑