This is what is keeping me busy at the moment… (very, very busy!). I have presently drafted 9 of the 14 chapters. This book on the BeagleBone is due for publication in Dec. 2014. A provisional description is available at: http://www.amazon.com/Exploring-BeagleBone-Techniques-Building-Embedded/dp/1118935128/
There is a website to support this book at: www.exploringbeaglebone.com
Derek.
___
[This is a draft description, please see the website for the final description of the content in this book: www.exploringbeaglebone.com]
The BeagleBone is a small, low-cost computing platform that can be adapted for 1000s of electronic applications, such as smart buildings, robot control and environmental sensing. It uses the free Linux operating system, which allows it to do very complex tasks, such as connecting to the Internet, acting as a web server and streaming live video data.
Available books on the topic skirt over the engineering principles, often requiring readers to have the exact same electronics hardware in order to follow their recipe. This approach often only imparts superficial knowledge as, when the design needs to be changed, the reader does not have the necessary skills. Exploring BeagleBone’s aim is that readers will be able to build systems that use any type of electronics, electronic modules or external peripherals. The book caters for beginners, providing all of the engineering skills that they need to transition to being an expert user.
The first part of the book deals with the basics of using the BeagleBone, ensuring the reader can use the platform and that they have all of the necessary electronics, Linux and programming skills in order to build basic embedded Linux applications. The second part deals with the intermediate topics of interfacing, controlling and communicating with almost any type of electronics component or module. The final part of the book looks at how the BeagleBone can be used for advanced applications including: high-speed socket communication, touch screen displays, video streaming, computer vision and real-time interfacing using the BeagleBone’s programmable real-time units.
Chapters will fully integrate the video content on the author’s YouTube channel and his web/blog site. In addition, there will be a full git repository that will structure all of the code, scripts and associated supplementary materials against the chapter structure.
Chapters include:
- CH1 Introduction to the BeagleBone
- CH2 The BeagleBone Software
- CH3 Embedded Linux Primer
- CH4 Practical Electronics Primer
- CH5 Practical Programming Primer
- CH6 Interfacing – Not so Basic Input/Output
- CH7 Cross-Platform Development
- CH8 Interfacing to BBB Buses
- CH9 Interfacing – Applications
- CH10 BeagleBone – IoT
- CH11 BeagleBone with a Display
- CH12 The Seeing and Hearing BeagleBone
- CH13 Real-Time Interfacing – The PRU-ICSS
The ideal reader for this book would be a Maker or Engineering Student who has taken on embedded Linux out of a love of technology and a desire to acquire new knowledge.
Wonderful news, Derek. I have pre-ordered this book.
Paul
Thanks Paul, at least I will sell one copy! Better finish it now… Derek.
Nice. Does it have e-book version?
Thanks Tim, I believe so. The book is being prepared to suit an electronic version with all code/resources to be made available via a GitHub public repository. Derek.
Eagerly awaiting publication ! I was a bit lost when I first started on the beaglebone, and it was through your youtube videos that I finally got cross development up and working. If the book is nearly as clear to understand as the videos it will be a huge success.
Thanks John, Derek.
Hi Derek, a book about the beaglbone!? Great! There is nothing really good on the market, in my opinion. I think it will be a huge success. How many pre-orders you got now?
Hi Matthias, I have no idea on pre-orders, thanks for the support! Derek.
Anyway for an early release versions?
I’m not sure – I assume there will be a sample chapter at some stage! Derek.
Hi Derek! How often do you hear this? “I am your biggest fan!!” hehehe. I’m sure ALL your followers are your biggest fans. Especially since you really opened up the hardware to a lot of view points and applications. I am buying the book right now, and hoping there is going to be a hardcover, AND a book signing in my area. =D
OK, with the posterior-kissing out of the way, I wanted to know what your take was on the switch to Debian with the BeagleBone Black revision C. I know that a lot of your tutorials have been Angstrom-based, and I had to jump through some hoops and install packages on Debian to get to places you have gotten to. Will you be revising your tutorials to include a Debian approach? If you do, you should reach out to the public for contributions. I for one would be happy to be one of those lucky people.
I am not sure why I latched onto Debian, but it has been a real work horse for me with the Raspberry Pi AND the BBB, as well as multi-core Intel platforms.
Thank you Derek for your time and considerable contributions!
Gary Rubin of HopWorks
Thanks Gary for your kind words!
The book focuses on Debian – I think it is a great change from Angstrom which has not been receiving the same level of support of late. The cross-development work is much smoother in Debian as is USB Bluetooth and Wi-Fi support etc.
Hopefully I’ll get back to updating my blog entries and videos after the book is drafted. I have a lot of great material to cover!
Thanks again, Derek.
Looking forward to your book! (and very grateful for your sharing your expertise here.)
you need to have gpioctl
Your Site has been the biggest resource for me to learn a lot of things. I am eagerly waiting for your book. I thank you for sharing all the information on this site which helped a newbie like me to learn a lot of things.
Migration to Debian is a bit of a shocker to me, because most of the things I learned on Beaglebone was on Angstrom. I did try installing Debian on by BBB and I can’t get ADC working like it used to on Angstrom.
echo BB-ADC > /sys/devices/bone_capemgr.*/slots , this gives Permission denied error. Same error even if I run that command with sudo. Can you please help. Thanks in advance!!!
I look forward to this book. Grateful for your work/contribution in the RaspberryPi BBB workspace. If there is anyway to setup a work-in-progress version a la manning.com’s MEAP, and packtpub.com’s “read as it is written” programs that would be truly awesome, I think you would have lots of takers. It seems to help the publisher’s too as you end up w/ 100’s (1000’s perhaps) of proofreaders/code testers.
I get a lot of help from your website, that is so glad you will public your book in the future, I believe it will help a lot of engineer.
Anyway, I am behind you!
Hi Derek,
I’d like to know what will be the programming languages covered in your book, I hope Java or C/C++ but I’ll buy your book anyway.
Thank you for your outstanding work.
Hi Daniele, It is heavily focused on C/C++ (with some discussion on all languages, including shell scripts) examining some of the more complex issues in C/C++ (e.g. threading, sockets, callback functions, wrapper classes etc.). Qt features strongly on the UI side. Hope you enjoy it — it has been a challenge to get everything down (Linux, Electronics and Programming) on paper in 500-550 pages!… Derek.
Thanks for all the great content and contributions. Pre-ordered the book and hope it doesn’t kill you to get it out. Best of luck and much success with it.
Matt
Thanks Matt, Derek.
Eagerly awaiting your book! Thank you so much for sharing you knowledge. I was completely lost on getting started with cross compiling and such until I found your site. Keep doing great work!
Hi Dr Molloy,
I am an Electronis Engineering stundent looking to start working with the Beaglebone. I am not from Ireland, but I am in Dublin for the next month. Is there a place where I can buy a beaglebone black board in a shop in Dublin? The only place I found online is Radionics, but they are out of stock.
Thank you
The BeagleLogic project highlighted the marvel of those magic little PRUSS. Can’t wait to read chapter 13!
Hi Dr Molloy , I am a student from China Harbin and I am very like your video about BBB which help me a lot .at last,I am very glad to look forward to your new book about BBB ,thanks.
Pre-Ordered on Amazon!
Hi Derek,
What is the Linux distro being used for examples in the book (Angstrom, Ubuntu)?
Looking forward to learn from it.
Jan
Hi Jan, it is Debian throughout. Kind regards, Derek.
Hi Derek,
I want to install a Beagle Bone Black on my sailing yacht, making use of the CAN cpabilities of the bone. Unfortunately it is difficult to get related information. Will there be any in your book????
Prectical example of circuitry and programming????
Kind Regards
Johann (I’m in Balbriggan)
Hi Johann,
Greetings neighbour! I had a look at CAN Bus on the BBB, but it was too specific for the book and it required external driver circuitry. The best way to get CAN Bus working is to use the TowerTech TT3201 CAN Cape: http://www.towertech.it/en/products/hardware/tt3201-can-cape/ They have an image that can be loaded onto the BBB that works well.
Hope that helps,
Derek.
Sir,
I have been a great follower of your blogs and tutorials on Beaglebone Black. I would love to purchase your book as soon as possible. So it is my request that when you release this book please make it available in India.
Regards
Sounak Ranjan Das
Thanks Sounak Ranjan Das, I would hope so. There are plans for an electronic version too. Derek.
I’m glad to hear you will have Debian and PRU-ICSS in the book. Is there a compiler for that?
Andy
Hi Andy, Yes, I set up a full PRU C compiler project example. However, I really focus on writing the assembly language code instead, as it is actually somewhat more straightforward (there are only 45 assembly language instructions). I provide a set of simple examples (LED flash, button press) and more complex examples (generating PWM, sine waves, and driving a low-cost ultrasonic distance sensor). Kind regards, Derek.
Great news, I have been reading your notes and watching your videos and are great. Looking forward to have your book, I am sure it will be a success!!
Jorge
Hope to see the book in Indian markets as well.
Hello Sir,
Being inspired by your work I have started a new blog. I have learned a lot from your videos and tutorials. I am just sharing my learning experiences in my blog. I am new to this. So if there is any mistake kindly comment. If you find it good please share it. I know you are busy now, but still it is my humble request.
The link to my blog is: http://noobtechiespeaks.blogspot.in/
Regards
Sounak Ranjan Das
From someone who has used Linux somewhat extensively in the past *or at least I thought*, who now feels like a complete rookie I am awaiting your book! I am very surprised at how user space works, the device tree as well. The overlays for the device tree are a unique concept. Hopefully your book will touch on all these and more! Thanks btw for your excellent blog, without it I would undoubtedly have spent many more hours scratching my head!
Eagerly awaiting your book,
Chris
Pre-ordered a copy here too Derek. Can’t wait to read through it and enhance my learning. Thanks for all you’ve done for the BB/BBB community, and I hope your book sells out!
(But not before I get my copy…)
Derek.. I have pre-ordered the book. I am waiting with my BBB to start having some fun once I get the book.. Thanks for your effort
Ram
Kindle version is up on Amazon.com. I had pre-ordered the written version, but went ahead and bought the Kindle version too–because I couldn’t wait…lol. I also see the code on the GitHub site too. Excellent!
After perusing the Kindle version for only a few moments so far, I think this is an amazing work here Derek. Outstanding! Thank you so much for writing this.
Hi,
I got a notice from Amazon saying they didn’t know when your book would ship and asked if wanted to confirm my order. Which I did. But I bet you lost some book sales. I got a notice the next day with a date which I think is in about a week from now. So that’s good. But I think Amazon screwed up.
I hope there is some good PRU stuff in your book.
Andy
Hi Derek,
I would like to thank you so much for this great book I just received last week.
I’m also a great follower of your blogs and tutorials on Beaglebone.
TOP PERFORMANCE
Greetings from FRANCE
MERCI
Thanks Cyril. I appreciate your support! Out of interest, did you manage to buy the book from Amazon.fr? I have heard that there were issues (e.g., announced delivery dates of December 2015). Derek.
Hi Derek,
Yes form Amazon.fr, there was no issue !!
I ordered the book on January 6 and I received it on January 29.
I just checked at amazon.fr, the book will be available February 8 again 🙂
I appreciate the time and work you spend to create such Book and Tutorials
Thanks you very much
Hope we will hear from you soon
Sir
I want to interface camera and WIFI simultaneously .
How can we do that?
I need to understand how to generate interruptions with beaglebone black to attend to other tasks in a program from time to time sampling .
You could guide me on that plz. Thank this tutorial is amazing
Hi Derek,
I am following your tutorials from youtube and thanks for them.
I have TI choronos development watch. I plug RF receiver to my beagle bone revA5 and dmesg | tty show me that module is ttyACM0.
and after I can easly power it on with echo -en ‘\xFF\x07\x03’ > /dev/ttyACM0
But ı could not receive any data from module .
How can ı receive data from Module?
Hi Derek,
I really appreciate this book, I’ve only just finished chapter 4 & learnt a lot already, FlipFlops etc. Even the oscillopscope, which I’ve never used before. i expect when I eventually finish I should have a thorough understanding of using the BBB. Thanks.
Regards
Hi Derek,
the program makeLEDs.cpp does not compile in my beaglebone.
I get the message:
root@beaglebone:/home/debian/Uebungen/makeLEDOOP# ./build
Exploring BeagleBone – Building the makeLEDs application
/usr/lib/gcc/arm-linux-gnueabihf/4.6/../../../arm-linux-gnueabihf/crt1.o: In function
_start':
main’(.text+0x30): undefined reference to
collect2: ld returned 1 exit status
Finished
root@beaglebone:/home/debian/Uebungen/makeLEDOOP#
I got this message with a copy of your example on GitHub and after I tediously typed and debugged the example in your book.
I changed the keyboard layout to German. Could this be the cause?
I am novice to LINUX and c++ so I have no clue where to look.
The debian LINUX was fresh installed (sometimes the boot hangs setting up the ethernet-something, which only solution is flashing LINUX anew.
With Regard
Time to turn on the Blog again now that the book is out. Unless you have another one up your sleeve?
Hi Andy, No more books up my sleeve, not for quite a while! I am putting the derekmolloy.ie website back together after hackers took control using a backdoor in one of my plugins — they did quite a bit of damage. I hope to start posting again once I have upgraded everything. I have been adding a lot of content to the book website chapter web pages, which are accessible to all, but I think I better start cross-posting to tidy it all up. I’m starting to play with kernel code development, but it’s going to take me a while to get my head around it all. Stay tuned! Derek.
I ordered this book yesterday from Amazon and will have it in my hands tomorrow. I am using two BeagleBone Blacks (Revision C) and hope your book covers this version. I also hope to see examples based on Debian Linux.
If not however, I am SURE it will still be a cherished and well-used part of my physical real-life references. I am excited Derek to have your work in my library, and I thank you for all your incite, advice, and contributions. You are a magnificent professor of this type of technology! Reading your work has me wanting to move to Dublin and take your classes!!
Thank you again sir!
Hi Gary, thanks for your support and kind words! You will be pleased to hear that the book is focused on Debian on the BeagleBone Black. I hope that you enjoy working through the book — please check http://www.exploringbeaglebone.com for all of the support materials. Enjoy, Derek.
That is great to hear! I have a stack of SSD’s (Intel 160gb) and a SATA to USB3 (I realize the USB 2 limitation) that I am excited to use one of for the Debian OS. Going to the suggested site now. The BBB is a fantastic addition to any embedded bench. Take care. 🙂
Hey Derek, I’m sure there are many that would like to know… is there a fan site or a forum you moderate on? I would be surprised actually, as I’m sure you are a very busy man. I am sure, also, that there are many repetitive questions that would be hard to get to, but I have only one nagging one… What would be good hardware to look at that mounts all the this stuff for experimentation? My current favorite BBB rig is a powered 7 port USB2 hub, a beefy 5vdc 3amp PSU, a 160gb SSD, camera (Logitech HD Pro Webcam C920), FAVI Mini Wireless Keyboard with Mouse Touchpad – Black (FE01-BL), Edimax EW-7811Un 150 Mbps Wireless 11n Nano Size USB Adapter, lots of velco cut-to-fit, and recently, Adafruit HDMI 5″ Inches 800×480 Display Backpack Screen. I would love to find a small aluminum erector-set-like framework to mount all this on a project-to-project basis. Ahem, sorry. This is something I would love to post in a forum you moderate. Thanks again, and cheers!
Hi Gary — Great setup! I think that the Google+ community (https://plus.google.com/communities/109063557165602177414) is the best place for you to post on this as it supports photos etc. Have you looked at the Vex robotics kits (http://www.vexrobotics.com/vex/products/accessories/structure?ref=home) It is not cheap, but it is good quality and very modular. Hope that helps, Derek.
Thank you for the links Derek. I did not know about Vex Robotics. I have been looking at Makeblock components since yesterday. They are not cheap either, so I grabbed what I can as far as CAD objects so I can plan my parts purchase carefully. Certainly a step up from using sectioned peg board and plastic containers. Your book will show up at my door any moment. I CAN’T WAIT! Thanks again Derek! Have a great day!!
Just an additional comment, since I never offered anything here about your book yet. I received it about an hour ago and decided to lookup things that have interested me with the BeagleBone. I found almost everything I was ever curious about, and it looks to be very well written. Suggestions for testing and prototyping hardware, electical theory, formulas even. BeagleBone enthusiasts, both simple and hard core, are going to love this book of yours. I plan to explore it cover to cover, and hope you plan to write more.
Again, thank you sir! I hope you have a book signing in my part of the world (Arizona, USA, the Great Southwest). I will be there! Take care!
Thanks Gary.
Hi Derek,
I have your book for over a year and I am really enjoy reading it even though I am quite new to embedded system. I guess beagle bone black would be a perfect platform to start with especially with your book! Recently I came across to the last chapter-13, and following the example from the web on “High-Speed Analog to Digital Conversion (ADC) using the PRU-ICSS”, everything going well until I started to execute the ./pruadc. The program stuck after “EBBclock PRU1 program now running (495) and nothing happen onward on the terminal. I have to hit ctrl+c to exit from the program.I am not sure what is going on. There is no “leave a comment” in that particular webpage so I posted my question here. Your feedback would be much appreciated. Cheers
Dear Prof. Molloy,
Do you have any updates on your BBB book examples? For instance, the latest Debian images make Chapter 8 indications on the setting UARTs obsolete. Thank you
A very good book.
Wish to read and experiment all you stuff.
( i will do that one day)
God bless you and your family.
debian@beaglebone:~/exploringbb/chp05/syscall$ g++ syscall.cpp -o syscall
syscall.cpp: In function ‘int main()’:
syscall.cpp:22:10: error: ‘syscall’ was not declared in this scope
tid = syscall(SYS_gettid); // make a system call to get the process id
^~~~~~~
syscall.cpp:22:10: note: suggested alternative: ‘swscanf’
tid = syscall(SYS_gettid); // make a system call to get the process id
^~~~~~~
swscanf
syscall.cpp:25:38: error: ‘getpid’ was not declared in this scope
cout << "The Current PID is: " << getpid() << endl;
^~~~~~
syscall.cpp:25:38: note: suggested alternative: ‘getpt’
cout << "The Current PID is: " << getpid() << endl;
^~~~~~
getpt
debian@beaglebone:~/exploringbb/chp05/syscall$