ELECTRONICS DESIGN¶
Eagle¶
I have used this type of software before, like ORCAD and others. New things I´ve learned are to check for bugs. I choose Eagle better than Kicad because I find it more intuitive.
To change the size of more than one path¶
- Select the path or paths you want to changed
- Write change
- Select what you want to change (size) and the numbers
- Rightclick elsewere and a button appears, click it!
- Done
DEBUGGING WITH EAGLE¶
The debugging is according to the rules you previously set
HOW TO PUT A LOGO IN EAGLE:¶
AN ABSOLUTE WASTE OF TIME, I KNOW YOU WANT IT TO LOOK FANCY, GET OVER IT!
Have the logo in duotone W/B, save it in BMP
SCAN used colors
Select only one color
Make sure is in LAYER 1!
THE BOARD¶
I designed this board very spacious and slick to make sure it was easy to solder, as my eyesight is not so good anymore (too much SMD soldering in my tender youth) and the possibility of not finding an available magnifying glass in the soldering station was high.
I wanted to rush as I had very little time to work on it (I have an startup) I finish in record time, but… programing failed
Arduino: 1.8.7 (Mac OS X), Board: “ATtiny24/44/84, ATtiny44, Internal 8 MHz” avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check. Error while burning bootloader.
DEBUGGING¶
What to do, I checked everything, everything was ok, no shorts, no open cirquits, programmed with the internal clock to make sure the Xtall was not the problem. So i started to desolder everything.
The problem was, I forgot the reset pullup resistor and the decoupling C between VCC and GND YOU DUMMY!!
It worked, now(with Edu’s programmer), made a firs test programming P3 (pin 11) to light the LED it works but the clock is not working properly, as well as the Serial TX attempt the clock is not working, I try to program it with different clocks until stops accepting the flashing. gonna re-do the board as the resoldering was too sloppy, RUSHING & MISTAKES have a directly proportional relationship!!!!!!!
BOARD 2.0¶
The sacrifice board may have been a little bumpy so there was an uncut part on the border of the board, I try to snap it, after testing the guillotine with another board, I broke the board and one path, I´m not going to remill the board again, despite of it ending up looking again like a Frankenstein I don’t want to waste any more material.
I try to program it again, the darn thing is not getting programmed!!!
FUNDUINO¶
I rather build something that is useful for my final project so I´m making an ARDUINO UNO clone based on the satshakit.
I modified the routs and part of the distribution as I had more space because I changed the crystal and both capacitors for a 20MHz resonator, which I later substituted for a 16MHz as was the only option available in the arduino bootloader as I was burning it as an Arduino UNO, following satshakit instructions.
Here are the Eagle files 1 Here are the Eagle files 2
Then Edu showed me that there is actually a library that has all available clocks.
Check for the MINICORE library
Copy the web address here
And here is how the tool looks like this
I had, like always problems to burn the chip. After an absurd amount of time wasted, resoldering, checking for continuity, reviewing the datasheet, substituing almost all the components… Edu try it with another programmer........ and it worked.
Is logical to think that the problem lies on my board if two bootloaders aren’t able to program the board, one made in fablab with proven record of successful boots and an industrial one, the AVRISPmkII. But in words of the wolds greatest detective, “Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth.”
Should tried with more botloaders, and other computers before resolding everything. Now let´s see if lives:
Following the connection provided by the Satshakit
void setup() {
Serial.begin(9600);
Serial.println("Hello World!");
}
void loop() {
/* // if there's any serial available, read it:
while (Serial.available() > 0)
// look for the newline. That's the end of your sentence:
if (Serial.read() == '\n')
if ()*/}
I connected the thing with an FTDI ant hope to receive the magic words…
Electronic joy.