assignment 8 // embedded programming

echo hello-world board | fabISP | AVRdude | AVRgcc | Arduino IDE

The gravity of this and the electronics design assignments has somewhat moved me in the last few days. Today I successfully used the Arduino IDE (something I've had plenty of little DIY experimentation/implementation experience with) to program and control a microcontroller that I fabricated entirely on my own, and have actually come to understand what the design and components are doing. As an excerise in programming boards with the FabISP, I've only used a simple blinking program, a modification of the simplest arduino sample sketch, but I immmediately saw how something even equally simple is going to be used for controls and response in my final project and in my research. It is glaringly obvious how powerful a tool we have here.

Flashing the programming to the board was done using the fabISP as a usbTiny programmer, the translucent blue AVRisp sitting idly on my desk finally making me realize what it was that I had actually made in assignment 3. With AVRgcc and AVRdude installed on my mac, I could use the same commands before. For the actually use of the board, I am aware that there are two ways to look at implemenation, and that I should likely be going about in both. Programming in C is something I need to learn without the preset functions from the Arduino IDE if I want to make the most of the modular processing architecture, and I do. On the other hand, implementation with the Arduino IDE will actually lead to, for instance, dynamic computer controlled kilns for my final project, and that would only take a couple days, an op amp, and a solid state relay. So they will run in parallel, as I start to design more specialized boards and give them more specialized applications. As I'm writing the documentation for this assignment, I'm more than content to watch the two flashing lights on the board I built, inspired by Pip Mothersill.

In order to use the IDE I found a git hub library which allows for control of AVR microcontrollers. I mentioned it in assignment 6 but I hadn't dug into it too much as I hadn't programmed my board yet. Now, I can see that it does allow you to access an array of attiny processors as well as programmers (in this case with the fabISP as a usbtiny pogrammer), and clocks, which included the option for an external 20 MHz resonator.

Back to top