Best mcu/digital books - Page 1
Forum section: electronics / general

author: asgard20032
author_rank: Regular Contributor
timestamp: June 16, 2016, 08:32:19 pm
content: We already have a thread on best books for beginners in the beginner section of this forum. But when looking at the list, I still find it not so helpful. First, it look more like a list of any general purpose book about electronic with few one specialized, and many of those are more geared at beginner (like arduino cookbook or practical electronic). It is a book for beginner thread after all. The goal of this thread is either a) a continuation of what has been done (so going a little bit outside of the complete beginner book) or a first step in a overhaul of the already existing one, to add a more structured approach with many similar thread in different section of the forum (Best mcu/digital book, best analog book, best power electronics book, best DSP book, best ham book thread). But anyway, we will see if we do a) or b) latter.For the moment, lets put out the layout of this. First, lets try to not pick the book for complete beginner that goes from chapter one (never programmed before) to chapter 10 (I can finally blink a LED and send one packet trough UART), but more to book that go from chapter 1 (never programmed to medium experience) to chapter 10 (I can make a robot with complete LCD control and I think I could go USB next). Well not exactly, but you see what I mean, no Arduino cookbook(Book about arduino is allowed, but only if it go to some real topic, and not just using some library to blink led... a book that goes trough the whole process of building a full robot with arduino, including PID... this is a real book). The goal is to take book that even after it has been read one time, it could still be used as a reference because it cover serious thing and not just complete beginner stuff thing. Although, we will still include book for beginner, but the one we really get enough stuff for our money. So book that could be used for people that want to really learn and maybe even use them for university. The book could be about learning the inner-working of an architecture, learning how to use a mcu with its internal register, learning USB, whatever. It could be about single board computer...The knowledge as never been as accessible, everything is available in books, internet... There are many low cost development board and tool... But there is still one thing that may slow beginner and student : which book to take. If you go on amazon and search a topic, there are so many result. And many of them got 5 star, even if the learning value of the book is low (There are so many learn the easy way... learn in 3 day, XYZ for beginner, cookbook...). It is hard to find some book that will really get you from beginner to some more advanced stuff, most of the book stay on simple topic. This thread is the remedy to this situation, where hobyiest that want to learn the real thing, student, or the guy with the next startup can find some serious book that will add value to his book shelve, and maybe even raise its sex appeal.Next, people that has the book and used it enough should write mini-review, then I will setup link from this post to each individual review.Best PIC 8 bits BooksBest PIC (16 & 32 bits) Books- Programming 32-bit Microcontrollers in C (Lucio Di Jasio)- Programming 16-bit Microcontrollers in C, Learning to Fly the PIC24 (Lucio Di Jasio)- Graphics, Touch, Sound and USB (Lucio Di Jasio)- Microcontrollers: From Assembly Language to C Using the PIC24 Family (Robert B. Reese, J. W. Bruce, Bryan A. Jones)Best AVR BooksBest MSP430 Books- MSP430 Microcontroller Basics (John H. Davies)Review ->Asgard20032Best ARM Books- The Definitive Guide to ARM® Cortex®-M3 and Cortex®-M4 Processors (Joseph Yiu)- The Definitive Guide to the ARM Cortex-M0 (Joseph Yiu)Best FPGA Books- FPGA Prototyping by VHDL Examples: Xilinx Spartan-3 Version (Pong P. Chu)- FPGA Prototyping by Verilog Examples: Xilinx Spartan-3 Version (Pong P. Chu)- Embedded SoPC Design with Nios II Processor and VHDL Examples (Pong P. Chu)- Embedded SoPC Design with Nios II Processor and Verilog Examples (Pong P. Chu)Best Programming Books(more mcu/cpu centric, optimization, digital communication... than general computer programming)- Hackers delight (Henry S. Warren)- Making Embedded Systems: Design Patterns for Great Software (Elecia White)Review ->igendel- Computer Systems: A Programmer's Perspective (Randal E. Bryant, David R. O'Hallaron)Review ->Asgard20032Best single board computer & linxu driver development Books- Exploring BeagleBone: Tools and Techniques for Building with Embedded Linux (Derek Molloy)Best Control theory/DSP books-and so on...IN construction. Wait 2 hour, the time I get home, before I continue it. Need to find how to add spoiler, to give small desciption to books.Also, if you add a review... please, one review per post. Because 30 review link pointing to the same post......

author: uncle_bob
author_rank: Unknown
timestamp: June 16, 2016, 08:47:56 pm
content: HiJust a comment ....Your first post (so far) illustrates very well one of the most basic issues: The book you want is tied to the gizmo you will use. There are a bazillion gizmos you might decide to use. Thus there are an enormous number of books at various levels. If you went into an undergraduate program to learn this stuff, they would not take you straight from "this is a gate" into a specific gizmo. There would be a bit of course work in-between. That is generally missed when people jump straight from the intro level into a specific device. The flip side is that most of the materials used for those courses are designed for classroom instruction. They are generally horrible for a "self taught" approach.Bob

author: nctnico
author_rank: Super Contributor
timestamp: June 16, 2016, 08:48:25 pm
content: "Making embedded systems" from Elicia White should be on the list. It is not specific for one microcontroller family but -as a modern book should- is focussed at ARM. Out of curiosity I got a copy; I got half way and so far Elicia has been preaching to the choirRegarding books in general: I still like books because they (should) offer the information in organised way. Internet is filled with fragments but in many cases in-depth information is missing. In other words: internet is great to find the right keywords to pick a book or publication.

author: asgard20032
author_rank: Regular Contributor
timestamp: June 16, 2016, 08:48:35 pm
content: Asgard20032 review of MSP430 Microcontroller Basics (John H. Davies)Rating 5/5I own this book, and I must say that this book is really great. It cover some topic that few other book cover. First, it explain the inner working of the mcu. It also explain how the different peripheral work, how to use them. And it explain peripheral with concrete real example. For example, on the chapter about comparator, it explain how to measure capacitor and inductor. This is pretty nice to have the mcu side mix up with the analog side. Finally, the best thing is that it give example that highlight the strength of that mcu (most book just show how to use an mcu in general without using its real strength ). For instance, there is explanation for most example and project on how to reduce power consumption (on the mcu, but also on the analog around the mcu). I really love this book.

author: dannyf
author_rank: Super Contributor
timestamp: June 16, 2016, 10:12:43 pm
content: I have found those mcu-focused book to be ofnminimal uses.It really take twoo to be good in embedded programming: C and device datasheet.

author: asgard20032
author_rank: Regular Contributor
timestamp: June 17, 2016, 02:06:26 am
content: Quote from: dannyf on June 16, 2016, 10:12:43 pmFor someone already familiar with the topic, and for someone who already understand how XYZ peripheral may help achieve a goal, yes. But for people that are less familiar, a book like Programming 16-bit Microcontrollers in C, Learning to Fly the PIC24 (Lucio Di Jasio), that show multiple peripheral and how they can integrate into some medium sized project, help better understanding. And later on, when they will do their own project, and they will have a need, they will maybe remember : ah yes, there was a peripheral that may suite my need and I could use it that way, wait a minute I will open up the datasheet.Those type of book are a little more advanced, without being out of reach of beginner. They have 3 purpose : familiarizing with some concept, and be a reference later on, and finally, some more specific book will also learn completly new concept, like Hackers delight that show more advanced math trick. So definitely not useless book. I really think beginner could use help from book, but most of the time, beginner take book that are just too much simplistic and show nothing.

author: uncle_bob
author_rank: Unknown
timestamp: June 17, 2016, 02:28:31 am
content: HiI do believe this is a two layer process once you are out of the "beginner" stage:1) Learn broad principles of proper coding and other techniques that are totally processor agnostic2) Focus on a specific processor to accomplish a given projectThe two are really not the same thing and are unlikely to be addressed in a single book. The world has *lots* of books in category 2. The thing that is lacking is both a good set of books in category 1, and a focus on directing people to them (*before* they learn how to do it wrong).Bob

author: ez24
author_rank: Super Contributor
timestamp: June 17, 2016, 02:29:01 am
content: If this develops maybe it should become a sticky. Will watch thisthanks

author: asgard20032
author_rank: Regular Contributor
timestamp: June 17, 2016, 01:45:32 pm
content: Asgard review of Computer Systems: A Programmer's Perspective (Randal E. Bryant, David R. O'Hallaron)Rating 4.5/5Pro :- Cover many topic that few book really cover- Optimization- Linux- Assembly- CPU architecture and designCons :- Price (When I bought it 2 year ago, it costed half the price it is right now)This book is the perfect book for someone wanting to learn FPGA, and design CPU. Or just programmer wanting to do more efficient program, that better use memory and pipeline. Or simply people that are interested to know how a computer system really work. It is a really big book, in size, in weight, in area it cover, but also in its content. It really goes into detail. Although this is a very mini review, I encourage you to check amazon review. All I can say, it is in my top 3 best book ever. If it was not the price, I would give a 5/5 rating. I bought the second edition. Now there is a third edition that focus more on 64 bit architecture, and more modern implementation of linux kernel, to do even better optimization. If you want to learn reverse engineering, there are better book out there on this subject, but this book is also sufficient to learn your way in that topic. There is a chapter where with a lot of C to assembly and assembly to C. For any computer engineering student, it is a must.

author: kony
author_rank: Regular Contributor
timestamp: June 17, 2016, 05:11:11 pm
content: The Scientist and Engineer's Guide to Digital Signal Processing by Steven W. Smith, also found online for free here:http://www.dspguide.com/.

author: asgard20032
author_rank: Regular Contributor
timestamp: June 17, 2016, 05:50:43 pm
content: Quote from: kony on June 17, 2016, 05:11:11 pmAnd this one also :http://www.sp4comm.org/Much less know, but is still a good free book. I will update the list soon. Comon guy, if anyone of you know good book and have read it, it would be nice if we could get some mini review. I already did 2 mini review (The only other one I could do is FPGA prototyping with verilog once i will finish it)

author: ez24
author_rank: Super Contributor
timestamp: June 17, 2016, 10:12:42 pm
content: How about this onehttps://leanpub.com/mastering-stm32FYI the author is a member. The book is 60% done but currently is over 500 pages. There is a free sample available

author: asgard20032
author_rank: Regular Contributor
timestamp: June 18, 2016, 01:28:04 am
content: Quote from: ez24 on June 17, 2016, 10:12:42 pmNice find. There is also this one : Discovering the STM32 MicrocontrollerIts been a while its out there, and it was using one of the first disco board. But from the front page, 5 june 2016, so it was updated recently. Maybe they cover new F3 or F4, don't know didn't read it yet.Anyone own the mastering-stm32? How it is?Edit : I checked his website. Altought there are few post on his blog like website, the few article there show that the author know his subject and know fix to many bug with stm32 HAL, like the ethernet phy problem with the stm32f7. Also, for the very few I read, it look like very concise and readable, but complete at the same time (easy to follow, not like if he skip important part). This is based on a 3 min check of his website. So I guess his book should follow the same style : low of detail, but without useless talk, so concise.Comon guy, anyone know a some great arduino book? Like I said, book that really cover some learning? Arduino is one of the worst area for book, there are million of book for arduino, but most of them are just too much simple. A good book would show how to integrate many notion in a medium size project, how to access the inner of the mcu (like timer), how to organise project and do state machine.

author: ez24
author_rank: Super Contributor
timestamp: June 18, 2016, 02:59:37 am
content: Quote from: asgard20032 on June 18, 2016, 01:28:04 amAnyone own the mastering-stm32? - yesAt 587 pages I would say it is not low on detail

author: ez24
author_rank: Super Contributor
timestamp: June 18, 2016, 03:15:08 am
content: Suggestion to OP (asgard20032) :- set your country flag in your user settings- include Amazon links to your listed books like thishttps://www.amazon.com/Programming-16-Bit-PIC-Microcontrollers-Second/dp/1856178706/ref=sr_1_4?s=books&ie=UTF8&qid=1466219408&sr=1-4&keywords=lucio+di+jasiothanks

author: asgard20032
author_rank: Regular Contributor
timestamp: June 18, 2016, 06:45:22 pm
content: Quote from: ez24 on June 18, 2016, 02:59:37 amSorry, I wanted to say a lot of detail, not low... my bad.

author: dannyf
author_rank: Super Contributor
timestamp: June 18, 2016, 07:35:48 pm
content: QuoteTough to write a sophisticated book on something that simple. For example, you don't see volumes of high-tech research and papers on how to breath, or to walk: because it is simply unnecessary for most people. Arduino falls into that category.QuoteMany of those things are fairly dependent on the ide used (limiting here due to the arduino ide's lack of project management capabilities), or datasheet driven (like timers or interrupts, a thing that arduino crowd is quite afraid of), or non-arduino specific (state machine).You can learn all of that without having an arduino specific book.

author: uncle_bob
author_rank: Unknown
timestamp: June 18, 2016, 08:07:18 pm
content: Quote from: dannyf on June 18, 2016, 07:35:48 pmHiThis is why in a formal setting (university) you *do* learn the general stuff in a platform agnostic fashion. That lets it be taught without the IDE learning issues get in the way. The same is true of a good book. It is far easier to write in a general fashion and it will sell to a lot more people. It just might be that ... errr ... it's still useful a while after it was published ...Knuth, Art of Computer Programming Vol 1-4https://www.amazon.com/Art-Computer-Programming-Vol-Fundamental/dp/0201896834/ref=sr_1_2?ie=UTF8&qid=1466279878&sr=8-2&keywords=art+of+computer+programminghttps://www.amazon.com/Art-Computer-Programming-Seminumerical-Algorithms/dp/0201896842/ref=sr_1_6?ie=UTF8&qid=1466279878&sr=8-6&keywords=art+of+computer+programminghttps://www.amazon.com/Art-Computer-Programming-Sorting-Searching/dp/0201896850/ref=sr_1_5?ie=UTF8&qid=1466279878&sr=8-5&keywords=art+of+computer+programminghttps://www.amazon.com/Art-Computer-Programming-Combinatorial-Algorithms/dp/0201038048/ref=sr_1_3?ie=UTF8&qid=1466279878&sr=8-3&keywords=art+of+computer+programminghttps://www.amazon.com/Art-Computer-Programming-Fascicle-Techniques/dp/0321580508/ref=sr_1_9?ie=UTF8&qid=1466279878&sr=8-9&keywords=art+of+computer+programmingNot going to tell you much about your ARM or Arduino. It's one of the great sets of books for all those nasty things you need to do, but just can't quite be sure if you have it right or are doing it "stupid". Do you need to read the whole thing (including all the various volume 4 extensions ...) nope. It's worth reading, but you can get quite a bit simply diving into the section on the topic you need. These have been around ... errr ... a while (I used them in school). They have very much withstood the test of time. They aren't going obsolete any time soon. Do they have the very latest and greatest approach to ever obscure thing you would ever want to do? Of course not. They still cover "all the bases" better than any set of books I have come across.Bob

author: igendel
author_rank: Frequent Contributor
timestamp: June 18, 2016, 08:56:20 pm
content: Review of Making Embedded SystemsThis book, as claimed on the back cover, is an introduction to MCUs for people who already know how to program a computer. As mentioned in a comment above, it is not specific to any board, MCU or architecture, so you can't read it as a "hands-on" guide and it won't give you practical experience. It doesn't discuss much electronics either. However it isveryreadable, and gives a great overview of the embedded programming essentials: anything from reading a datasheet and using a multimeter, through interrupts, debounce and 7-Segment displays, to communication protocols, bootloaders, integer-math tricks and map files. It covers the major concepts, the common techniques and the common pitfalls.Some topics are explained in great detail, some just mentioned (e.g. about half a page for "Ethernet and WiFi") - but that's justifiable, and there are lots of good "further reading" references. I think this book is an excellent introduction to the programming side of embedded systems, and also a good reference you'll want to keep around, at least until you've gained considerable experience.

author: Quarlo Klobrigney
author_rank: Super Contributor
timestamp: June 19, 2016, 09:56:55 pm
content: I bought it too. For an old man whose eyes glaze over, with resultingfrom "see spot run" and advanced "quantum mechanics" books, I found it to be quite good. Just the right amount of info, not dumbed down or too advanced. I was able to transition from 8 bit AVR's (S series thru Mega) to actually getting my F7 Discovery Board to do "things" in Eclipse. When purchasing the book, if you are poor, slide the slider down in $ to the minimum. If you can afford it show the author you appreciate his work so far.Quote from: ez24 on June 17, 2016, 10:12:42 pm

author: ez24
author_rank: Super Contributor
timestamp: June 20, 2016, 03:05:05 am
content: Quote from: Quarlo Klobrigney on June 19, 2016, 09:56:55 pm