I would be very interested to ask for a list of repos of free open code, applicable to 8-bit avr-s and having relation to robotics - object avoidance, process controllers, battery management, etc. This would be of huge help for me, preventing me from wasting weeks and months to invent the wheel.
closed as not constructive by ThomasH, ronalchn, DaemonMaker, Ian, embedded.kyle Dec 5 '12 at 21:13
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.
I can say from my own experience three libraries are awesome to use with 8-bit AVR microcontrollers:
AVR Libc is the standard C library for AVR programming. It is very low-level in the sense that you really need to know your hardware down to the register level, but it gives you great freedom to do exactly what you want.
Even if you don't want to dive so deep, you should become somewhat familiar with it since every now and then Arduino users end up using bits of it to surpass the capabilities of the standard Arduino API. An interesting fact is that you can use AVR Libc snippets within your Arduino code since the Arduino API is based on the AVR GNU Toolchain.
AVR Liberty is currently my favorite library to develop with. It is both very straightforward and very powerful, so I feel I get the best of both worlds: I don't have to reinvent the wheel as with AVR Libc, but I also don't have to be agnostic of everything that goes on with the hardware as with the Arduino API. I strongly recommend it.
I like to use Arduino boards for quick prototyping, but I find its API to be somewhat limiting at times. However, they have many specific libraries that extend the standard API's functionality.
The Arduino board can also be used with any other AVR library as long as you understand how to upload your code (either through the bootloader or a programmer), so it is definitely a dev board worth buying to get started.
- Lightweight USB Framework for AVRs — this seems to be a giant in its field. I have not used it, however, and cannot comment on it.
- Atmel's PID implementation — I can't seem to find the source files at the moment. This is a small and fast integer-arithmetic module, really simple to use. However, choosing the P, I and D coefficients is the real challenge.
- Modules from this project can be used for USART and for Dallas one-wire communication. I am not sure about the license — the authors do not apper to claim anything.
- libavrutil — haven't used this. Copileft license. Covers all basic hardware: ADC-s, PWM-s, USART etc. C and C++ interface.
- Arduino libraries for RC servos
- openBMS Lithium ion Battery Management System for Electric Vehicle
- The RepRap project has a bunch of open-source stepper-motor-control code that runs on an AVR