John L Errington MSc

Experiments with an Arduino microcontroller

These pages detail the progress of my experiments with various Arduino microcontrollers.


Driving LEDs: detailing how to choose a correct resistor value to limit current through the LED.

Reading switches: Pull up, pull down and debounce

Voltmeter and data logger: (Arduino MEGA + Ethernet shield) This project was to build a voltmeter to take accurate readings of voltage from the computer power supply connector, and store them onto an SD card.

The plan is that readings will start when a "go" button is pressed. This allows the psu time to settle.
Any two psu voltage outputs ( +3.3, +5, +12, -12) will be monitored.
Initially readings will be taken and recorded to the card at short intervals (perhaps 0.1 sec).

This device will allow soak testing of computer psu's with stored data available to investigate any faults.

Network monitor and logger: (Lolin NodeMCU) Following issues with my internet connectivity I built this unit to ping a range of targets and show results plus record and store them over a long period.

Soil Moisture Meter: (Arduino NANO) I was not satisfied with readings from a simple probe, so developed this unit to give more accurate readings.

Heater controller: will use a light sensor (photoresistor or small solar panel) to determine the amount of sunlight present. If this is sufficient an optoisolated Solid State Relay will be energized to switch on the heater. Issues here concern preventing excessive switching, and ensuring the whole system is safe.

Motor control: examines DC motors commonly used in instrumentation, control and robotics, and provides circuit diagrams and examples of ways the Arduino microcontroller can be used to control them. I'll also look at a way of measuring the current flowing through the motor, although this technique can also be used in many other applications.

Keypress simulator: (Arduino Pro Micro 32U4) Development of a unit to simulate keyboard entry; also looking at program design methodology for the Arduino.

Measuring mass: - following the recent redefinition of important physics measurement units, <see more information here> a "proof of concept" experiment in measuring mass directly (ie not as weight).

Funduino Uno


Software for arduino development and documentation

In addition to the "basics" - Arduino IDE and Fritzing - I can recommend the following:

Code::Blocks Programming environment

Notepad++ a lightweight and portable code & text editor

Meesoft Diagram Designer used here for flowcharts and circuit diagrams

Dia another tool for diagrams (I used it for the state diagrams)

Eagle Schematic Editor with the sparkfun libraries as described here

Learn to install and use eagle