I recently graduated from Cal Poly San Luis Obispo with a degree in Electrical Engineering. My interests include electronics, embedded systems, and software. I created this site to share my projects and ideas with YOU. Thanks for stopping by.
This brief tutorial demonstrates how to create projects for the AVR using AVR-GCC. This tutorial assumes that you are using Ubuntu for your development environment. This tutorial also assumes that you have already installed AVRDUDE. Also, you should have a development board with at least one button and one LED. In my case, the button is active low.
4. Copy the template makefile to your Templates folder if desired:
$ cp Makefile ~/Templates/avr-makefile
5. Modify the configuration section of the makefile. This is fairly easy thanks to the helpful comments included in the makefile. I used the following configuration:
7. Modify the #defines so that they correspond to the connections on your development board. On my development board, the BTN is connected to PA2 and the LED is connected to PA6.
#define LED (1 << PA6)
#define BTN (1 << PA2)
8. Build the project:
$ make
9. Program the AVR using the writeflash target included in the makefile:
$ sudo make writeflash
Ensure that the program works as expected. The LED should turn on when the button is pressed. The LED should turn off when it is released. Recall that this assumes your button is active low. Congratulations, you have just created your first AVR project!
This brief tutorial demonstrates how to read, write, and erase an AVR chip using AVR Dragon. This tutorial assumes that you are using Ubuntu for your development environment. This tutorial also assumes that you have an AVR development board running a demo program. The JTAG port is used in this tutorial, but the ISP port can also be used. Simply replace “dragon_jtag” with “dragon_isp”.
This is a project that I threw together one weekend. The FFT is calculated using Processing. The FFT is then sent to the Freeduino via the serial port. The Freeduino displays the FFT on the dot matrix display using shift registers and a Darlington transistor array.
I made several improvements to my light bar controller. I added a push button that pauses the controller on a desired color. I added a red LED to indicate if the controller is paused. I also modified the light bar so that it easily plugs into the breadboard. I did this by replacing the polarized right angle connectors with non polarized headers (one straight and one right angle). The improved controller also uses the Bare Bones Board from the Modern Device Company instead of the Diecimila. Below is an updated schematic of the controller. Read more »
I recently connected an Arduino to a Tri-Color LED Light Bar that I bought from SparkFun Electronics. I used pulse width modulation to control the brightness of each color. The individual colors combine to make the desired color. Download the code here and see the schematic below. Read more »