About the Book

About the Book
About the Book2019-01-11T16:13:56+00:00

Welcome to the Companion Website

This is the companion site for the book “Exploring BeagleBone: Tools and Techniques for Building with Embedded Linux” Second Edition by Derek Molloy. It is maintained by the author and it contains supporting digital downloads, video, and source code examples. The website also contains additional materials that are too specific to include in the book. Each chapter in the book links to an individual web page (e.g., /chapter1), which can be accessed using the drop-down menu on the top right-hand side of this page.

Exploring Raspberry Pi Website
erpi_tiny_cover Exploring Raspberry Pi

Please also see my other book website on the Raspberry Pi. 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.

If you already own Exploring BeagleBone or Exploring Raspberry Pi, please visit the Exploring Raspberry Pi website to see how this book is different.

Exploring Raspberry Pi Website

The Book

FrontCoverv2_webopt
BackCoverv2_opt

Purchase the Book:

Available worldwide in January 2019. Released in the US and Canada in January 2019. Released to the rest of the world in late January/early February 2019. Kindle and eBook versions released in December 2018.

A personal note: Thanks to everyone for taking the time to write such kind reviews on Amazon, this web site, and on other web sites. I really appreciate your support and feedback. Thanks, Derek.  
Americas:

Europe:

Rest of the World:

e-Books: (now available)

Full List of Worldwide Locations: Wiley International List

Description

Exploring BeagleBone (Second Edition) is a hands–on guide to bringing gadgets, gizmos, and robots to life using the popular BeagleBone and PocketBeagle embedded Linux platforms. Comprehensive content and deep detail provide more than just a Beagle board instruction manual—you’ll also learn the underlying engineering techniques that will allow you to create your own projects. The book begins with a foundational primer on essential skills, and then gradually moves into communication, control, and advanced applications using C/C++, allowing you to learn at your own pace. In addition, the book’s companion website features instructional videos, source code, discussion forums, and more, to ensure that you have everything you need.

In–depth instruction and practical techniques for building with the BeagleBoard.org embedded Linux platform

The BeagleBone and PocketBeagle’s small size, high performance, low cost, and extreme adaptability have made them a favorite development platform, and the Linux software base allows for complex yet flexible functionality. The Beagle boards have applications in smart buildings, robot control, environmental sensing, to name a few; and, expansion boards and peripherals dramatically increase the possibilities. Exploring BeagleBone provides a reader–friendly  guide to the device, including a crash course in computer engineering. While following step by step, you can:

  • Get up to speed on embedded Linux, electronics, and programming
  • Master interfacing electronic circuits, buses and modules, with practical examples
  • Explore the Internet–connected Beagle board and the Beagle boards with a display
  • Apply the Beagle boards to sensing applications, including video and sound
  • Explore the AM335x Programmable Real–Time Controllers (PRUs)
  • Second edition updated to cover the latest Beagle boards, Linux kernel versions, and Linux software releases.
  • Second edition includes new content on Linux kernel development, the Linux Remote Processor Framework, CAN bus, IoT frameworks, and much more!

Hands–on learning helps ensure that your new skills stay with you, allowing you to design with electronics, modules, or peripherals even beyond the Beagle boards. Insightful guidance and online peer support help you transition from beginner to expert.

Author

Dr. Derek Molloy is an Associate Professor in the School of Electronic Engineering at Dublin City University, Ireland. Derek produces a popular YouTube series on the BeagleBone platform and a wide variety of embedded Linux topics. His videos and personal blog have introduced millions of people to the BeagleBone, embedded Linux, and digital electronics. See the About the Author page for more information.

Technical Editors

Marcia K. Wilbur is a technical communicator consulting in the semiconductor field, focusing on industrial IoT (IIoT). Marcia holds degrees in computer science, technical communication, and information technology. As the Copper Linux User Group interim president, she is heavily involved in the East Valley maker community, leading regular Raspberry Pi, BeagleBone, Banana Pi/Pro, and ESP8266 projects including home automation, gaming consoles, surveillance, network, multimedia and other “pi fun.”

Jason Kridner is the Software Community Development Manager for Sitara ARM processors at Texas Instruments Incorporated (TI). During his over 20‐year tenure with TI, he has become an active leader in TI’s open source initiative and played an integral role in creating open‐source development tools such as BeagleBoard, BeagleBoard‐xM BeagleBone, and now BeagleBone Black.

Robert Zhu is a principal development manager at Microsoft for the Windows Operating System Group. He is an expert in OS leading‐edge development, research, and design in computer engineering such as kernel, device driver, and board support packages.

Source Code

Octocat_small All of the source code that is described in this book is available in a public GitHub repository: Derek Molloy Exploring BeagleBone repository.

You can clone this repository on a Linux desktop computer or your BeagleBone using the command:

You can also install a Windows GitHub desktop application or a Mac OS X GitHub desktop application. Alternatively, you can download a full ZIP archive of the code using the following link: Download Source Code (this is a live link that automatically provides you with the very latest files).

Molloy, D. (2019). Exploring BeagleBone: Tools and Techniques for Building with Embedded Linux, Second Edition, New York: Wiley, 978-1119533160, 740pp.

BibTeX Citation:

Early Reviews

Derek Molloy’s, Exploring BeagleBone, is THE book to go to if you are interested in learning about embedded Linux programming and how to use it to exploit the powerful capabilities of the BeagleBone single board computer. The book clearly presents the essential elements of embedded systems and explains in detail how to interface the BeagleBone to sensors, actuators, and electronic circuits.

I appreciate the author’s approach of not making the book a compilation of recipes or focusing on a grand project, but rather building the reader’s understanding of core concepts in a ‘learn-by-doing’ manner, so that any project suitable for the BeagleBone could be subsequently tackled.

Exploring BeagleBone is the book that I’ve been looking for to demystify embedded Linux and shorten the learning curve regarding how to do more sophisticated projects, such as incorporating vision or interaction over Internet.

… you’ve covered the content from a dozen titles on my bookshelves. What I’ve learned on this topic has taken me a decade of self-study culling through books and release notes and various platforms. Here, you’ve demystified it all in the span of a single (large) volume – I wish I had this Explorer’s guide a decade ago!

… I do think your book is MUCH needed. The conceptual material applies to all these “tiny computers”, and I’m thrilled you’ve tied it to the BBB!

… Your book brings together a great collection of chapter topics. I previously had to piece this together from a small library of books on electronics, physical computing, embedded systems, Linux, software, image processing (OpenCV), and Git. Your one book is enough to get me up and running on all those topics. Additionally, you’ve gathered in one place valuable BBB information that previously was hard to find and only buried deep in the web. Thanks for making my bookshelf a little lighter and deeper.

Loaded with helpful information and coding tutorials, this exploration around the extensive capabilities of BeagleBone Black has me excited to connect everything I encounter to the Internet, simply because I can now.
This wonderful book is at the nexus of so many of the skills that are vital to today’s computer scientists, electrical engineers, and innovators of all stripes as they turn their ideas into transformative creations.

The melding of these skills, which are often taught in a disparate manner, into a synergistic form is a wonderful achievement. This book, which spills beyond the printed page, to a collection of hands-on videos and additional sources of information, will become a mainstay in teaching any members of the next generation of computer scientist and electrical engineers who are eager to turn their ideas into reality.

Please post comments related to the content in the book under the relevant chapter web page (see the top right menu). This section below is for comment/feedback on the book in general. Thanks. Derek.

47 Comments

  1. Mohamed December 28, 2014 at 8:53 am

    As an R&D engineer, I could judge the text even without completing it. From the outline and the early introduction, I see that it’s an amazing book. It covers almost all things needed for developing for BBB. Derek, you did an amazing job. I wish all teachers and book authors teach and write like the way you did.

  2. Pieter Kruger January 14, 2015 at 1:16 am

    Awesome book! Good work Derek! Just received it yesterday and started reading right away. Looking forward to building some cool stuff. Highly recommended!

  3. Sounak January 20, 2015 at 8:59 am

    Thank you sir for keeping my request of making it available in India. The print edition will be releasing on 22nd January and I am planning to grab a copy by February.

  4. George Hardill January 20, 2015 at 10:59 am

    Have waited patiently for the arrival and it has been well worth the wait – excellent job Derek in such a short time? Just proves the adage “if you want a job doing, give it to a busy man”.

  5. Sam February 6, 2015 at 7:09 am

    This is a superlative text. Reading it is a pleasure. It has been an astonishing five chapters, thus far.

  6. gunsailor February 14, 2015 at 6:22 pm

    hello Derek,
    i’am not very proud of my english.
    i wonder your book will be traducted in french !
    I hope so … Could you tell me about it ?

    • Derek February 15, 2015 at 5:38 pm

      Hi, I’m afraid that Wiley has no current plans to translate the book into any other language. Apologies, Derek.

      • gunsailor February 22, 2015 at 10:45 pm

        ok i buy it anayway

  7. Wouter February 15, 2015 at 10:06 am

    What a great book, It answers questions which i had in mind for a long time now and you answer questions before anyone can ask them, Also for Linux in general. Good job Derek.

  8. Marty Porter February 20, 2015 at 2:55 pm

    Prof. Molloy, let me start out by saying your book is absolutely fantastic. You’ve covered enough detail in it to keep me busy for a long, long time. I’ve set up a number of things now that I could not figure out before…. thanks so much.

    Now, my first major hurdle: I’m trying to set up the tmp36 to measure temperature using c++. Following your steps on page 384 when I try sudo sh -c “echo BB-ADC > $SLOTS” I get a response that says “sh: 1: Syntax error: end of file unexpected” (quotes mine). Could you explain a little bit more what this command is doing and perhaps what I might be doing wrong? It looks to me like it is setting up things to be able to read the ADC, but I’m lost at this point. Thanks for your consideration.

    • Derek February 20, 2015 at 9:19 pm

      Hi Marty, thanks for your feedback. I think that your SLOTS environment variable is not set. You can test this by echoing the value of the SLOTS environment variable using the following:

      You have a problem if this is blank — see page 223. Then see page 224 on how to ensure that this variable is passed to the root account by using the visudo command.

      The command that we would like to execute is sudo echo BB-ADC > $SLOTS but unfortunately it won’t work. This is because we are redirecting the output using > but that step is performed with your user permissions (not superuser permissions). So, it has to be packaged up using a sudo sh -c command, which is used to perform the entire command (including the redirection) with sudo permissions. Hope that helps, Derek.

  9. Marty Porter February 24, 2015 at 10:09 pm

    Very clear now… thanks for the amplification. I have the SLOTS environment variable set up now and the TMP36 is working fine now. I’m guilty of kind of jumping around the book some and tried the TMP36 implementation before I should have. I didn’t realize that the instructions given under the heading “A Room Temperature Sensor” in chapter 10 relied on previously absorbing the SLOTS discussion you had in chapter 6. I had skipped the section on “The BBB Cape Manager” thinking since I wasn’t using a cape it would not be too interesting to me. It wasn’t till I realized that the cape manager is the heart of how one sets up the GPIO pins that I needed to understand more about that topic.

    I’m still very, very impressed with your book and the depth of understanding you’ve helped me with. I’m beginning to get this beaglebone to do some really useful things for me now! Thanks!

  10. Yakup February 26, 2015 at 11:46 am

    I think this is the best book about BeagleBone. I have read some other book but this is different. Good work Derek!

  11. Skypuppy February 28, 2015 at 6:08 am

    It took me 6 days to absorb this work! (I did have to rest after the thrid day.) 🙂
    Really, what an outstanding piece. There are a couple of areas that you entirely glossed over that are key to my moving forward. One was using Qt. I have stuided 2 other books on Qt but learned nothing from either. Oh, I’ve been programming since 1977 and a software “engineer” since ’81 or so. UNIX/IRIX/Linux/Solaris is my background, along with Winblows, of course. My past work has centered mostly on the other end of the scale, like multi-user databases, for example.
    Currently I’m tinkering with sensors but just can’t seem to get the basics through my thick skull, even though I’ve been at that for a while. Your book got me leaps and bounds ahead of where I was, via picking up tidbits in short web pieces and the occasional worthy book. So enough about me – just needed to establish my bona fides. 🙂
    Back to Qt. You have a 45 minute vdeo on the web that I have watched twice, but you move through the keyboard so quickly I could not follow (plus the text is teeny-tiny) that I could not use your video as a reference. Is Qt a RAID environment or is it purely an IDE?
    The money I spend on your book was well worth it and saved me probably months in my current effor, that of using a BBB for an IMU with WAAS GPS for some other tinkering I’m doing.

    Thank you for the great work, sir!

    • Derek February 28, 2015 at 9:40 pm

      Thanks for your feedback and kind words. Yes, I would have liked to add a lot more on Qt, but it’s not to everyone’s taste and I was under pressure to keep the number of pages, and hence the cost of the book, down. Unfortunately, it would take an entire book just to describe Qt and its application to the BeagleBone — from development tools, to the APIs, to building libraries, to deployments etc. What I tried to do in the book is to give people enough of a taster so that they could get a project up and running and see why it is a valuable extension to C++ for embedded systems development. I think that Qt is best understood once you think of as a set of platform-independent C++ libraries (yes, complex ones!). The Qt Creator program is an IDE, but it’s not required in order to build Qt applications — in particular it provides for a nice drag-and-drop UI designer. In the book I reinforce this point by building a Qt project directly on the BBB without the need for Qt Creator (pg. 442), but then I use Qt Creator for a more complex rich-UI client/server application. The code examples in the GitHub repository have a lot of extra comment that may help with your understanding. I appreciate that there is a lot going on but hopefully the two client/server examples (pg. 448 & 463) might be useful for information display using your WAAS, as they are quite complete. Kind regards, Derek.

  12. DavidA March 3, 2015 at 9:23 am

    Hi Derek, congratulations on the excellent reviews that you have received so far. I am interested in learning about interrupt-driven Linux device drivers. Does your book discuss such techniques? Best regards, David

    • Derek March 3, 2015 at 12:19 pm

      Thanks David. In Chapter 6 I present userspace code for interacting with GPIOs using /sys/poll.h, pthreads, and callback functions. With this approach I demonstrate response performances of less than 350us with insignificant CPU overhead. The approach does not use interrupts but the performance is much better than a simple file poll and it is sufficient for most userspace applications. Unfortunately, writing device drivers was one step too far for the book but it is the next logical step for the content in the book, and it is on my list of things to describe. I just need to find the time now! Kind regards, Derek.

      • DavidA March 3, 2015 at 12:51 pm

        Thanks Derek. That is helpful. Best regards, David

  13. Dennis Bouldin March 6, 2015 at 1:29 am

    Hi Derek… I just got a copy of the book today and my initial impression is very favorable. However, there’s one very fundamental (newbie) question that I have that I don’t think you answer (in the opening 3 chapters, admittedly read very hurriedly). I picture the eMMC as the BBB equivalent of the HD of my PC. If that’s the case, if I flash a new image on it do I lose all files and data that I’ve added over time? If so, is there an easy way to back up data to an SD card (assuming I’m flashing to a system that’s still functioning, of course). Indeed, such periodic backing up would appear to be prudent in any case if reflashing does indeed destroy everything. Thanks Dennis B. (Vermont, USA)

    • Derek March 6, 2015 at 10:00 pm

      Hi Dennis, thanks for your support. Yes, that is a fair point. Flashing the eMMC will destroy all of the data on the BeagleBone, including your own files. There are a couple of different steps I would recommend to back up your home directory and transfer them off the device:

      • You can transfer files from your user account to the SD card as you have suggested using a recursive copy call (e.g., cp – R /home/molloyd /media/molloyd)
      • You could compress all of your files to a single archive file and then ftp it to your desktop machine (e.g., tar -zcvf molloyd-mar-2015.tar.gz /home/molloyd)
      • Build all of your code in a GitHub repository and periodically push it to the remote repository — this is a great way to keep a history of your project as it develops over time. See page 93.

      However, in the longer term I would recommend that you perform your software development on your desktop PC and remotely deploy the files as descried in Chapter 7. That way, should you damage your filesystem using your code, then you can restore it very quickly. I think that you always have to be prepared to lose the contents of your BeagleBone when you are developing code that interacts with the system. Hope that helps, Derek.

  14. Pedro Restrepo March 11, 2015 at 12:45 pm

    Hello Derek, This is, unquestionably, the best book I have ever read on the BBB or similar boards. I really appreciate the effort you put in making it accessible to people ranging from those with a rudimentary knowledge all the way to experts. Are you compiling all the erratas in a single place? If so, where can I find them?

    Thanks, Pedro

    • Derek March 11, 2015 at 3:20 pm

      Thanks Pedro for your support! For the moment I am adding the errata to the bottom of each chapter web page. I will create an aggregated guide once it appears that we have found them all! Kind regards, Derek.

  15. Bob Drury March 23, 2015 at 8:04 pm

    Thanks for the great book. I had watched many of your videos, so when I saw you were writing a book on the BBB I preordered it. It’s the best book on BBB ever. Just a few comments, these things are problems I encountered while setting up cross compilation on my windows desktop. These probably are the results of my ignorance with Linux. The first problem was trying to find a live image of Debian 64 bit. I found a live 32 bit Debian image and I installed it without much trouble in VM VirtualBox. After following the instructions in the book I could get a “Hello Word” program to compile but it wouldn’t run in the emulator. Following the error messages from the console I had to copy 5 files from /usr/arm-Linux-gnueabihf/lib to /lib to get it to run correctly. The files were: ld-linux-armhf.so.3; libstdc++.so.6; libm.so.6; libgcc_s.so.1; and libc.so.6. Thanks for great book.

    • Derek March 23, 2015 at 10:43 pm

      Thanks Bob for your support and kind words. The Debian 64-bit image has the name “amd64” and is suitable for Intel platforms. For example, the network install (netinst) is available on the right-hand side of this page: https://www.debian.org/CD/netinst/. Ideally, I would recommend the use of Debian 8 (Jessie) due to problems with cross compilation. See the instructions on the Chapter 5 web page. That was a strange problem with the emulator! Thanks for letting us know as it may be helpful to others. Kind regards, Derek.

      • Bob Drury March 25, 2015 at 9:12 pm

        Thanks again for your awesome book. I did try the “amd64” image but had trouble getting it installed in VM VirtualBox, I’m not sure why. I’m a retired aerospace engineer. Years ago we used Unix running under Solaris, but by the time I retired we had switched to windows workstations, so I lost some of my skills with Unix/Linux. I had read a number of books based on the BBB. but they all lacked the depth of your book. They all were “starting out with the BBB” level and left me with many unanswered questions. Your book fills in all of those questions and more.

        • Derek March 25, 2015 at 10:23 pm

          Thanks Bob, Derek.

  16. Vani March 26, 2015 at 10:09 am

    Hi Derek,

    I am completely new to Linux and have been working on other embedded systems with OS and C/C++. I searched on the web and found that BeagleBone board would be a good way to start off with Linux learning and development. I have ordered my copy of the BBB as well as the book which I hope to receive in a day or two.
    But hearing about all these reviews i just hope that me, being a newbie to Linux, try and get as much out of the book as i see others are.

    Thanks!
    Vani

    • Derek March 26, 2015 at 10:20 am

      Hi Vani, if you have experience of C/C++ then you should be fine. If you have experience of development on other embedded platforms then you will find the interaction with GPIOs under Linux more verbose and less efficient, especially for real-time tasks. However, you will be impressed by how you can leverage Linux to build advanced network-attached embedded applications. Enjoy! Derek.

      • Vani March 26, 2015 at 10:40 am

        HI Derek….
        Yes I do have experience on other embedded systems, have been working on those for 9 years now….Wanted to get my head into linux embedded as well….too late but still!!
        Looking forward to make the most of this book…

  17. skypuppy April 19, 2015 at 4:56 am

    Wah! My book is already starting to fall apart. It is almost new and I’ve used it so often, it is starting to disintegrate before my very eyes.
    It is SO handy!!!!

  18. Daniel April 26, 2015 at 7:01 am

    Dr. Dereck Molloy.
    I am definitely going to buy your book.?
    However, I have a question:
    Do you have a list that mention all the electronic components needed
    to complete the projects in the book? That way I will order all together.

    • Derek April 27, 2015 at 10:19 pm

      Thanks Daniel, I’ll have to do up a full list and add it to the website — please check back later. Kind regards, Derek.

    • Derek April 28, 2015 at 12:23 am

      Hi Daniel, I just added a parts page. See: http://exploringbeaglebone.com/example-parts/ Kind regards, Derek.

  19. Daniel April 29, 2015 at 5:54 am

    Thank you so much for the information Dr. Derek Molloy.
    Also, thank you for the corresponding links added, those are very helpful, as well.

  20. John May 3, 2015 at 12:16 am

    Derek,
    You’ve written a wonderful, comprehensive book that really make it easy to use the BeagleBone. I’m moving up to Beaglebone from years of working on small, single-chip micro controllers. One thing I have not been able to find in your book is this: I’ve got an application written and test and it works fine. How to I get it to run automatically at power-up without logging into the board? For truly embedded systems, this seems like a very important thing. Solutions involving systemd don’t seem to run until you login to the board (maybe because they rely on bash scripts?).

    Is there is easy way to autostart a binary that was written in C or C++ at power on without requiring someone to log in to the board? You have some info on installing scripts in /etc/rcx.d directories in Chapter 3, but installing in /etc/rc5.d seems to only run the script after a login.

    Any ideas on how to make BBB autologin/autorun a program at power on?

    Thank again for such a great book!

    -John

    • Derek May 3, 2015 at 12:27 am

      Hi John, thanks for your kind words! Yes, to start a service on boot is covered, but it is hidden away in Chapter 9, beginning on page 368. Once you have the C/C++ program built, it is reasonably straightforward to start it — use the bbb-serial-server.service that is listed on pg. 369 as a template for your custom service, placing the executable name against ExecStart. Use systemctl to enable the service. Hopefully that helps. Kind regards, Derek.

  21. FrankV May 13, 2015 at 4:35 pm

    Derek, thanks for putting together the best practical reference/tutorial on the Beaglebone. Your book and this accompanying website are my go-to twins on most everything BB. I am running the latest Debian (3.8.13-bone70). I hope to use this board in a programmable irrigation system for a garden. I am porting some existing code from a Kinetis board to the BB. I like the idea of having a real TCP/IP stack at my disposal versus having to spoon-feed an add on module for communications. For real-time requirements (PWM, input capture) I’ll be using the PRU.
    Thanks again.

    Best Regards, Frank

  22. Elliott Jeyaseelan May 18, 2015 at 7:01 pm

    Derek, this book is simply fantastic. All that info in one place, this is a worth while investment for anyone getting into this space. I have been playing with pics, motorola controllers, stm’s etc and have several dozen books on this subject matter, this one is pretty incredible with indepth technical detail and how-to’s for beginners and advanced alike. the accompanying website with updated info is superb with new content, code and articles etc saved me hundreds of hours of googling, a lot of effort has gone into this book, thanks to everyones contributions, especially to Derek for taking the time to write this comprehensive treasure of a book! This is THE book to own if anyone is interested in jumping into IoT space, microcontrollers, hands on solution development using reasonably yet powerful modern soc type processors, just buy this book asap, you wont regret it. Looking forward to more from you. -Elliott, Ontario, Canada

  23. Citius May 23, 2015 at 2:41 pm

    This book along with the companion website are incredible. I have read the book from cover to cover and now carry it with me everywhere in my backpack as an invaluable resource to refer back to. I recommend it to anyone I meet who is interested in BBB. There is no other way to so thoroughly learn BeagleBone. From what you learn in this great book and the companion site resources a, there is very little you cannot do with this BBB platform. I strongly believe a dedicated person could make a living developing solutions using simply their mind, and the powerful BeagleBone Black and this book (and website) as a guide.

    • Derek May 23, 2015 at 4:58 pm

      Thanks! Derek.

  24. ben August 3, 2015 at 1:19 am

    I finally took the plunge and bought a bbb and the book! It was my new year’s resolution to start learning this, so I’m just a few months behind 😉

    Coming from a windows application programming side, never having touched linux, let alone building linux for an embedded device, anyone know if visualgdb or wingdb is commonly used (either in the book or communiity) ? It’d be nice to use the M$ Studio IDE for developing/debugging, at least until I’m familiar with gnu toolchains, etc.

    My main learning objectives are working with linux embedded system and network programming… specifically, I’m interested in UDP programming, as I understand it is the common way IoT devices communicate. I assume a dedicated book on TCP/IP is needed to understand networking, any recommendations or videos that would be a good start? I saw a book for ‘WireShark’ but it seems geared for advanced readers.

    Thanks!

    • Derek August 5, 2015 at 12:21 am

      Hi Ben, well done — it’s always good to keep learning new things! It is possible to use the GNU toolchains from within Windows with MingGW but I have found it to be extremely painful, particularly if you with to use 3rd party libraries. I think that the best way to go is to install an Oracle VirtualBox image and do all your Linux-based development within that. The nice thing about using a VM is that you can back it up and revert to an earlier version if you make a bad mistake — great when you are learning. For IoT applications, you can get a good start with the TCP communication work in the later chapters. There is everything there that you need to get started with TCP client/server applications (UDP can come later). Having the VM also means that you can build a multi-tier client server application all on the same machine and bring wireshark into the picture! Good luck with your studies! Derek.

  25. Tomm September 2, 2015 at 12:11 am

    Derek,

    Thanks for a really grand treatment of the BBB in your book and videos. I gave both a shout-out on my company web site today.

    Tomm

    • Derek September 2, 2015 at 10:31 pm

      Thanks Tomm, Derek.

  26. Andrew Bushnell September 14, 2015 at 1:30 am

    Are you going to write a book on the MSP432? How about some more videos?

    Andy

    • Derek September 16, 2015 at 3:17 pm

      Hi Andy, No book planned on the MSP432 — I’m involved in a different project at the moment that is consuming all of my time… Kind regards, Derek.

  27. Doug McNutt May 16, 2016 at 1:32 am

    My first compiled language was Fortran with no dates after the name. My son now wants to include a microprocessor in some airborne camera pointing and he’s all in favor of a Raspberry Pi. For a bit more than a year I have been trying to find out how to program it. Yes it will run Linux, Python, and perl, but I need to use the extra little goodies that Broadcomm put in. So far all I have seen is guess work by some other folks who finally figured out a way to get pulse width modulation to work. I made folks mad when I refused to work that way and insisted on at least a listing of assembly commands for the parts. That’s proprietary information is the answer.

    With that as a background I was absolutely pleased to see a list of commands in your book which the lady brought home from the library. My order for a personal copy has been sent off. I’ll have a real Beagle soon and I just might be able to make a contribution. Thank you for doing it right, including the discussion of timing without interrupts. It will be fun going to my pre-fortran days and get back to an assembler and a soldering iron.

Comments are closed.

Exploring BeagleBone

This is the companion site for the book “Exploring BeagleBone: Tools and Techniques for Building with Embedded Linux” by Derek Molloy. The site structures and contains all of the digital media that is described in the book. Each chapter in the book links to an individual web page, which can be accessed using the menu on the top right-hand side of this page when you close this menu. For details of the book itself, click here.

Recent Works

Latest from Derek Molloy YouTube Channel

Oops, something went wrong.