P a u l C h i l t o n electronics, programming, gadgets


GHI Electronics NETMF Module Eagle PCB Library

Posted by Paul

GHI Electronics Eagle PCB Library
I've started working with the NETMF (.NET Microframework) modules from GHI Electronics and thought I'd share my Eagle library for the G120 and G120E SoM devices. Currently I haven't tested these but will be soon!


File Sharing on Raspberry Pi using Samba

Posted by Paul


A quick simple one this time: Setting up a simple Samba file server on the Raspberry Pi so that you can copy files across or develop code on a Windows machine.

To most familiar with Linux this is not rocket science but I wanted to document the simple setup I use to allow non-restricted file sharing on the RPi.

This isn't designed to be a secure file server setup as it doesn't have any user authentication but for a local development node it allows quick and easy access.


Making the Raspberry Pi a Squeezebox Player

Posted by Paul


In a previous article I detailed the steps I used to setup a Squeezebox server using a RPi. To continue on from this I want to setup a multi-room music system using the Pis. You can locate a RPi in each room in the house and connect a pair a speakers and create an easy multi-room Sonos-like music system.

You can install the player (squeezeslave) on both the server RPi and/or seperate Pi's.


Setup a Squeezebox server using a Raspberry Pi

Posted by Paul


This guide describes how to setup a Raspberry Pi as a Squeezebox server. It assumes a clean installation of Rasbian is setup and ready on the RPi. This will allow you to stream music from a central server to one or more players via your network. You can combine this with a wireless network and power your RPi from a battery to make this a truely portable music system.

Player clients can be either 'proper' Squeezebox products or you can use software players together in the same system. I will detail in a seperate post how to setup the RPi to be a Squeezebox client, you can have the player running on the same device as the server or you can have it running on a seperate RPi. You can also choose to synchronise multiple devices to the same music source and therefore stream the same music to multiple rooms!


Raspberry Pi Basic Setup

Posted by Paul


I am going to publish a small series of articles on the Raspberry Pi and give setup instructions for the things I am going to be using it for. As much as anything else these articles are for future reference for myself and I hope may be useful to some others too.

This first article details my basic setup of a Pi including setting a static IP ready for it to be used on whichever project I need.

Download and setup Raspbian as per instructions on the Pi site, let it boot up and find it's IP address (I just let it boot and look at my routers DHCP table). Using Putty (or any other SSH terminal) login to your Pi (user: pi, password: raspberry).

The first thing I like to do is to run the configuration utility in order to set the timezone, change the login password and expand the file system to use all of the available SD space.

sudo raspi-config

Labman Automation Ltd

Posted by Paul


I work for a laboratory robotics and automation company called Labman Automation Ltd where I have the role of Senior Project Engineer. We manufacture robotic systems for laboratories around the world and work in all areas of industry, including pharmaceutical, water testing, clean energy research, household products, university projects, paints and many more. We have recently launched our new website and I will be posting there from time to time on various topics. Please give us a visit.


LPC1347 Startup Problem

Posted by Paul

I was having difficulty getting my NXP LPC1347 to correctly run a program when it wasn't in debug mode connected to the programmer. It turns out that you need to explicitly set a pre-processor symbol to instruct the processor the start running your application when it boots, otherwise it just sits and idles.

In Keil this is found in the C/C++ tab of the project options. Enter 'STARTUP_FROM_RESET' in the preprocessor symbols box (put it in without the quotes).

Filed under: Uncategorized No Comments

ARM NXP LPC1347 Cortex M3 Processor

Posted by Paul


I've been playing about with some ARM processors recently after being inspired by NXP's mbed development board. I've started with the NXP LPC1347 Cortex M3 which can run up to 72MHz. I'm using the 48pin QFP package version which has 40 general purpose I/O lines, 8 of which can be used as PWM outputs as well as many other features including ADC inputs, UART, USB2.0 and I2C.

One really nice feature of these that I've been using to program the device is the USB bootloader function, connecting to a USB port using only a handful of resistors and a PNP transistor the device appears as a USB flash drive and allows new firmware to be dropped on easily. This allows for rapid development and powers the board too all with a single USB cable.

They are readily available from major suppliers such as and are under £5 each.



Posted by Paul

Arduino Uno

Inspired by reading the Jeelabs web-blog, I have started playing more with the ATmega328 for some basic sensor reading and control. The Arduino programming language and software is an open-source environment that allows easy programming of the microprocessors. The community is now vast and provides a large range of libraries for hardware control.

I am looking at using them as small nodes to take sensor reading and send information back to a central controller, although they are capable of much more and are very cheap.


Windows 7 Search File Contents

Posted by Paul

Windows 7 Search Options

I quite regularly want to search a folder of code for a specific use of a function or feature. In Windows 7 search this functionality to search file contents is not often possible by default. There is a simple way to enable this however...

Click on the Organise button in a Windows folder: