Electronics design

The purpose of the week is to redesign the echo Hello Board.

I installed Eagle and imported the library. Based on previous version, I Decided to add two leds and the button.

Schema pcb

Unfortunatly all the endmills 0.3mm were damaged during the week,so I am waiting the new one. For the time being I decided try try to use the vinyl cutter to create the PCB.

vinyl cut Componants

The soldering was just a nightmare as the copper moves on the plexi plate.

Then I tried to burn the bootloader using Arduino IDE

BoardSelection ClockSelection

ProcessorSelection ProgrammerSelection

But It failed: It seems that the Tiny44A was not recognised.

Fail Message

At this time I was thinking that the problem come from the soldering, so I decided to use another method to create the PCB using laser engraving on painted copper plate and acid to remove the copper.

engraving acid protection using acid

Then I got the same error when trying to burn the bootloader, So I ask my local guru Jean-Michel to help me on this, so we used his MAC to burn the bootloader and at this time I didn't know why but it was working fine with his computer. Later after a very long search on the Web, I discovered that AtmelStudio replace the default USB driver and the one installed is not compatible with the IDE Arduino and its avrdude. And because my Ubuntu is installed under a virtual machine it also use this new driver. So at this point I was stuck !!! A friend of mine loan me a MacBook Pro and suddenly most of my problem disappeared. To test my board I wrote a little program which light on the red led and when you push the button light off the red led and light on the green one.

     
const int REDled = 7;
const int GREENled = 8;
const int ButtonPin = 3;

int ButtonState =0;
// the setup routine runs once when you press reset:
void setup() 
{                
  // initialize the digital pin .
  pinMode(REDled, OUTPUT); 
  pinMode(GREENled, OUTPUT);
  pinMode(ButtonPin, INPUT);
}

// the loop routine runs over and over again forever:
void loop() {
   ButtonState = digitalRead(ButtonPin);

  // check if the pushbutton is pressed.
  
  if (ButtonState == HIGH) {
   
  digitalWrite(REDled, HIGH);
  digitalWrite(GREENled, LOW);
    
  }
  else {
  digitalWrite(REDled, LOW);
  digitalWrite(GREENled, HIGH);
  }
  
 
}  
     
push button change light

Success !!!

you can find all the eagle files and png file on my github repository :github