How to Make Almost Anything > John's class Homepage > Microcontrollers: hello world

 

Microcontrollers: Hello World

 

This third assignment we are to make a simple circuit  using Atmel’s Tiny15 which outputs the ASCII for “Hello World” to the serial port.  The project involves the following steps:

 

·        Mill a circuit board using the Modela milling machine

o       It’s still a bit of a mystery how to set the Z coordinate. I found it easiest to just change the coordinates in cam.py rather than physically readjust the Modela.

o       Tape the entire board down, not just the part I am milling. Otherwise the board is not perfectly flat on the milling table.

o       Neil’s magical incantation: sty 9600 raw –echo crtscts </dev/ttyS0 did weird things, so I skipped it the 2nd try. Maybe I typed it wrong?

 

·        Solder the components to the board

o       I learned how important it is to tin both connections before trying to solder them together

o       Also, it appears to be best, once the connections are tinned, to heat the connections

 

·        Make 2 cables: a Parallel à Microcontroller clip cable and a Serial à mini-doohickey thingamabob

o       The Parallel à Microcontroller clip cable was no problem. I covered the soldering joints with shrinkwrap.

§         (I soldered the wrong wires to the wrong pins, so I had to do this twice.)

o       The Serial à mini-doohickey was an absolute nightmare. There must be something about this I do not understand.

§         When I tried to plug in the mini-doohickey, all the pins I had soldered tried to come out. It felt like the fit was too tight.

§         In the end I wondered if it would have been easier to steal a mini-doohickey with wires already coming out of it and then to resplice those wires.

§         I want to learn what I did wrong with this, so I can make more of these in the future.

§         I wonder if it’s worth working with such small connectors, as we are human solderers and not machines…

 

·        Install UISP, AVRA

o       I’m stubbornly sticking to WinXP, so I’m getting everything to run in the DOS prompt and installing, unzipping, making in Cygwin

o       UISP installs under Cygwin. I had to bkunzip2 it, then untar it, then ./configure && make && make install

o       AVRA downloads executables, so this was a cynch. I set my path to find it.

 

·        Download rx.py and get it to run

o       Install serial and parallel modules (note: install giveio as well or UISP won’t find the parallel port)

o       Install win32all (also called pywin) for serial and parallel modules to run (crashed during installation --- but appears to have installed anyway. Yay negative.)

o       Changed code in rx.py: /dev/ttyS0 to /com1.

 

·        Change neil’s command to find the parallel port in  DOS prompt:

o       For my machine, the parallel port address is 0x378 so the command is:

§         Uisp –dlpt=0x378 –dprog=dapa –dvoltage=3 –dt_sck=50 –-erase –-upload if=hello.hex

 

·        Here’s the final product: