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.
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 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.
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
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.
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
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
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.
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 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
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.
In older versions of the Raspberry PI Raspbian operating system such as Raspbian Wheezy, the inittab file in /etc/ could be edited to make the OS perform an automatic login at power up. In new versions of Raspbian such as Raspbian Jessie, the inittab file no longer exists. Here is how to automatically log in to the command line interface in Raspbian Jessie.
Automatic Login to the Command Line
In Raspbian Jessie it is now even easier to set up the operating system to automatically log in to the command line. By default Raspbian Jessie automatically logs in to the desktop. Settings can now be changed from an application on the desktop.
Options that can be changed in the Raspberry PI Configuration application are:
Boot Raspbian to the desktop without login required (default in Jessie)
Boot Raspbian to the command line interface (CLI) without login required
Boot Raspbian to the desktop with login required (user name and password must be entered)
Boot Raspbian to the command line interface with login required