Intermediate Arduino – 28 November 2015


This class is for anyone who understands the basics of the Arduino Single Board Microcontroller and wants to take their projects to the next level. You will learn to write sketches that fully take advantage of the capabilities of the Arduino. You will also learn new ways make your Arduino communicate with other devices.

As part of the course, you will build an Arduino weather station with temperature, humidity and pressure readings. Data get saved to a SD card and will also be displayed in real time on a LCD screen. A RTC will keep track of date and time.



Please note that this is an intermediate course and those attending are expected to understand the basics of the Arduino, i.e. the basic hardware, pin layout, basic programming with the Arduino IDE and connecting LED’s, switches and potentiometers.

Topics include:

  • Anatomy of Arduino board – We’ll again look at all the hardware of the Arduino like the connectors, headers and power. This is just a catch-up from the previous course
  • Interfacing with the Arduino We will quickly look at all the different interface devices and the ones that we will be using in the project.
  • Other Arduino boards – Quick overview of some of the other Arduino boards – Mega, Leonardo, Due, Mini, Lilypad and Yun.
  • The Programming Reference Language – We’ll look at all the functions, structure, variables and constants. Each component of the language will be covered before we use it practically in our project.
  • Creating Your Own Functions – We’ll demonstrate how to structure your more complex sketches and reuse your code by writing your own functions. The different type of functions will be covered and how parameters are passed.
  • Button ‘bouncing’ and ‘de-bouncing’ – We’ll look at what is button ‘bouncing’ and different techniques to do ‘de-bouncing’.
  • Hardware Interrupts – Interrupts let your Arduino react to the physical world in real time. If your sensor-driven project needs to be able to multitask, we’ll show you how to make it happen with interrupts.
  • Communication interfaces – USB and Serial Communication (UART) – The serial hardware and programming thru the serial port will be covered.
  • Interfacing with the LCD Keypad Shield – Connecting the LCD Keypad Shield to the Arduino UNO and using the LCD library to program the device. How to use the buttons on the shield will also be covered.
  • Arduino Libraries – We’ll look at the core libraries and how to import 3rd party libraries.
  • Communication interfaces – I2C – We’ll look at this communication protocol that lets you talk to a whole network of devices with just 2 pins on the Arduino and some additional software.
  • Real Time Clocks (RTC) – We’ll be using a DS1307 RTC, and learn how to connect and use it thru available libraries on the Arduino.
  • Working with Sensors – Connecting a Barometer (BMP085 ) and a DHT11 (Temperature / Humidity) and interfacing with it through libraries.
  • Communication interfaces – SPI – Another communication protocol that can be used for interfacing with external devices thru the SPI library.
  • SD cards and data logging – Learn how Arduino interface with a SD card thru SPI and how to format, read and write data to card.

Experience Required

It is highly recommended that an introductory course be completed before attending this course. This course builds on some of the concepts from the introductory course presented at House4Hack and components of the introductory kit will be used to complete this course – please bring it along or indicate that another kit is required during registration.


We currently charge R1200 for the full day intermediate course. This includes the Intermediate Practical Kit as shown on the Kits Page. If you provide your own kit, the cost of the day is R700. In order to complete the intermediate course, it is recommended that The Introduction Kit must be brought along – you can also order one for R500.
Refreshments will be made available at no cost and pizzas will be served for lunch.

Venue and time

The courses are presented at the House4Hack premises at 4 Burger Ave, Centurion 0157, South-Africa.

The Intermediate Course is a full-day course from 09:00 – 16:00 (17:00)

Please bring along a laptop with the Arduino IDE loaded and drivers installed.

Posted in: Arduino, Courses

Leave a Reply

Get involved

Mailing List / Forum:
Google Group



Subscribe for course announcements