Reddit Reddit reviews AVR Programming: Learning to Write Software for Hardware (Make: Technology on Your Time)

We found 14 Reddit comments about AVR Programming: Learning to Write Software for Hardware (Make: Technology on Your Time). Here are the top ones, ranked by their Reddit score.

Computers & Technology
Books
Computer Science
Robotics
AVR Programming: Learning to Write Software for Hardware (Make: Technology on Your Time)
Maker Media Inc
Check price on Amazon

14 Reddit comments about AVR Programming: Learning to Write Software for Hardware (Make: Technology on Your Time):

u/ManWithoutOptions · 8 pointsr/arduino

assuming you have all the fundamental physic, you can start with the textbook from allaboutcircuits's textbook. A introduction to electronic book. It is about 2000 pages covering all basics of electronics. I think it is a great read and easy to understand, written for beginners.


After that you should read Make:AVR programming. It is quite enjoyable read and I read it in 2 sitting. A computer engineering book specifically targeting microcontroller. And as the name imply, it is about 8 bit AVR which is easily the most popular arduino variant. It covers a lot of detail on microcontroller basics and underlying electronic concept and working principles.

To supplement the above book, read a atmel datasheet on one of their microcontroller (atmega328 is a good choice).


For optional knowledge you can try Make's Encyclopedia Of Electronic Components It basically covers all electronic components and introduce you to it. I didn't like too much because you cant read it as a book but should use it as a reference to a particular component you are interested it. It is a great way to broaden your scope on what components is available to you.


Then for the advanced stuff you can read the The Art of Electronics By many it is consider the holy grail of electronic textbook. But I think it is difficult to read without an formal EE education.

u/zhaverzky · 6 pointsr/embedded

I found the Make AVR programming book very helpful. I took an online embedded course offered through my university last year and the instructor and content were awful. If it wasn't for this book I never would have passed the course or been able to decipher any of the course material or assignments. I ended up with an A which was solely due to this book and does not reflect on the quality of instruction I was offered in any way. I'm still salty about the $1k I spent on the course but a credit is a credit I suppose.

https://www.amazon.ca/AVR-Programming-Learning-Software-Hardware/dp/1449355781

u/efij · 4 pointsr/electronics

Arduino is a great learning tool and to go from idea to finished project is quite fast. I definitely recommend starting with arduino and see if you like it. If you continue, you'll find that you have to purchase an arduino for each project you start, which can get quite expensive, or you'll be ripping apart old projects to get the arduino.


I purchased arduino and a few shields, but I felt like I really didn't know how everything was working electronically. I really enjoy programming, learning about electronics and making devices, so I decided to stop using arduino and just use the atmega microcontroller, which is the MCU that arduino is based on.


If you wanted to go this route then I would suggest buying an AVR ISP mkii programmer and downloading atmel studio. It's much easier to program the chips than any other method I've tried. Less fiddling. If you have experience in C programming then it will be really easy.


This is the best beginners tutorial I've found for atmel AVR:
https://www.newbiehack.com/


This book is an excellent follow up to that tutorial:
http://www.amazon.ca/Make-Programming-Learning-Software-Hardware/dp/1449355781/ref=sr_1_1?ie=UTF8&qid=1398472387&sr=8-1&keywords=make+avr+programming


A good book on electronics - 1000 pages:
http://www.amazon.ca/Practical-Electronics-Inventors-Third-Edition/dp/0071771336

digikey.ca or .com has lots of parts and next day shipping for $8.


how to make an arduino on a bread board:
http://arduino.cc/en/Main/Standalone


Breadboard, Schematic and PCB layout software
http://fritzing.org

Soon you'll be etching PCBs at home

u/Truth_Be_Told · 2 pointsr/embedded

Not sure what your budget is (buy used books or South Asia editions), but you may find the following useful :-)

Also, unless required, avoid programming in assembly but use C/C++ exclusively. This allows you to carry over much of your acquired knowledge across various MCU families.

  • Make: AVR Programming This will teach you programming directly-to-the-metal on AVR using C. If you have the Arduino IDE installed, you already have the "avr-gcc" compiler toolchain as part of the package and hence you just need to setup your path and use the the toolchain in your Makefile. The book takes you by hand and shows you everything. Note that you can use the same Arduino board to do both "Arduino language" programming and "AVR C" programming.

  • Designing Embedded Hardware Excellent overview of the hardware aspects of Embedded Systems. As a Software guy, this book is the one which clarified hardware for me.

  • Building Embedded Systems: Programmable Hardware A very good book on all practical aspects of embedded programming. Hard-won knowledge which will make you a "professional" embedded engineer.

  • Introduction to Embedded Systems: Using Microcontrollers and the MSP430 Excellent and comprehensive textbook detailing the hardware and software aspects of embedded systems. Every topic starts with an illustrated overview of the hardware and then shows you how to program for it.

  • Embedded C Introductory book on C programming for 8051. The example code is simple and direct thus enabling you to grasp the concepts clearly.

  • Patterns for Time-Triggered Embedded Systems Comprehensive and full of C code showing how to program all standard peripherals for an 8051. You can translate the code to your favourite MCU family. The book is available for free from the author's company website.

  • ARM System Developer's Guide An oldie but still the best for firmware programming on the ARM microprocessor.

  • Practical Microcontroller Engineering with ARM technology An exhaustive book on programming the Tiva version of the ARM Cortex-M4 MCU. The book reads like a manual but the ARM Cortex is complex enough that there is no easy way to learn it.

  • The Engineering of Reliable Embedded Systems Advanced book showing how to implement industrial quality embedded software on various ARM platforms. The 1st edition of the book was available for free on the web.

    and finally;

  • Computer Systems: A Programmer's Perspective A must-read textbook to understand the low-level details for a x86/x86-64 system. Many of these details are similar for MCUs and hence you will understand them better.
u/TRG903 · 2 pointsr/ElectricalEngineering

Make: AVR Programming
This book is specifically written people looking to get started in microcontroller programming. Uses the chip from the Arduino which is cheap, common, and there’s a lot of options in the product line. Teaches C. Explains concepts found in all micro controllers. Designed as a project book. I liked it. Problem is it uses 8 bit micros. The modern micros are 32 bit. But again the concepts are widely applicable.

Patrick Hood Daniel
This guy’s YouTube channel contains long, in depth tutorials on using and programming micro controllers. He even sells the dev boards he uses so you can get the exact parts he uses and not get lost in translation.

I know it’s not resources in the image but other than practical electronics I don’t know how much the others will focus on micro controllers besides the Arduino books. And if you want to go beyond the Arduino platform the make book I-recommended would be better.

u/MatthaeusHarris · 2 pointsr/microcontrollers

I found this to be an excellent intro to the AVR series microcontrollers, and many of the concepts should port over to other families as well: https://smile.amazon.com/AVR-Programming-Learning-Software-Technology/dp/1449355781/ref=sr_1_1?ie=UTF8&qid=1541196283&sr=8-1&keywords=make+avr+programming

u/Blueebi · 1 pointr/embedded

When I switched away from arduino the microcontroller tutorials on https://www.newbiehack.com/MicrocontrollerTutorial.aspx really helped me out. The book make:avr was inexpensive and good too. The i2c library that comes as a download for the book is really easy to understand, too.

http://www.amazon.com/gp/aw/d/1449355781/ref=mp_s_a_1_1?qid=1427629852&sr=8-1&keywords=make+avr&pi=AC_SY200_QL40&dpPl=1&dpID=510a6bjDnWL&ref=plSrch


I would recommend using atmel studio and a programmer of some sort - avrisp mk2 if it's still available or the atmel ice. Avrisp is a programmer only and the ice is a debugger as well.


Buy some atmega328p in a dip package and bread board it out so you know how to setup all the connections. The newbiehack tutorials will show you how.

Feel free to get in touch if you have any questions

u/[deleted] · 1 pointr/EngineeringStudents

Your interests are almost identical to mine! I didn't fully decide on my major until Junior year (Electrical Engineering). Started going into Biomedical end of senior year, went to grad school for it, found out it wasn't for me and switched back to EE. Now I'm researching Aerospace navigation systems and absolutely love it.

So no, you aren't going to die if you don't have your life figured out by end of sophomore year. The nice thing about engineering is a lot of the skills carry over between disciplines.

My suggestions are to study topics you are interested on your own; don't wait to learn it in your classes. If you think you are interested in computer engineering and computer science, start teaching yourself digital electronics, learning C and building projects with microcontrollers (AVR microcontrollers are very common) Don't wait for your career to find you, you have to seek it out. Follow your passion and the rest will come naturally.

Side note: I've been teaching myself AVR microcontrollers and digital design this summer, with the end goal of launching a high altitude balloon carrying an HD camera, temp sensors and Geiger counter. Here are the books I've been using, both are fantastic and easy to follow.
http://www.amazon.com/gp/aw/d/1449355781
http://www.amazon.com/gp/product/0123944244

u/adobeamd · 1 pointr/arduino

I highly suggest this book

AVR Programming: Learning to Write Software for Hardware https://www.amazon.com/dp/1449355781/ref=cm_sw_r_cp_apa_i_aYI.AbE33D53Q

u/new--USER · 1 pointr/arduino

I was in a similar situation a little while ago, and I decided to learn to program AVRs directly in C. I bought this book, and I think it's a really good resource.

https://www.amazon.com/AVR-Programming-Learning-Software-Hardware/dp/1449355781/ref=sr_1_1?ie=UTF8&qid=1504786998&sr=8-1&keywords=make+programming+avr

On a Mac, you can use any text editor you like, then flash the code to the AVR from the terminal.

AVRs are really cheap by the way! Here on Digikey, you can get them for $2 each.

https://www.digikey.com/product-detail/en/microchip-technology/ATMEGA328-PU/ATMEGA328-PU-ND/2271026

u/sandwichsaregood · 1 pointr/ECE

I agree, for transitioning from Arduino AVR makes a lot of sense. AVR is pretty nice to work with and will teach you a lot of stuff that is useful on other platforms while keeping complexity down. AVR studio is nice for transitioning because it lets you easily include Arduino libraries as well.

Also, I highly recommend the Make book on AVR. It's a very good introduction and one of the few programming books I would actually recommend buying.

u/07CE · 1 pointr/EngineeringStudents

highly recommend this book: https://www.amazon.com/AVR-Programming-Learning-Software-Technology/dp/1449355781/

Granted, it's not Arduino (it's AVR, the microcontroller Arduino is based on, but you can still use an Arduino with its lessons with some software tweaks) and implies you know a decent amount of C programming, but it's written well enough so even an idiot like me could understand it.