Arduino has a trap built into its own success: the tutorials are so good that you can complete twenty projects without understanding any of them. Then you try to build something nobody wrote a tutorial for — the thing you actually bought the board for — and discover you've been following recipes, not learning to cook. The fix is to learn the electronics and the programming as their own subjects, in parallel with the fun.
The path, stage by stage
Start with the fun anyway. Getting Started with Arduino by Massimo Banzi — co-creator of the platform — gets a LED blinking and a sensor reading in an afternoon, and establishes the tinkering-first mindset the whole ecosystem runs on. Electricity for Young Makers by Marc de Vinck fills in the absolute basics of current and circuits without condescension; don't skip it because the title sounds young.
Then split the two skills. On the electronics side, Make More Electronics by Charles Platt teaches components by experiment — you break things, measure things, and come out understanding why circuits behave. On the code side, Programming Arduino by Simon Monk turns sketch-copying into actual C programming: functions, state, and structure, so your projects stop being one giant loop.
With both halves in place, Arduino Cookbook by Michael Margolis becomes the book you'll open most — hundreds of recipes you can now read as an informed cook rather than a recipe-follower. And when you're ready for depth, Practical Electronics for Inventors by Paul Scherz is the reference that working engineers keep on the bench; it will answer questions for a decade. Finish with Arduino: a Technical Reference by J. M. Hughes when you want to know what the board itself is actually doing.
A pattern worth noticing across the whole path: the electronics books and the programming books keep answering each other. Platt explains why the sensor reading is noisy; Monk shows you how to smooth it in code. Neither half is optional, and the projects only get interesting where they meet.
The habit: modify before you build
After every project you complete from instructions, change one thing before moving on — a different sensor, an extra button, a new behavior — with no tutorial for the modification. This is the single habit that defeats the copy-paste trap: the modification forces you to understand the circuit and the code you just built, and it fails fast enough to teach you debugging, which is the real skill of electronics. Keep the modifications small and the failures cheap; the point is the reasoning, not the feature.
Budget about 80 hours of reading woven between projects. Follow the path or start at the Arduino hub. When your projects need enclosures and mounts, the 3D printing hub pairs naturally.