Welcome to my blog and information site which predominately concentrates on the Arduino development devices and ATmel ATmega & ATtiny micro-controllers.

Those of you who have been regular visitors since I started this project will wonder why (and a lot of you have e-mailed me to ask) a lot of the information given is out of date and related to superceded versions of the IDE, well, I'll come clean and own up to deliberately holding back while the Arduino team sorted out their differences. If you aren't aware, the Arduino Team members, American and Italian, had a major disagreement a while back and, as a result, some terrible decisions were made about the direction of the company(ies) and the IDE suffered considerably.

With the release of IDE version 1.6.0 and latterly 1.8.0, it seems that normal service has been resumed and I therefore feel that it's time to update this website. Progress will be slow but steady as I not only have content to update but also HTML to make the website phone and tablet compatible. So, please be patient!

I share some of my ideas, experiences and information gathered during my researches in the hope that it will help others, either starting out with an Arduino or looking for another approach to a project. I also invite you, the reader, to publish your own ideas and projects for the benefit of others so, go on, put pen to paper.

This website is aimed at the beginner and upwards but, if you are not comfortable about doing things suggested on this site, don't do them! I can't be held responsible if you brick your Uno or blow up your PC! Both scenarios are unlikely I know but, you never can tell. Although the tutorials cover the basics I have added some specialist pages on a variety of subjects which I will add to from time to time.

You can also visit the Hardware section for other Arduino related stuff...

BoardStuff UNO Multi Programming Shield

A major feature of this site is the programming of ATmega328 devices which seem to cause much confusion. I present, within the programming tutorial, a simple method of dealing with both the ATmega328P and the ATmega328 using the Arduino as an ISP or the AVRISP MKII.

Ready made programmers are available on the Internet at a reasonable cost and here are 2 examples:

The AVRISP MKII is one of the most popular ISP programmers available. It uses a USB interface with the computer and provides a 10 pin ICSP output header. The AVRISP MKII can also supply 5 Volts or 3.3 Volts via the ICSP header to power small projects and target AVR devices. It is compatible with the Arduino IDE, ATmel Studio, CLI or batch files. The AVRISP MKII and other variants of it are available from on-line retailers.

You can use your Arduino UNO board as an ISP by connecting it to the target project or AVR device using wires. A better solution is to use a programming shield such as the BoardStuff UNO Multi Programming Shield shown left. This shield and an Arduino sketch called ArduinoISP or, better still, ArduinoISP_Multi (available from the manufacturer) convert your Arduino UNO into a fully fledged ISP programmer.

You can even use this shield with the AVRISP MKII as a platform for your AVR device programming. Just connect the shield (without the Arduino UNO of course) to the AVRISP MKII with a 10 to 6 pin ICSP cable and it becomes a useful tool which takes your AVR devices while they are being programmed.

The original software I present on this site is designed to work and I do not expect to win any awards for method or conformity but, work it does and if you can't bear to look at the way it's written, turn away!

A Few Words of Caution!

Before we get started on all things Arduino, I thought a few words about Arduino boards and the "gotchas" you need to look out for would be worthwhile. Basically, there are four types of Arduino boards available as follows:

  1. The genuine Arduino boards made by Arduino and sold by their distributors
  2. Clone Arduino boards from the original Arduino design
  3. Compatible Arduino boards
  4. Fake or counterfeit Arduino boards

Nowadays most of my projects are stand-alone using AVR devices on PCBs or strip-board but I always, with a few exceptions, buy genuine Arduino products when they are required for research or prototyping because I know that the board I receive is made to the highest possible standard and comes with full support and, if something goes wrong, recourse to the seller. By buying genuine Arduino products Arduino get income to pay for the development of the boards and supporting software etc.

If you buy a board not made by Arduino (cheap import from China) you may have no guarantee and it may be made to a lower quality than the genuine products and, of course, Arduino earn nothing from the sale. Arduino made the whole concept "open source" and anyone is allowed to make a copy, or clone, of the boards as long as they do not try to pass them off as genuine Arduino products. Unfortunately, unscrupulous, often Far Eastern, manufacturers do make fake Arduino boards and they do try to pass them off as genuine.

I recently purchased a "genuine" Arduino UNO from a British seller on Amazon. The board was a couple of pounds cheaper than the normal board but I wasn't suspicious. What I received was clearly a fake when compared with the real thing but, if you don't have a real Arduino to compare with, how do you know? Luckily, Arduino provide some very useful information on how to spot fakes here I got my money back from Amazon and reported the seller to the Trading Standards organisation here in the UK.

So, if the board you are intending to purchase is a Funduino, Boarduino or any name other than Arduino, you know that you are getting a clone or compatible. If the board is called Arduino and it isn't the genuine article, you have been duped!

Just to clear up any misconceptions, a "Compatible" board is one that functions in the same manner that an Arduino board does but using different components.

 A "Clone" board is one that uses the same components as the original Arduino board. For instance, you can purchase Arduino "Compatible" boards that use the CH340G UART instead of the ATmel AVR device for the USB/UART section of the board. The board will appear to work in the same way as the official Arduino board albeit with a different driver on the PC but, it is only "Compatible" with the Arduino board.

One thing to bear in mind if you buy a cheap compatible UNO or similar board with a surface-mount AVR chip. It is possible to literally wear out the AVR device by flashing it too many times. ATmel say that the ATmega328 should be capable of being re-flashed up to 10,000 times but this figure could be optimistic. I have "worn out" AVR devices myself on UNO boards but, with the original plug-in AVR chip it is a simple job to replace the AVR. Try doing the same with a surface-mount AVR.

I have had my hands on a number of clone and compatible Arduino boards in the course of my experimentation so I am able to make comparisons between them and the real Arduino product. Of course, it doesn't matter where it was made and who manufactured the board as it will be identical to the original specification won't it? WRONG!

Remember, you get what you pay for!

If I have got it wrong or could have explained something in a better way, please tell me and I'll do my best to make the site better. Please feel free to browse my site and comment if you wish. Thanks for stopping by!