Best book for Beginning C with Arduino reference inside?

Hello all,

I'm new in Arduino, and looking for a good Arduino programming book with Arduino reference language inside.

Found those two books online:

    • Beginning C for Arduino, Second Edition, Jack Purdum and Ph. D. Purdum, ISBN 9781484209417
    • Arduino Software Internals: A Complete Guide to How Your Arduino Language and Hardware Work Together, Second Edition, Norman Dunbar, ISBN 9798868801709

What must be inside the book:

  • PWM timers and counters
  • Basic C
  • Arduino Language Reference

Any other book recomendations?

Kind Regards

Johan

https://docs.arduino.cc/programming/

What does that mean to you? Why is this a must be in the book item?

The Arduino is programmed in C++. What ppl mean when they misspeak and refer to the "Arduino language" is all the stuff that comes out of the box when you jump into the ecosystem, mostly 1000s of libraries for dealing with the kind of things we get up to with these small machines. And stuff that appears built-in that is handy.

a7

Not likely to find all of that in one book.

These are specific to each different processor used on the different boards. The Datasheet for each is the best place to look for that info.
For the 8bit Uno/nano boards this is a good reference for PWM:Secrets of Arduino PWM

The C\C++ language has been around for much longer than Arduino. There are many books/sites that can help you there. Besides the 2 you listed, most are not specific to the Arduino.

The complete reference was poste by @xfpd in post #2. It contains all of the Arduino specific stuff.

You may want to check this post( and the entire thread) by @LarryD
Very informative:

@DaveX has posted many ready-to-run Wokwi simulations covering Arduino Built-In Examples (and much more) for a hands-on introduction to Arduino programming.

1 Like

Thanks all for your replies.
Have to check all the links and info.

For PWM timers I'm looking for this kind of references which explain the building of PWM signal with timers. How you easy can calculate and program any frequency needed between 1Hz and 16MHz. Easy changing the duty cycle manually or automaticaly 0 to 100%, PWM amplitude adjustable, using the Arduino Uno or Mega 2560.
Counters/controlers for calculating motor output RPM and error detecting.

Basic C: Whats best first learn C the basic, and then C++. Junior to Senior level. In the past I did some PHP/HTML programming.

Arduino Language Reference: I prefer to read it on paper than online. like imost Seniors do :slightly_smiling_face:.

Has somebody read the Arduino Software Internals: A Complete Guide to How Your Arduino Language and Hardware Work Together, Second Edition, book already? and what is your impression of it?

I just started with the Arduino Uno Starter Kit. Very interesting to learn it his way by DIY.

Have the following books already
Arduino Uno Hardware Manual – Elektor , C Programming Language: ANSI C Version : Kernighan, B: Amazon.nl: Boeken, C Programming with Arduino – Elektor, Arduino & Co - Measure, Control, and Hack – Elektor.

I think those books are a solid base to start Arduino.
DIY is the best way to learn it. Learing by doing.

I always recommend this one - few texts are as succinct, insightful, and rigorous.

When you can honestly say you have absorbed all of what is in this book and put it into some practice there should be some kind of certificate or merit badge.

It obvsly does not address many of the issues that come up in embedded programming, but as far as an exposition to a language and quite a bit about how to think, IMO it is without parallel.

I've worn out and lost more than one copy. The one I can see right now is pre-ANSI and quite grubby. I find pithy things to repeat in it alla time.

K&R, the white book, the Bible. By any name an essential volume and one that won't eat much shelf space.

I've remarked before that all of K&R is usually covered in the first two or three chapters of any modern language textbook, for languages clearly influenced by C.

And I have said that many users of the Arduino can get by with nothing more, of course we all use C++ even if only inadvertently when libraries are used.

There are some things from C++ that have leaked back into modern C; these can be useful and fun but are by no means essential for success.

a7

Glad I own this book. :slightly_smiling_face:

I would recommend The Arduino Cook Book. It might be a bit old but I think it covers all the things you need.

https://www.hive.co.uk/Product/Michael-Margolis/Arduino-Cookbook--Recipes-to-Begin-Expand-and-Enhance-Your-Projects/17599163?wgu=10671_1347475_17341151226966_1e46d5c66d&wgexpiry=1765651122

Just ordered a secondhand 3rd edition, was aboud half price, and in good condition

Recieved the book in good order. This will be very helpfull in the future.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.