10/17: embedded programming

What kind of dinosaur can you ride in a rodeo?

Assignment

-read a microcontroller data sheet
-program your board to do something, with as many different programming languages and programming environments as possible
-compare the performance and development workflows for other architectures

Goal

Program my button to turn the LED on after typing O-N in morse code and off after typing O-F-F.

Steps

1. A bronco-saurus.

2. I read through the ATMEL AVR® 8-bit Microcontroller data sheet and found the timing to be most interesting, particularly the variety of ways in which timing can be accomplished with the ATtiny. Understanding the structure of the data sheet and where to find answers was already useful in this exercise.

3. I started by creating both a Make file and a hellokate.ftdi.44.echo.c file with a simple on/off of the LED with a push of the button. I then started working on the loop for the morse code function.



4. Before getting ahead of myself, I decided to make sure all of the components from the terminal to the button worked utilizing my newer version Mac. Good thing because this was more complicated than expected. To start, I have to use a USB-C to USB-A connector as well as a USB-A splitter in order to have the Mac read the board. At this point I determined I had not finalized my Programming Board to actually program another board. I also realized I had done all of the programming on the shop computer and was unable to work remotely on my computer. So first things first, streamline the process.

5. So first, I downloaded Crosspack and Homebrew, I connected the USB-C to USB-A to USB-A splitter and then connected my Programming Board. I loaded the firmware, checked for the .hex, then programmed the ATtiny45, turned the reset pin into a GPIO pin, then disconnected the Vcc from the Vprog.



6. Then I loaded my Make and hellokate.ftdi.44.echo.c files to the new button board and boom, on/off via a button push works and I can begin work, from my computer, on testing the morse code. I did have to make a pin adjustment in the .c file, but that was quick to identify and fix.






7. At this point I decided to seal the boards to prevent any degradation!


8. Still working on that morse code...

Struggles

Setting up a Mac to see the board and now the looping and timing functions of morse code.

Tools

CrossPack
HomeBrew
Splitters/Cables
Friends

Source Files

Link to hellokate.ftdi.44.echo.c