Uploaded July 2010 | Updated September 2026, 3 weeks ago
EE223 Introduction to Digital Electronics Decoder Example. This video shows the use of a 74238 (74HC238) 3 line to 8 line decoder. 3 switches are used for the inputs and 8 LEDs are used to indicate the output line that is selected.
This is one of the circuits in the EE223 Introduction to Digital and Analogue electronics module at Dublin City University. The associated materials are at: http://www.eeng.dcu.ie/~molloyd/EE223/
EE223 Introduction to Digital Electronics Decoder Example. This video shows the use of a 74238 (74HC238) 3 line to 8 line decoder. 3 switches are used for the inputs and 8 LEDs are used to indicate the output line that is selected.
This is one of the circuits in the EE223 Introduction to Digital and Analogue electronics module at Dublin City University. The associated materials are at: http://www.eeng.dcu.ie/~molloyd/EE223/





![Beaglebone: C/C++ Programming Introduction for ARM Embedded Linux Development using Eclipse CDT
A new version of this video is available (Jan, 2015) See: https://www.youtube.com/watch?v=T9yFyWsyyGk
This video introduces C and C++ programming on the Beaglebone platform, which is applicable to any embedded Linux development. I quickly introduce how we can program directly on the beaglebone using a terminal window and point out the limitations. I show the steps that are necessary to set up the Eclipse CDT environment and use the Target Management RSE (Remote System Environment) plugin to communicate with the Beaglebone. I then demonstrate how we can use Eclipse CDT IDE to cross-develop (using arm-linux-gnueabi) applications for the ARM architecture. To do this, I write a short program that flashes the user LEDs on the Beaglebone. Finally, I demonstrate how we can set up a cross-debug environment, where we use gdbserver on the arm device and gdb-multiarch on the client device to establish a full debug environment.
TangoBravo has pointed out that some paths have been changed in the current Angstrom image (June 2013). For instance, the path to the brightness properties has been changed in the latest version of Angstrom.
The old path: /sys/class/leds/beaglebone::usr3/brightness
...is now this: /sys/class/leds/beaglebone:green:usr3/brightness
So you have to make the change to get the LED to flash. Check your path to verify.
If you use this video in your research, please cite:
Molloy, D. [DerekMolloyDCU]. (2012, Apr, 10). Beaglebone: C/C++ Programming Introduction for ARM Embedded Linux Development using Eclipse CDT [Video file]. Retrieved from http://www.youtube.com/watch?v=vFv y...
One common problem that arises with this setup:
If bash reports file not found when executing an executable file that exists, the reason is that it doesnt recognise it as a binary file, and attempts to treat it as a script. The hypothetical script should start off with #!/path/to/interpreter and bash cannot find the (non-existent) interpreter so it returns file not found. This could happen if for example you are running a 64-bit executable on 32-bit machine, or an x86 executable on an ARM target.
In Eclipse your executable should display in your source directory as HelloWorld - [arm/le] in the project explorer window. If it does *not* then there is a problem with your compiler setup and you need to watch the steps again. If it *does* then one likely problem is if that you are using an ARM Linux platform that uses hard floats and that you have compiled using my setup which uses soft floats. Here are two possible solutions:
- Graemefisheratwork let me know that he has found that when using the ubuntu armhf distros, applications should be cross-compiled using arm-linux-gnueabihf- and not arm-linux-gnueabi-. This seems to have worked for him on the ubuntu 12.04 armhf build.
- Im using Linux omap 3.2.18-psp14 armv71 in this video that I built myself which has defaulted to soft floating point numbers. There are floating-point options in gcc that you have to set when using hardware floating point numbers you should add -mfloat-abi=hard to your compiler options. Beaglebone: C/C++ Programming Introduction for ARM Embedded Linux Development using Eclipse CDT](https://i.ytimg.com/vi/vFv_-ykLppo/mqdefault.jpg)



![Beaglebone: Introduction to GPIOs - Using Device Tree Overlays under Linux 3.8+
In this video I continue my series on the Beaglebone and Beaglebone Black by demonstrating how to use its GPIOs for both input and output applications. I wire simple input and output circuits that are attached to two GPIOs one that lights an LED and the other that receives a button input. This video will cover the Linux device tree for ARM embedded systems and explain how you can create custom Device Tree Overlays (DTOs) to configure the GPIOs for your applications at run time from within Linux userspace. I explain the use of internal and external pullup and pulldown resistors and I make available and describe a set of C++ code examples for reading and writing to the Beaglebones GPIOs. I have also built a set of PDF tables that aggregate the information that you need and make it easier to configure GPIOs on your Beaglebones P8 and P9 headers. The code for this video is available by typing:
git clone git://github.com/derekmolloy/boneDeviceTree.git
at the Linux shell prompt. Further information on the videos on this channel can be found at the website http://www.derekmolloy.ie/ including update blogs, source code, text guides and structured instruction.
If you use this video in your research, please cite:
Molloy, D. [DerekMolloyDCU]. (2012, May, 3). Beaglebone: GPIO Programming on ARM Embedded Linux [Video file]. Retrieved from http://www.youtube.com/watch?v=SaIpz0...
Please find more information on these videos at: http://www.derekmolloy.ie/ Beaglebone: Introduction to GPIOs - Using Device Tree Overlays under Linux 3.8+](https://i.ytimg.com/vi/wui_wU1AeQc/mqdefault.jpg)
