• RRP: £27.50
  • You Save: £5.08 (18%)
FREE Delivery in the UK.
In stock.
Dispatched from and sold by Amazon.
Gift-wrap available.
Trade in your item
Get a £14.73
Gift Card.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Bad to the Bone: Crafting Electronic Systems with Beaglebone and Beaglebone Black (Synthesis Lectures on Digital Circuits and Systems) Paperback – 1 Apr 2013

See all formats and editions Hide other formats and editions
Amazon Price New from Used from
"Please retry"
£22.42 £30.20

Frequently Bought Together

Bad to the Bone: Crafting Electronic Systems with Beaglebone and Beaglebone Black (Synthesis Lectures on Digital Circuits and Systems) + Getting Started with BeagleBone: Linux-Powered Electronic Projects With Python and JavaScript + 30 BeagleBone Black Projects for the Evil Genius
Price For All Three: £48.91

Buy the selected items together

Trade In this Item for up to £14.73
Trade in Bad to the Bone: Crafting Electronic Systems with Beaglebone and Beaglebone Black (Synthesis Lectures on Digital Circuits and Systems) for an Amazon Gift Card of up to £14.73, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more

Product details

  • Paperback: 424 pages
  • Publisher: Morgan & Claypool Publishers (1 April 2013)
  • Language: English
  • ISBN-10: 1627051376
  • ISBN-13: 978-1627051378
  • Product Dimensions: 19 x 2.4 x 23.5 cm
  • Average Customer Review: 3.7 out of 5 stars  See all reviews (3 customer reviews)
  • Amazon Bestsellers Rank: 308,015 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, and more.

Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

Customer Reviews

3.7 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See all 3 customer reviews
Share your thoughts with other customers

Most Helpful Customer Reviews

2 of 2 people found the following review helpful By Sunny on 11 Jun 2013
Format: Paperback
I think the main difficult thing for this book is to understand the first chapter. Here for any beginner it can be difficult to prepare the beaglebone to program. If someone can understand the first installation, I think for him/her this micro controller can be very easy and this book can help a lot. I feel this book can be a great choice for anyone who want to start on beaglebone.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
Format: Paperback Verified Purchase
Not or the novice, but a good book that covers some interesting topics well and explains quite a bit about interfacing sensors.
There are some clear code samples in the book and if you want to look at building a boneyard for control projects this isn't a bad place to start.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
3 of 5 people found the following review helpful By Dermie on 25 July 2013
Format: Paperback Verified Purchase
This book spends about one chapter explaining how to connect the device up, and run a simple Python script (which is included with the device).

After that, the book becomes very general (how to program, what a PWM is, what a UART is) or very specific (how to do an ADC conversion (if you have additional specific hardware).

The main things I wanted it for, are all missing in this book:
- What needs to be bought in addition to the board (a 5V power supply, a memory card with PC adaptor for reflashing the OS, an Edimax Wifi module)
- How to get Wifi going (with patience)
- How to get configure it for a fixed IP address or NetBIOS name so it can be found on the network (lots of info on the internet)
- How to install Python (its installed already)
- How to configure minGW to allow compilation of a C program on a PC (still working on this)
- Dependencies on different modules (still working on getting USB device mode working while Wifi is working)

Save your money, and look on the internet for setting up the BeagleBone. Invest in a good book on Python on C.
2 Comments Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Helpful Customer Reviews on Amazon.com (beta)

Amazon.com: 13 reviews
33 of 36 people found the following review helpful
Vague Coverage-Poor Editing 26 July 2013
By Vapor - Published on Amazon.com
Format: Paperback
IMHO, this book is not worth the money! If the poor editing was not enough: (Pg 20 "You made (sic) [may] need to include other..." Pg 23, "It is important to pay (sic) learn about..." Pg 38, "...Bonescript is written to (sic) specifically for it. "...JavaScript interpreter that (sic) for running on the web host..." Pg 45, "We introduced each function on when-needed basis..." (correct phrase is "on an as-needed basis"), Pg 50, "...the sensor output voltage decreases with the range from the sensor to maze wall." Should this actually read, "...decreases as the range from the sensor to the maze wall increases."?, Pg 53, "The loop function calls several functions to read..." Should it be, "The loop function call a function to read..." (look at the code directly above this paragraph and it only has one call that reads: IR_sensor_value = b.analogRead(ainPin); in the while(1) loop. The other two function calls are digital writes. On Pg 58 he uses the abbreviation UML before ever defining to what it refers.) And I could go on about the extremely poor editing; then the lack of information makes it a zero!

On the technical side, the explanations are more suited for at least a Junior Level college course where students have had a couple of years of microcontroller interfacing and are knowledgeable about the ARM processor and the peripherals. The author only provides a vague overview with programming stubs stating that the details are left for exercises at the end of the chapter.

He provides only a cursory introduction on BoneScript. He does not present how the user loads, launches, or interacts with the interpreter.

He lists two different robot platforms for his exercises, one from Graymark International and a DFROBOT ROB00003 from Jameco. Both examples could utilize the DFROBOT and save the person trying to learn some money.

He provides a very poor explanation of the interface headers. He does not go into the different processor modes and why one would or would not choose one over the other. The person trying to learn Beagle is left to trial and error. Pick a header (8 or 9) and guess at what pin you should use. If you guess wrong, or if the processor is in the wrong mode, oh well, that is your problem.

He tries to push the use of UML Charts as some type of 'visualization' tool for embedded design. These charts appear to be nothing more than a torturing of the charts used in The Jackson Design Methodology (Ref. Creating Effective Software, Computer Program Design Using the Jackson Methodology, David King, Yourdon Press Computing Series, ISBN 0-13-189242-8. Yes, I know the Jackon approach is a transaction analysis and not embedded design. Or refer to Chapter 10 Transform Analysis in Structured Design, Fundamentals of a Discipline of Computer Program and System Design, Yourdon and Constantine, Prentice-Hall, Inc., ISBN 0-13-854471-9.

Or,if you really want to learn Object Oriented Programming (event driven programming) I would recommend Object-Oriented Analysis and Design, with Applications by Grady Booch, Benjamin/Cummings Publishing, Inc., ISBN 0-8053-5340-2. Or if it is still available, purchase a copy of the Object Oriented Programming in C++ by David S. Burris, Ph.D in Computing Science, Sam Houston State University, Huntsville, TX 77340. An embedded system could be designed as a Top-down program, but Object-Oriented Programming is more suited to this paradigm. The purpose of Object-Oriented Programming (OOP) is to develop an efficient system that is driven by events and not a top-down iteration. By nature, embedded systems are event driven. That is, the environment (albeit the user or some sensor) triggers an event and the processor must respond to the event. Events are not necessarily sequential or linear in their occurrence and frequency. They are random and the system should conform to the world it is trying to control.

All-in-all, I was greatly disappointed in this book. Being a first to market book, I thought it might be the "Beagle Bible". Instead, IMHO, it is the "Beagle-boondoggle." Hopefully Dale Wheat will write a BeagleBoneBlack Internals so everyone can learn the ins-and-outs of Beagle.
22 of 25 people found the following review helpful
Bad for the BeagleBone 2 Aug 2013
By Omenica - Published on Amazon.com
Format: Paperback Verified Purchase
I had high hopes for this book, since the BeagleBone/board could use some concise, useful and practical information. However this book is just not helpful. The topics it covers range from a too quick discussion of Javascript, weirdly focusing on comparisons to other languages, to a lot of discussion of elementary electronics. The book is full of comments about how 'this will be more fully discussed elsewhere', but the 'elsewhere' is either not there, or is even more brief than the reference. The major thing I was looking for, namely insightful hints and comments on the internal workings and manipulation of the power of the BeagleBone is completely lacking. So I am back reading the online documentation, hoping that the next book will do a better job.
22 of 27 people found the following review helpful
Puke. Can't give it zero stars... 17 July 2013
By Shikantaza - Published on Amazon.com
Format: Paperback
I bought a BeagleBone Black DevKit and thought a printed reference would come in handy. As of last week, only Bad to the Bone: Crafting Electronics Systems with Beaglebone and BeagleBone Black was available. I bought a copy.

A serious error on my part.

This book was hastily jammed out by a couple faculty types who can fill in the gaps during the lectures. Good on them - class or no, there are LOT of gaps. I'm not sure what their course is about, perhaps Embedded Systems programmed in C, but the material in the book is not comprehensive without a lot of help. There is a section on C, but it is really sketchy.

The overview of the BeagleBone Black hardware adds essentially nothing to the materials posted at BeagleBone.org. When compared to the free presentation by the CEO of BeagleBoard ([...] the book is a complete waste of time.

Bad to the Bone essentially presents some class projects, and gives enough material to maybe get through the work with the help of a decent TA, but newcomers aren't going to really learn the whys-and-wherefores. Project source codes are given, but I didn't spot a URL where one might get the sources. (I've found the effort of typing something blindly from a book isn't terribly educational - it's much more profitable to use the time to dig into why things are done a certain way, and what alternative techniques are available.)

There is more sketchiness about Linux programming. Over the top for hobby newcomers, not enough for people wanting to do something semi-serious (though I don't view Linux as appropriate for embedded systems).

Anyone interested in starting from scratch would be well advised to learn BoneScript as a way of goofing to learn or to quickly bringing up a new project.
14 of 17 people found the following review helpful
Hastily Pushed to Market 15 Jun 2013
By Tim Craig - Published on Amazon.com
Format: Paperback Verified Purchase
My overall impression of this book is that it was cobbled together quickly and pushed to market. I'm not sure what audience the authors meant to serve. The introductory sections on JavaScript and C aren't long enough to do a beginner any good and the experienced programmer will already know them. These topics are rightfully the subject of an entire book on their own. There are some code examples in the book but they're presented with little or no supporting explanation of why they were written as they were. The section talking about some of the supported communications subsystems consisted of "yes, the Beaglebone has (I2C, SPI, CAN) so buy a cape supporting it and you'll get documentation. The example on PWM is presented twice because it's handled differently in the version of Linux on the original Beaglebone and the Beaglebone Black. The text says it's for updating at 100 Hz and 50% duty cycle. The Original is correct but the Black version is really for a PWM updating at 50 Hz and 50% duty cycle. This book really didn't provide much value beyond what I already learned from the documentation and information I found online.
5 of 6 people found the following review helpful
Part Microcontroller- Part Computer Science 1 Dec 2013
By Larissa Swanland - Published on Amazon.com
Format: Paperback
I had been reviewing the BeagleBone in the market place and its abilities and was considering recommending it to teach intro to Embedded Systems. When I looked for a good textbook for the BeagleBone this one came recommended.
I found the reviews on this book slightly confusing, with some people who absolutely loved the book and others that found it not helpful at all. The author pairing on this book was also different. One coming from a hardware/ microcontroller background (Barrett) and one coming from almost a software only background (Kridner). The Beaglebone was also similar in that it appeared to have the microcontroller peripheral abilities, but instead of using C/C++ Language to program-- had the ability to run higher level, linux based computer languages. After reading the book I found that the mix of reviews, plus the intersection of two completely different author backgrounds were related. This book is ideal for either Computer Science- type audiences who wish to get into hardware design (e.g. think the audience that buys a raspberry pi and uses an arduino) or microcontroller type people who wish to learn more about the world of embedded linux.

+ The Book comes with homework examples and labs that you can use to set up. Full Bill of materials lists and exercises are available. (I was not sure if there was a solutions manual, but I didn't contact the author to ask).
+ The book is structured in a traditional embedded systems format and follows a semester long-style of course
+ the examples are detailed and easy to follow if you are familiar with traditional microcontroller-type courses
+ It is one of the only texts on the market that covers the white beaglebone which still can be purchased at retailers such as Microcenter

- The book spends a lot of time with different programming languages. Although it is an advantage of using an OS-based processor like this one, I felt there wasn't enough time spent on the differences between a microcontroller and this type of processor.
- The expectations of this book were very lofty, beginning with " New Comers" and even "experienced" ... it was difficult for me to gauge which audience I fit into and had to invest the time to read the book and decide for myself.

Additional Comments:
I felt the book perhaps needed a supplemental, "Linux for new people" section, since I am completely unfamiliar with anything running anything higher than a real time OS.

I come from a traditional microcontroller background, and found it a bit overkill to use a Linux based operating system to blink an LED. In a microcontroller-textbook the focus is usually on the interfacing with peripherals, software to handle the interupt nature of software and getting to learn the individual components inside of the processor to create an overall system. Bad to the Bone had many of these examples and the focus that one would normally find in a microcontroller text (such as building a robot and interfacing to seven segment displays). What was interesting for me was the intersection of the Linux, computer science material that was interspersed into the book.Computer science books have always been a bit of a struggle for me to get through (considering that most of the activity can be done on a computer and getting hands on isn't a priority).

I think all and all this is a good book, but you will need to have your expectations set before getting into it.
If you are looking for an in-depth understanding of the Cortex A Processor that is on-board, the resources mentioned in some of the reviews may be a better place to go.
If you are looking for a quick, Get Up and Running with some examples, the new Matt Richardson Book-- would be a better place to go.
However, if you are teaching embedded systems, are willing to invest the time to learn embedded linux or are in computer science and are looking for ways to make your programming courses more physical-computing type and an Arduino is not educational focused enough for you, then this book, in my opinion, would be a good fit.
Were these reviews helpful? Let us know