Week 5 - PCB Design

Week 5 - PCB Design

2018, Oct 07    

I went to Spain for the conference IROS’18 last week. So I’m completely freaking out when I come back, knowing nothing about PCB desgin. Fortunately, with Zach and Ben’s help, I finally made it!! Really appreciate their help!

Goal

Redraw the echo helloworld board and add a LED and button, make it and programme it.

Electronics Design

There are some awesome documentation online for reference:

Eagle

I use Eagle to design the PCB.

Some important notes:

  • Always keep the scheme & board windows open so that they are linked
  • Close the “back” selection when auto-routing, otherwise it will generate path in the back of the board
  • After auto-routing, drag the traces far away from each other
  • Could use labels in the scheme (I used label for all the component, however, it seems that the routing will be easier if some components are linked with direct wires)

The final scheme and the board:

scheme

board

Milling

The important note is that even though the dpi exported is 500, the mods driver for Roland is 1000 dpi. See some failure case in the end.

The first version of board, the traces is too close:

traces

The second version looks nice:

traces2.0

Soldering

The most important thing is orientation:

  • the ATtiny44 has a indent dot which indicate the pin 1: VCC. Must check the board in Eagle that the pin 1 is aligned.
  • Also the LED light with a green line indicates the negative side.

pcb

Program

The way to connect the lines is as following:

  • FTDI: find the GND pin in the eagle board, and connect the black wire to it
  • AVRISP: find the VCC pin in the eagle board, and connect the red wire to it (there’s only two choise (0 and 180 degree), and my board caught on fire when I inversely connected it T_T)

The helloworld program located here, and the way to upload the code is these command.

In my case, I used the avrisp2 programmer, so the program-usbtiny-fuses and the program-usbtiny should be replaced by program-avrisp2-fuses and program-avrisp2.

Also, the term.py need the pyserial library. We first install the serail library and got the error message. To install the pyserial:

pip install pyserial

connection

helloworld

Video demo

Failure case

Mods DPI 500 (Should be 1000)

dpi

Connection orientation

The board catch on fire when the connection of AVRISP is in wrong direction, and some traces is ruined.

dpi