From Concept to Manufacture We Have You Covered.

We like to think our project design policy is unique. You come to us with your ideas and requirements, and we take it and run with it. And we run miles. The first draft of any project will be massively over-engineered. We let our imaginations run wild and come up with things you may never have even dreamed of. From there we take away the parts you don't want leaving us with a design we can both be proud of.

This policy means that you get the design that you want and possibly quite a lot more.

Our extensive in-house experience and knowledge means we can instantly get an insight into the project and dream up what it could become rather than just what it set out to be.

Advanced 3D rendering and visualisation facilities mean we can show you how a design will look without having to wait for prototypes to be produced. Ideal for when the shape and size of a board is critical so it fits in an existing enclosure or to see exactly how different parts of a project will fit together.

Rest assured, though, we will always keep your goals in mind.


Our skilled engineers are able to hand-prototype your design for rapid turnaround and testing. Surface mount components down to 0402 size don't present a problem at all for us.

With both local and global partners to draw upon we can tailor our service to suit your needs - be it low cost off-shore manufacture, or very fast fabrication services, we can mesh with them all.

Wide Skill Range

Many hardware companies seem to lack programming skills, and many software companies don't always have the hardware skills you need. We, though, have both sets of skills in one. With professional programming experience and techniques we can offer not only high quality in your product but also reliability and security.

Not only that but we have developed our own open-source development environment with which to program microcontrollers. Supporting most of the more common development boards it is extensible to also easily support your own products.

Open-Source Hardware

All our own, and many commissioned, designs are created under the Creative Commons Attribution-NonCommercial 3.0 license. This allows you to take our board designs and expand upon them. All we ask in return is a nod in our direction as the original designers.

Open-Source Software

Not only is the majority of the software we write open-source (released under the BSD 3-clause license) but in-house we only use open-source software. That includes all our EDA tools, such as the gEDA suite.

Arduino and chipKIT™

One of the biggest movements in the open-source hardware field is Arduino environment. We are heavily involved with a sister system, chipKIT, which aims to bring the power of Microchip's PIC32 microcontrollers to Arduino. As part of that we are constantly writing and improving libraries to support both the PIC32 chips and their peripherals, but also for supporting third party hardware connected to chipKIT boards. All our libraries are open-source and published on Github.


We have developed our own open-source IDE for programming many popular development boards and also our own products. Providing many improvements over the Arduino IDE it also boasts a host of advanced development facilities, whilst still retaining the simplicity of use of the original Arduino IDE.

Read more on the UECIDE website:


By far the biggest library (rather a suite of libraries) we have created is the DisplayCore system for chipKIT. This is a professional grade object-oriented graphics programming environment for TFT and other displays attached to chipKIT boards. Boasting over 70 fonts and a fully event-driven GUI system DisplayCore allows you to easily and rapidly create professional and functional user interfaces for your projects.


When you're using products or services provided by a third party it is vitally important that you forge good strong links with those partners. Good communication channels lead to good results. Here are a selection of the partners we have teamed up with for projects and have fantastic links with.


Microchip are one of the leading manufacturers of microcontrollers. From small low-power (and energy efficient) 8-bit chips through to very powerful 32-bit microcontrollers, they have a chip to suit every need. Through the chipKIT™ open-source hardware platform we have become intermeshed with the Microchip Dev Tools Third-Party Group.


4D Systems, based in Australia, are manufacturers of high quality embedded display systems. Not only do we use their products in our designs, but we are also proud to be involved in the actual design and implementation of some of those products.


MikroElektronika not only produce good quality development boards but also a huge ecosystem of add-on boards called Clicks. These are the perfect rapid prototyping solution and are often integrated into customer designs for both speed of production and flexibility of operation.

Another Easy ESP8266 Hack - LED Strip Driver

LED DriverToday's ESP8266 hack is another rather easy one. This time it's a very cheap LED RGB strip driver from Amazon.

Well, I say ESP8266. In fact this one uses the ESP8285, which is basically an ESP8266 with 1MB of flash built in, so no need for an external flash chip. That makes it even cheaper to manufacture, and hence for you and I to buy.

What is it with the ESP8266?

ESP8266EX ChipThe ESP8266 is everywhere now. Whenever you buy some cheap Chinese (or even expensive non-Chinese) IoT device, like a WiFi power switch, a WiFi connected lightbulb, or whatever, you can pretty much guarantee that inside will be an ESP8266.

Xtensa have pretty much got it made.

But what is it that's so great about the ESP8266 that's got everyone using it?

Common Arduino Errors and Warnings

This is my attempt to collate and explain the most common errors and warnings you get when compiling code for the Arduino and Arduino-like boards.


Expected primary expression before '.' token

This is usually because you used a class name instead of an instance of a class. One example would be if you created an instance of the LiquidCrystal class:

LiquidCrystal lcd(4, 5, 6, 7, 8, 9, 10);

And then used something like:


instead of:

Securing Transmission-Daemon

So you have some large files you'd like to distribute. Maybe you're the author (or compiler) of a custom distribution of Linux. Or maybe you make videos, and you'd like to allow people to download MP4 files to watch off line. What better way than using BitTorrent for this? It's distributed, it's fast, it's easy to manage.

And what better system to use than Transmission, the default BitTorrent client that comes with most versions of Linux?

Windows versions ranked by usability

This is my list of windows versions that I rank by my opinion of their usability and abilities "of their time". That is, not ranked by comparing them to current standards, but comparing them purely by how they operated in their hayday. This is purely my opinion, and you will most likely disagree with it.

Personally I don't have much respect for Windows, but it did have a few highlights during its time. So here goes. I award the number one spot to:

Free, quality, wire

No, I'm not offering you free wire. Just telling you a good source for free wire.

With the whole world going HDMI these days, there are plenty of obsolete SCART cables around. You probably have some in your attic or garage, mouldering away in a box.

Strip them down. That's right - remove the connectors and the outer rubber casing, and bingo - you have a great selection of wire. Lots of different colour wires, usually in the 22-28 AWG range, and usually pretty high quality as well. And on top of that there's normally a good few lengths of shielded cable too! Bargain!

Filtering WiFi Noise

I recently needed to connect an ESP8266 board up to an audio control and processing board I was working on. And as you can guess the noise was horrendous. Kind of like when you leave your mobile phone near a radio and someone calls you. Pop, pop, crackle, pop pop...

So, some filtering was in order. In the end I came up with this circuit:


The values can probably be refined somewhat, but I just used components I had lying around.