A Website for Digital Electronics and Embedded Systems Education and Innovation
BeagleBone MaterialsThis site brings together the video content on the Derek Molloy YouTube channel and structures it so that you can follow the videos as lessons. The website integrates associated documentation, datasheets, source code and tools to allow you to get the best from the video series. The website also contains a blog that allows me to post new videos, articles and useful information that is not be in video form.
Subscribe to my YouTube Channel
You can subscribe to my YouTube channel in order that you are notified when I have new videos. I mainly post announcements and interesting articles to Google+, but I also have Twitter and Facebook accounts that I use to announce new videos, events, important blog posts or new sections on the website.
New Book (June 2016) – Exploring Raspberry Pi

Derek Molloy’s Exploring Raspberry Pi first covers the basics of the hardware platform, recommended accessories, software, embedded Linux systems, and Linux programming techniques. Then it takes you deeper into interfacing, controlling, and communicating, with detailed information about Raspberry Pi GPIOs, buses, UART devices, and USB peripherals. You will learn to configure a cross-compilation environment in order to build large-scale software applications, as well as how to combine hardware and software to enable the Raspberry Pi to interact effectively with its physical environment. Finally, you’ll discover how to use the Raspberry Pi for advanced interfacing and interaction applications such as the Internet of Things (IoT); wireless communication and control; rich user interfaces; images, video, and audio; and Linux kernel programming. [More Information][Purchase on Amazon]. See the book website at: www.exploringrpi.com
Featured: Embedded Linux Web Applications
In the article “CGI using C++ on the BeagleBone (Ggicc)” I begin by explaining how you can use a C/C++ program, rather than a CGI script, to display a web page. I then investigate the use of the GNU Cgicc library for more structured and complex interactions such as HTTP GET and HTTP POST requests.
Featured: CMake by Example
The article “Introduction to CMake by Example” provides a straightforward set of “Hello World!” introductions to using CMake for building C++ projects. All steps are performed using Linux on the BeagleBone platform, but the instructions are relevant to most Linux platforms. Building complex projects is where CMake really shines — CMake is a cross-platform Makefile generator! Simply put, CMake automatically generates the Makefiles for your project.
Featured: Embedded Linux Kernel Programming
In this series of articles I describe how you can write a loadable kernel module (LKM) for an embedded Linux device. The series is broken up into three articles:
- Writing a Linux Kernel Module — Part 1: Introduction, and
- Writing a Linux Kernel Module — Part 2: A Character Device, and
- Writing a Linux Kernel Module — Part 3: Buttons and LEDs
The articles work towards explaining how you can write kernel code that interfaces to custom electronics circuits that are attached to the GPIOs of a Linux embedded system, and how you can add enhanced functionality for such devices that is not available by default under embedded Linux. The BeagleBone is used as the deployment platform for these articles, and while it is desirable that you use the BeagleBone in order to follow along with these articles, it is not a requirement.