Required Tools / consumables

  • Arduino Uno compatabile microcontroller
  • USB cable
  • Computer with internet access


These instructions specify how to install or upgrade the Arduino’s firmware.

These instructions also serve as background to the related explanation of the Arduino software.

The PPA uses various Open Source resources, which are detailed in the PPA documentation titled Open Source Licences.

Once-off Arduino IDE and library setup Instructions

  1. If you haven’t already, download the Arduino programming environment from
  2. Install the following libraries into your Arduino IDE (please follow Arduino instructions on how to register the library into your IDE)
Software Link
Adafruit GFX Library

PPA firmware upload/upgrade instructions

  1. Download the latest PPA software (Arduino sketch) by visiting
  2. Plug your Arduino into your computer via the USB cable
  3. Launch the Arduino application and under the Tools/Board menu, select Arduino/Genuino Uno
  4. Under the Tools/Port menu select ‘Arduino/Genuino Uno’
  5. File/Open and navigate to the PPA software downloaded above
  6. Select Sketch/Upload from the Arduino menu
  7. Once you get the message ‘Done uploading’ then unplug the Arduino from the USB

Processing software

The Processing software is the optional real time data acquisition that can be used to interact with and optimise the PPA.

  1. Install the Processing environment by downloading from
  2. Download the PPA’s Processing program from

7 thoughts on “Arduino and Processing”

  1. Hi,

    I’m getting compiler error “QueueArray.h not found.” I’m using a clean install of Arduino IDE 1.8.10 and am using sketch particle_simple_2_param_v5_6EM.ino.

    I could not find a package that provides the missing file.

    Please note Adafruit libraries and SPI come with the IDE.



  2. We have compiled successfully but are getting an upload error, not an “Upload Complete”. The error message provides little more than “An error occurred while uploading the sketch” Any suggestions? This is the last step holding us back from using our PPA.

    Here is a full copy of the error message:
    Sketch uses 444 bytes (1%) of program storage space. Maximum is 32256 bytes.
    Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
    C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM3 -b115200 -D -Uflash:w:C:\Users\Frank.000\AppData\Local\Temp\arduino_build_658220/sketch_apr28a.ino.hex:i

    avrdude: Version 6.3-20190619
    Copyright (c) 2000-2005 Brian Dean,
    Copyright (c) 2007-2014 Joerg Wunsch

    System wide configuration file is “C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf”

    Using Port : COM3
    Using Programmer : arduino
    Overriding Baud Rate : 115200
    An error occurred while uploading the sketch

    1. Hi Frank,
      can’t say I’ve seen that error before, it looks reasonably generic and not something specific to the PPA. I’d start by ensuring you’re able to do other sketches on the Arduino – you can run some basic example files such as File/examples/basic/blink with the Arduino unplugged with setting up any electronics. Plenty of online resources to get that example going.
      From there, may I suggest you follow the suggestions by user Pert in the following post
      Once again, this includes unplugging the arduino (from the PPA) before programming it.

      In terms of general fault finding, ideally try it on another Arduino (also unplugged from the PPA), and even another PC, to isolate where the problem is.

      Never give up!

      1. Thanks for the quick reply, Dan. I agree it is something more generic with the Arduino. And our easiest way around a generic problem like this was to switch computers. We had to switch OS from PC to Mac, but the outcome was good. And after we confirmed all the libraries were installed, the software on our MacBook had no issues uploading the firmware to the same Arduino. I’ll take it and move on. If I was doing this every day I might spend more time on the specific Arduino problem on our PC configuration, but I’d rather “smash” particles with my 8-year old daughter. She way into programming with “Scratch”, so at least she gets that Dad is now able to move forwarding with our “debugging”.

Leave a Reply