Embedded Programming
Assignment: Program board in various ways.
Programming
Using my board designed from the Electronics Design assignment.
Eagle file of the board with one button and two LEDs
Eagle file of the schematic with one button and two LEDs
Using a FTDI cable you will need to download the drivers
Unfortunately there wasn't enough care taken when removing the FTDI cable and the traces were pulled from the board. Therefore I had to cut and stuff a new board again.
Blinking
I chose to program Blinking board with the C program hello.ftdi.44.echo.c
Following steps to program the board:
1. Plug your Fab ISP programmer into the USB port
- -Create hex file.
- At the command line of a terminal window type : make -f hello.ftdi.44.echo.c.make
- --This is the line of code you are calling in the make file: $(PROJECT).hex: $(PROJECT).out avr-objcopy -O ihex $(PROJECT).out $(PROJECT).c.hex;\ avr-size --mcu=$(MMCU) --format=avr $(PROJECT).out
2. Plug your Fab ISP programmer to this Blinking board with a ribbon cable while still connected to the USB port
- -Set the fuses
- At the command line of a terminal window type : sudo make -f hello.ftdi.44.echo.c.make program-usbtiny-fuses
- --This is the line of code you are calling in the make file: program-usbtiny-fuses: $(PROJECT).hex avrdude -p t44 -P usb -c usbtiny -U lfuse:w:0x7E:m
3. Plug your Fab ISP programmer to this Blinking board with a ribbon cable while still connected to the USB port and connect the FTDI cable to Blinking board to another USB port
- -Program the Attiny44 with the hex code
- At the command line of a terminal window type : sudo make -f hello.ftdi.44.echo.c.make program-usbtiny
- --This is the line of code you are calling in the make file: program-usbtiny: $(PROJECT).hex avrdude -p t44 -P usb -c usbtiny -U flash:w:$(PROJECT).c.hex
Run Python script If no errors occurred in the program the board you are ready to test your board with a Python script
- -Disconnect the Blinking board from the Fab ISP programmer leave Blinking board connected to the computer via the FTDI cable.
- --At the command line of a terminal window type python term.py /dev/tty.usbserial-FTF3GVPD 115200
Programmed my board to blink the LEDs, however only one LED blinks because I accidentally used an infrared LED ( blinking LED is under the button in the corner of the board). Remember to always check components before stuffing the board.