pcDuino on it’s way….

Much excitement here at the moment, my new pcDuino is on it’s way from EXP-TECH in Germany (very cool site BTW!).

pcDuino product picture

pcDuino product picture

Here is a short description from the pcDuino site..

pcDuino is a mini PC platform that runs PC like OS such as Ubuntu and Android ICS. It outputs screen to HDMI. Moreover, it has hardware headers interface compatible with Arduino.

Looks like it might be what I hoped the APC SBC would have been!

KiCAD version of JeeLabs JeeNode v6

I’ve been following Jean-Claude Wippler’s blog over at jeelabs.org, he has done some lovely work on a little board called the JeeNode.

The JeeNode is a wireless micro-controller board designed for a variety of Physical Computing tasks. From measuring and reporting temperature, humidity, and other environmental data to tracking and controlling energy consumption around the house. It was inspired by the Arduino Duemilanove and Uno boards, and by the “Real Bare Bones Board” (RBBB) from Modern Device.

The JeeNode V6 artwork on JeeLabs is done with Eagle. I’d like to make one and decided to rework the artwork in KiCad.

The schematic:

KiCAD versoin of JeeNodeV6 - Schematic

KiCAD versoin of JeeNodeV6 – Schematic

The artwork:

KiCAD versoin of JeeNodeV6 - PCB

KiCAD versoin of JeeNodeV6 – PCB

There possible I’ve used the same part references as the original. You can download the full artwork: KiCAD-JeeNodeV6.tar

So time to make this PCB. It will be tricky, lots of through holes and vias, but I’m up for a challenge!

 

Getting started with the ATTiny85 and the AVR USB ISP MkII

It doesn’t take long to want to move from Arduino to more embedded uses for the Atmel MCU’s.  I got an ATTiny85 the other day and a AVR USB ISP MkII as well. Time to see if I can get the leds blinking?!

First off I had to get the Arduino IDE ready for ATTiny’s..

Installing ATtiny support in Arduino

  • Download: ATtiny (from this GitHub repository)
  • Locate your Arduino sketchbook folder ( ~/sktechbook/)
  • Create a new sub-folder called “hardware” (if it doesn’t exist already!) in the sketchbook folder.
  • Copy the attiny folder from inside the .zip to the hardware folder.
  • Restart the Arduino development environment.
  • You should see ATtiny entries in the Tools > Board menu.

Now time to wire up the ISP.. Remembering that Rst (pin 1 on the Tiny85) has to be held high via a 4K7 resister, and the ATTiny85 needs to get power from somewhere.  The ISP won’t power the circuit. No KiCAD today, just pen cad!

Pin-outs for the ISP and ATTiny85

Pin-outs for the ISP and ATTiny85

I has a RGB LED lying around so I hooked it up to the ATTiny.  Red to PWM0 (pin 5) and green to PWW1 (pin 6).

AVR USB ISP MkII connected to a ATTiny85

AVR USB ISP MkII connected to a ATTiny85

Easy and quick.. there is something very cool about a two colour pulsing LED, or is it just me?

Arduino – WiFi controlled RGB Leds

Following on from yesterdays post, I’ve decided that the remote control is not the way to go… I think these RGB LEDs need to be controlled from Internet.  Had a dig around in my parts bin and found a WiFly Shield, wrote a simple Telnet server for it that parses the colour data from the input and updates the PWMs.

Arduino WiFly Shield and RGB LED controller

Arduino WiFly Shield and RGB LED controller

Then wrote a PHP application that uses a colour wheel (jQuery based, called Farbtastic) to get a set colour and transmit the colour code over our network to the Arduino.

Basic RGB LED control page

Basic RGB LED control page

It uses a very simple socket connection to get the data over to the Arduino.. Here is the set colour handler:

<?php

$colour = $_REQUEST["c"];

$fp = fsockopen("10.0.0.67", 23, $errno, $errstr, 30);
$rply = '';
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    $out = $colour."\r\n";
    fwrite($fp, $out);
    while (!feof($fp)) {
        $rply .= fgets($fp, 16);
    }
    fclose($fp);
}

if ( substr( $rply, 0, 2) == 'OK' ) {
    header("location:./?d=y&c=".urlencode($colour) );
    exit();
    }

header("location:./?d=n&c=".urlencode($colour) );
?>

Work nice, now I can set the light colour over the web… cool!