This assigment was divided into group- and indivual tasks:
- Group assigment: use the test equipment in your lab to observe the operation of a microcontroller circuit board (http://fabacademy.org/2020/labs/oulu/students/achille-gakwaya/assignments/week07/#group-work)
- Individual assigment:
- redraw an echo hello-world board
- add (at least) a button and LED (with current-limiting resistor)
- check the design rules, make it, and test it
- extra credit: simulate its operation
Summary of the week
I decided to use Eagle as the PCB design software for my individual assignment. I felt this comfortable choise, because this is Autodesk product as well as Autodesk Fusion. In normal condition I would explore also different programs, but now I am working in my zone of proximal development (tasks are very difficult to me) so I have to restric that kind of degrees of freedom.
I think that Antti Mäntyniemi would have given a lecture about basic rules of PCB design and would have helped us to get started with Eagle. Howewer, I was on winter break during week 9, so I wasn't able to participate in the local lecture. Instead of local expert lecture, I did watch some youtube tutorials and explored previous solutions to this assignment done by Fab Academy alumnis
This seems to be quite "straightforward" assigment: choose existing board, design new functionalities to board, mill the board and solder components. I did choose easiest approach possible, so, I didn't try to do anything spectacular
For example, although I know that it would be wise to integrate this task to final priject, I decided to avoid it, because of my winter break. I need to just learn how to use EAGLE
..
Figure 1. You can define library path in Eagle
Figure 2. Here you can activate fab lab library
For this week, our task was to re-design an existing board (echo board designed by Neil), and add a button and a LED to it. I did choose ATtiny412 based board, because it seems to be quite common in ealier years' assignment description. In practise, it means, that I can follow tutorials and crosscheck my own design to earlier ones.
Here is a summary of the steps that you can follow to draw the schematic and layout:
Figure 3. How to add components?
Figure 4. Wire components by using Net-tool
Figure 5 shows the final view of this schematic.
Schematics of my board
Figure 6. How to switch into board editor
Figure 8. Autorouter settings
Figure 9. Results from the autorouting.
Figure 10. Connect the polygon to the ground.
Figure 11. PCB layout of my board.
After exporting .png-files (traces and outline for board) you have necessary items to continue to milling. Milling prodecures are exactly same than it was in the assignment: electtronics production, so I won't describe steps in the details here. Instead, I will add figures which show mods-configuration and end result of using MODS (view into .rml -files)
Figure 12. View on MODS interface, while I was generating traces .rml-file
Figure 13. Result: Calcutlated routes that Roland milling machine will mill to PCB when doing traces
Figure 14. View on MODS interface,when I was creating outline .rml-file
Figure 15. Outlines after calculation
Get list of components from Eagle
Before soldering, you need to gather components. I recommend you to open schematics file in Eagle, and then use "file / export / partlist" to get list of components required. Partlist is actually done based on your schematics design!
Figure 16. Partlist
Soldering the components
I won't describe soldering phase in the details, because that documentation is already done in the electronic production -task.. However, figure below shows my setup when I was soldering this circuit board, there is major difference when compared to earlier one in electronics production
I didn't found scaffolding structure (cube with circle to turn pcb) and I had to braistorm what would be good replacement. I found that I carry on my circuit board designs in Tupperware storage box and lid of that would be actually quite nice replacement.
I found that Tupperware lid was actually pretty nice platform for soldering. I didn't needd to attach it to table, because friction was good enough just when I taped PCB on the lid and started to solder. Recommended!
Figure 17. My soldering setup
All components soldered, board ready for testing
Figure 18. circuit board ready
because programmer for programming the board was task for week: electronics production, the procedures are already familiar for compiling and uploading the code to the board
For simple testing, echo-sketch is good tool
//
// hello.t412.echo.ino
//
// tiny412 echo hello-world
// 115200 baud
//
// Neil Gershenfeld 12/8/19
//
// This work may be reproduced, modified, distributed,
// performed, and displayed for any purpose, but must
// acknowledge this project. Copyright is retained and
// must be preserved. The work is provided as is; no
// warranty is provided, and users accept all liability.
//
#define max_buffer 25
static int index = 0;
static char chr;
static char buffer[max_buffer] = {0};
void setup() {
Serial.begin(115200);
}
void loop() {
if (Serial.available() > 0) {
chr = Serial.read();
Serial.print("hello.t412.echo: Jari Laru (FabAcademy2020) typed \"");
buffer[index++] = chr;
if (index == (max_buffer-1))
index = 0;
Serial.print(buffer);
Serial.println("\"");
}
}
Following procedures should be used:
Then I opened serial monitor in Arduino IDE (with the same baudrate (115200) than specified in the code above). Code works succesfully, as you can see from the image below:
During this week I got the idea how to solder surface mounted components. It was pretty new thing for me and it took time to learn procedures. I also learnt basics of using Eagle.
under development