6. Electronics design¶
What I’ve done this week¶
- redesign the echo hello-world boards and add new parts on it.
- cutting the board, soldering parts on it, put program on it, and testing it
Weekly Assignment Requirement¶
- Use the test equipment in your lab to observe the operation of a microcontroller circuit board (in minimum, check operating voltage on the board with multimeter or voltmeter and use oscilloscope to check noise of operating voltage and interpret a data signal)
- document your work (in a group or individually)
- Redraw one of the echo hello-world boards or something equivalent, add (at least) a button and LED (with current-limiting resistor) or equivalent input and output, check the design rules, make it, test it.
Description of Assignment Work¶
Board design by eagle¶
For the assignment of this week, I referred to the board from FabAcademy’s website. I just put a button and LEDs on it to meet the minimum requirement for it.
When I designed the PCB, I used software called Eagle which was released by Autodesk. It had plenty of library for the electronic parts because many contributors took part in developing them so we can use variety of parts on original PCB designing thanks to that. and also it was able to download for free.
designing schematic firstly
for making the board, I needed the parts below
|Header||2x3 male SMD||1|
|Header||1x6 male SMD||1|
select the parts from parts list
put the parts on the working plane
connect each parts by wire
!important! used ECR(Electrical Rule Check) for checking the electrical connectivity at the end
some warnings showed up, but it was no matter for designing the board this time
to layout lines, set design rules. (only setting clearance was fine this time.
I wrote down setting values as a text here for just in case.
put the parts to make the layout of PCB
it was really difficult to connect all the lines without interfering others.
it would be okay to use kinds of cheating like via(making hole and connect line on the backside) or bridge(using 0Ω resister to over the trace)
but I could connect all without them somehow.
[TIPs]VCC and GND were designed as thick as possible because it would make smooth conductivity.
!important! Then tried DRC(Design Rule Check) for checking if the design rules were followed correctly
Airwire (the part not connected properly) existed.
So I fixed them. (Just connecting again)
Then, move designed traces to left bottom and fit the workspace size to it.
drew the outline(shape of the board) by polygon tool.
selected “48 Document” layer and picked the tool.
started to draw the shape of the outline.
if it is connected the end point of the line to the start point of it. the shape of the outline would show up filled in gray.
Then, exported trace data and outline data as image files.
Selected menu [ View > Layer settings… ]
Tick only #1Top and #17Pads this time. (#18Vias would be needed when I used via on my board)
Selected menu [ File> Export > Image ]
Set the optional file name and 800 for the Resolution and tick on Monochrome.
Did the same thing on outline data. Only different thing is tick #48Document on Layer settings… phase.
Board data were completed!
Extra Board design by Inkscape¶
to put text on the board, used Inkscape.
open the traces file and put text on it. Then, export it as a png file.
Board cutting by mods and SRM20¶
I used mods for making cutdata(.rml file). it was same as the process I did at week04 basically. and used them on SRM20.
fail > resolution of image was wrong
It was apparently first trial(wrong one) and second one had different sizes each other.
cause : when I exported it from Inkscape, The size parameter was changed from the original I set by the Eagle.
checked the board size carefully then cut
cut them as almost same size
there were some uncut parts. (might still have resolution problem? )
my instructor advised me that I shouldn’t have trusted DRC in Eagle too much and always had to check the toolpath which was generated by mods.
Actually, failure parts were shown up on it when I checked it later.
so cut them by hand with ultrasonic cutter
tried the sample program (echo)
I got the test code from FabAcademy’s website.
fail > couldn’t execute even make file command
cause : file name was wrong. it should have saved the program files from FabAcademy website directory by right click.
now make command worked!
two new files generated in the folder
fail > could execute make file command but couldn’t make fuse
cause : found bad soldering
resolder one leg of attiny
and also I put one of the LED wrong place (actually I wanted to use it as a power indicator but didn’t work)
so I put a 0Ω resister instead of the LED there as a bridge.
fail > couldn’t make fuse > change programer from USBtinyISP to AVRISP2 (* had to be rewritten as program-avrisp2-fuses)
success > echo program worked by serial monitor on Arduino IDE
then I found the board was fine but programmer was no-good.
I also tried writing program from USBtinyISP to Arduino.
writing was succeeded
and program run properly!
So I found the problem was connection of USBtinyISP with my laptop. when it was recognized by laptop as the following image showing, testing went good though sometimes it wasn’t recognized at all and writing went wrong> I found good connector for my programmer. If I used this, the rate of recognition of USBtinyISP by my laptop remarkably went up.
Worked even from USBtinyISP lastly!
everything was fine. then I tried more testing program.
LED and button test¶
I borrowed test programs from Kae Nagano who graduated from FabAcademy 2019 at FabLab Kamakura.
blink program > success
button program > success
At the last, attached a pin on GND trace to hook a probe of the oscilloscope easily for debugging.
In the group assignment, I tried to check the signal from TX and RX pins using the oscilloscope. TX means transmitters which sends signal from laptop to the board and RX means receiver which sends signal backwards when it gets signal from the laptop.
Please see the link below.
Kamakura Group assignment week06
Description of Important Weekly Learning Outcome¶
It took much larger amount of time for individual assignment than I planned because of debugging. At first, I got the problem in board designing as putting wrong parts and cutting the size of the board wrongly. then, I did bad soldering on the leg of attiny44. Lastly, I could not write a program because I made makefile wrong name. I met many problems in all procedure. Each problem needed different debugging way. So I thought I had to learn basics of all the process deeply to solve issues I would meet while doing electronics production. and I should prepare more time for debugging as well.