Update to Arduino Programming Course

The Arduino programming course originally started in 2014 is being updated and extended. Updates include using the newest version of the Arduino IDE and updating the videos in the course to HD video.

Currently parts 1 to 5 of the course have been updated which cover Arduino sketch structure and flow, Arduino main loop, calling functions, variables, arithmetic operators and relational operators.

Once updates have been completed the course will be extended to include new material and topics. Take a look at the Arduino programming course contents page to see the currently available tutorial parts of the course.


Atmel Software Framework Tutorial

The final part of the Atmel Software Framework tutorial is now available. It covers how to use the ASF help documentation and how to find and use example ASF code. The tutorial uses an Atmel ARM Cortex on an Atmel Xplained evaluation board.

A previous blog post listed the current articles in the tutorial at the time of posting. The tutorial series is now complete.

ASF – Atmel Software Framework Tutorial

The first part of the ASF tutorial series introduces ASF and shows the basic structure of ASF. Each part of the tutorial series explains various parts and usage of the ASF in easy to follow steps.

The final part of this series shows how to use the ASF documentation and ASF example projects in Atmel Studio 7.


ESP8266 ESP-05 WiFi Module – Getting Started

I recently purchased three ESP8266 ESP-05 WiFi modules. These are very cheap WiFi modules costing around $4 USD each, so are ideal for hobbyists, makers and hackers to use in various projects. My idea was to try to get an Arduino web server working on WiFi as a cheap alternative to using an Ethernet shield or WiFi shield.

Although the same module is available from several suppliers, the particular module that I bought was from SainSmart: SainSmart Neu ESP8266 Esp-05 Remote Serial Port WIFI Transceiver Wireless Module AP+STA

ESP8266 ESP-05 WiFi Module

ESP8266 ESP-05 WiFi Module

ESP8266 ESP-05 Pinout and Documentation

The supplier web page for the ESP8266 ESP-05 had no pinout for the module and no documentation. Some of the information on the web page for the module was also completely wrong, for example they state that the module has 5V compatible I/O, however this is wrong. The I/O pins only work with 3.3V logic and are not 5V tolerant.

They also state “on board antennae”, but this module does not have an on board antennae, it has a connector for an external antennae.

ESP8266 ESP-05 Pinout

After some searching on the web I found a pinout diagram for the 5 pin version of the ESP8266 ESP-05. A new article with pinout and power requirements for the ESP-05 is now available on the Starting Electronics website.

ESP8266 Documentation

The manufacturer of the ESP8266EX chip found on the ESP-05 and other modules is the Espressif company. Documentation for the module must be taken from the ESP8266EX datasheets on the Espressif website. Look under Documentation on the ESP8266 resource page where you will find datasheets, user guides, application notes, technical references, etc.

Getting Started with the ESP8266 ESP-05 WiFi Module

You bought a ESP8266 5-pin ESP-05 module, now what? Here are the steps necessary to get the module working for the first time. Once you have a basic understanding of the module and where to find further information you will be able to start your own project development.

Soldering the Header

The module comes with a separate 5-pin header that must be soldered into the module. After the header is soldered to the module it is easy to use the module in a breadboard.

ESP8266 ESP-05 with Header Soldered

ESP8266 ESP-05 with Header Soldered

The following video shows how to solder the header to the module.


Aerial / Antennae

I found that the module works fine without an aerial / antennae as long as it is near enough to the WiFi router that it is connecting to. Connecting a wire to the aerial connector does give it more range and picks up the second WiFi router that I have on the other side of the house.

Testing the Module

Use the pinout diagram to correctly connect the ESP8266 module power and UART data pins. An Arduino Due is ideal for testing the module. This is because a Due can supply enough current from its 3.3V pin and works with 3.3V logic. The Arduino Due is therefore completely compatible with the ESP8266 module.

The article on testing the ESP8266 ESP-05 module using an Arduino Due shows how to connect the ESP8266 module to the Due and test it. Use this article to get started with sending AT commands to the WiFi module.

Documentation and Staring your Own Projects

Once you have the ESP8266 module working, it is a matter of sending the correct AT commands to the module to set it up for your project.

Find example AT commands in the ESP8266 AT Command Examples document.

Find all of the AT commands in the ESP8266 Instruction Set document.

Raspberry PI Qt Information Kiosk

Qt information kiosk using a Raspberry PI and official touch display. This application demonstrates how to write a full screen Qt Creator C++ application for the Raspberry PI. A simple shopping mall touchscreen information kiosk is built in Qt Creator for this example project.

The image below shows the Raspberry PI Qt information kiosk application running on a touch display.

Qt Information Kiosk

Qt Information Kiosk

When one of the information buttons is touched, the corresponding information screen is displayed with a back button for returning to the main screen. An example of one of the information screens is shown below.

Raspberry PI Kiosk Screen

Raspberry PI Kiosk Screen

Although the 7 inch touch display is rather small for a shopping mall kiosk, the application is a starting point for similar projects. It also serves as a nice demonstration that is not too bulky to carry around.

Raspberry PI Qt Application Development

The application was developed on a Raspberry PI 3 using a normal computer LCD screen. Using a big screen makes layout of the application windows in Qt Creator easier. The application was then tested on a Raspberry PI 2 connected to an official Raspberry PI touch display.

All the necessary software development tools are available for installation on Raspbian Linux. A C++ compiler, Qt Creator and Qt libraries must be installed in order to start Qt development.

Creating the Raspberry PI Qt Information Kiosk Application

All the steps needed to create this project are explained on the Raspberry PI Qt Information Kiosk project page on the Starting Electronics website. Here you will be able to download all the source code for the project and see how to create the project from scratch.

Although this project is just a demo of how to write a full screen touch application for the Raspberry PI, it can be used as a starting point for many other applications. Use the source code and project instructions to build your own Qt C++ applications – enjoy!


Raspberry PI Touchscreen Kiosk

A Raspberry PI touchscreen kiosk project GUI application using GTK+ 3 and Glade. A full-screen information kiosk application written in C for the Raspberry PI.

Raspberry PI Touchscreen Kiosk

Raspberry PI Touchscreen Kiosk

Raspberry PI Touchscreen Kiosk Details

This Raspberry PI touchscreen kiosk project is a demo application that shows a simple mall with four shops. An official Raspberry PI touchscreen is used as an information kiosk. When any button on the screen is touched, information for the corresponding page is displayed.

An example of one of the information screens for a shop is shown in the image below.

Raspberry Pi Kiosk Info Screen

Raspberry Pi Kiosk Info Screen

GTK+ 3 and Glade 3 Raspberry Pi Project

GTK is a toolkit that is used to create windows and widgets such as buttons, images and text boxes. Glade is a user interface design application that allows windows to be designed and laid out graphically. It is used to design the GUI of the application.

The Application is written in the C programming language. GTK functions are called in the C code to draw the windows and widgets designed in Glade and to attach callback functions to window events such as button presses.

Application Details and Code

The project is built from a set of GTK template files that make it easy to start a new GTK / Glade GUI application. Full code and project details can be found in the Raspberry PI Information Kiosk project on the Starting Electronics website.

The code and example project can help you to start your own Raspberry PI GUI application development if you are building an information kiosk or similar application.

Go to the Raspberry PI Kiosk Page →