Categories
06 Embedded Programming Fab Academy AS220 - Providence, RI Fab Academy Providence -Year I - Student Projects

Modified Hello Echo – Part III: Working & Completed Modified Hello Echo + Button + FTDI

Fab Academy Embedded Programming Assignment:

1. add (at least) a button to the serial echo hello-world board
2. modify the serial echo assembly program to respond to the button

I modified the hello serial echo board (my modified echo board version2 – see previous posts) to respond to a button and added an FTDI header so I could use it as a substitute for the internet 0 serial board. (I have a Mac and therefore no serial port).

The behavior is that the LED is always on – but when the button is pressed, it turns off.

Modified Hello Echo FTDI + Button

Shawn and I modified Elliot’s reprogramming the echo board code.

Here is the code:

; Modified.Hello.Echo.Blink LED.44.asm
;
; blink LED when button is pressed
;
; Code Created At FAB ACADEMY AS220
; by Shawn Wallace & Elliot Clapp
; Last Modified 08/05/2010  - Anna Kaziunas France
;
; Permission granted for experimental and personal use;

.device attiny44
.org 0
cbi DDRA, 1
sbi DDRB, 2
loop:
	sbic PINA,1
   	sbi PORTB, 2
 	sbis PINA,1
  	cbi PORTB, 2
rjmp loop

Here is How to Get the Board Running:

I use an usbtiny programmer.

Copy the above code into a text file and save it with YourFileName and .asm extension.
Compile it using gavrasm:

gavrasm YourFileName.asm

Compiling the file will create a .hex file.

First – set the fuses on your board:

avrdude -p t44 -c usbtiny -U lfuse:w:0x7E:m

Second – flash the attiny44 with the program code you just compiled:

avrdude -p t44 -c usbtiny -U flash:w:YourFileName.hex
Categories
06 Embedded Programming Fab Academy Providence -Year I - Student Projects

Modified Hello Echo – Part II: Hello Echo + Button + FTDI

Modified Echo Version 2 – In Production

I am having some issues with the Modela this week. I milled this board last night, but it came out hairy / torn up. I will give it another go tonight.

Eagle Files

Download Eagle file for the Board: hello_echo_button_07.26.2010.brd
Download the Eagle File for the Schematic: hello_echo_button_07.26.2010.sch

Modified Hello Echo + FTDI + Button v.2 - Board
Modified Hello Echo + FTDI + Button v.2 Schematic
Categories
06 Embedded Programming Fab Academy Providence -Year I - Student Projects

Modified Hello Echo – Part I: Hello Echo + Button + FTDI

Modified Echo Version 1 – Complete But Broken

This version milled out a bit hairy. Some of the traces were broken, so I used jumpers to re-connect them.

Modified Hello Echo + FTDI + Button  v.1

There must have been a short somewhere – after stuffing it, setting the fuses and flashing it, I plugged it in to a 9v battery and received a puff of smoke for my efforts. The LED went on – then smoke came out.

Modified Hello Echo + FTDI + Button v.1

In addition, I placed the button too close to the programming header, making it hard to press the button. I am not including the Eagle board or schematic here – see version 2 for a better board.

Back to Eagle!!! See version 2 for a (hopefully) improved and working board).

Categories
06 Embedded Programming Fab Academy AS220 - Providence, RI Fab Academy Providence -Year I - Student Projects

Hello Serial Echo

Fab Academy Module – 06 Embedded Programming


hello serial echohello serial echo

The Assignment

  1. read an AVR data sheet (ATTtiny 44) – COMPLETE
  2. make serial and programming cables – COMPLETE
  3. add (at least) a button to the serial echo hello-world board
  4. modify the serial echo assembly program to respond to the button
  5. modify the serial echo C program to respond to the button
  6. For more on items 3-5  –> See Modified Hello Echo – Part I: Hello Echo + Button + FTDI

The Project: Hello Serial Echo

This hello world board uses a python program (term.py) to send keyboard input over a serial connection from the board to the computer. It is called “serial echo” because when the computer is able to communicate with the board via serial, the python program will allow the keyboard input to be sent to the board and then “echo” it back to the computer. The keyboard input / text will then appear in the python window.

Type the following into the terminal at the prompt:

python term.py /dev/ttyS0 115200

Where “/dev/ttyS0” is the name of the serial port connection to your computer.

When It Is Working – You Should See..

hello echo output

Skills Learned

  • I learned how to send data back and forth via a serial connection using Neil’s python program term.py.
  • Cable making

Tools Used

  • Modela milling machine
  • python – term.py
  • a computer with a serial connection