08 Embedded programming

program your board to do something, with as many different languages & environments as possible.

First thing to do was use an in-system programmer (ISP) to program my board and write the fuse settings. This could be the FabISP we made earlier in the week or an AVRISP such as the AVRISPmkII by connecting it to the 2x3 pin leads on my board. The FTDI cable is initially used to power the board while the ISP writes to it.

Before actually being able to do this on your own computer, you have to make sure you have the right drivers and command line tools installed. I have a mac so I used Homebrew (osx package manager) to download AVRDUDE, AVR-GCC and the FTDI driver. Making sure your Xcode is up-to-date will ensure you also have the MAKE command line tools installed.

After your computer is set, using terminal, navigate to the directory where the .c and make files are and type in:

           Sudo make -f hello.ftdi.44.echo.c.make

This will run the makefile which will direct it to make a hex file which then talks directly to the board. When that's done and has no errors, type

           sudo make -f hello.ftdi.44.echo.c.make program-usbtiny-fuses

which will set the fuses of the board based on instructions in the makefile. NOTE: change the usbtiny to avrispmkII if that's what you're using to program it instead. The makefile also needs to be changed to reflect this as well. Finally type this in to write the hex file into the board:

           sudo make -f hello.ftdi.44.echo.c.make program-usbtiny

When everything is programmed, you can check to see if the board is working by typing in:

           python term.py /dev/ttyUSB0 115200

When I tried to write to the board using the FABISP, I got an error that said "invalid signature." After going through the process of trying to debug the board with the multimeter, we couldn't find any issues with the connections. So we tried to use a different programmer - AVRISPmkII and tried to write to it via arduino but we got the same error...

Extra Credit: design and build a wired &/or wireless network connecting at least two processors

bluetooth HM-10 // ESP8266// NRF24L01


AVRISP > FTDI > avrdude,homebrew,avr-gcc > terminal/command line