This week's assignments had the most steps, and has been the most time consuming week yet. For Electronics Design Week, the class was instructed to design, mill, solder, and program an Echo Hello World Board. My only experience with electronics prior to this was two weeks ago, during Electronics Production Week, where I had gained the very basics. Needless to say, I have learned a lot this week, and have made a myriad of mistakes along the way.
Group Project
To start off the week, my group met up and learned about oscilloscopes. An oscilloscope, as evident by the name, is a machine that allows the user to see the oscillations of an electrical current.
In general, multimeters are sufficient in testing the continuity, voltage, and other properties of a board. This helps make sure diodes and other pieces are facing the correct way, quantify the electricity running through a particular area, and make sure all board components are connected properly. However, there are some situations, such as when the computer and board are communicating, that occur too quickly to be practical, plausable, and possible to be read on a multimeter. To test out the oscilloscope and multimeter, our group borrowed an Echo Hello World board from our professor.
We used the multimeter to test the continuity to make sure everything was connected and able to have a current running through it.
Then we tested the voltage. When communicating with the computer, the voltage is 5 volts or 0 volts, because computers communicate with binary code. The voltage was 5 volts, but we got a range of voltage readings while testing the continuity. This is because of the resistors.
From there we moved on to testing the voltage using the oscilloscope. The oscilloscope is different from the multimeter because it shows the oscillations of electricity, not just the number of volts. We are allowed to see the flow of electricity down to milliseconds.
As you can see, the electricity switches back and forth rapidly between two levels of electricity. this is, as I mentioned before, because the board is communicating with the computer using binary, meaning the current is either there or not (on or off), and so the voltage bounces between 0 and 5.
Board Design
After learning all about oscilloscopes, it was time for the part of the week that was most intimidating to me-designing the board. The entirity of Friday night I spent watching Youtube videos about basic electronics. I would link to them, but I was half asleep for most of them and watched a ton, so they've all blurred together in my mind. Nevertheless, I retained enough to understand the usages of capacitors, resistors, diodes, light emitting diodes, connectors, microcontrollers, and the general flow of current. I had downloaded KiCAD the night before and began exploring its amenities. My board was partially modeled to be similar to an Echo Hello World Board,(which I linked to below) so I started exploring KiCAD by trying to copy that. KiCAD has a Schema Layout Editor, which I began using.
In the Schema Layout Editor there is a Place Symbol Button which, when selected, brings up and entire library of parts you can place.
After I selected all of the pieces I wanted, I added wires to connect each of the pieces.
Then I decided to add an LED and a button. I also needed a resistor for both, so I added those as well.
Then I went to Update PCB from Schematic, which made the footprints, and commected them with Route Tracks.
From there I went to MODs, changed it to an rml and began milling it. I'll go over the milling process in a bit, but first, let me recommend that, should you ever mill your own board, CHECK THE SIZE OF YOUR BOARD BEFORE YOU MILL IT. If you don't, you will possibly end up like I did: getting about a minute into the milling and reallizing that your board is way too big. Appearently my board would have been 85 mm, so it ended up going off the side of the PCB pretty quickly. I did forget to take a picture of this, solely because, right after I realized what was happening, I stopped the Roland Mill and ran out of the room to lament to my friend about the stupidity of my mistake. I went back to KiCAD to make the board smaller, but was having quite a bit of difficulty shrinking the board while stimultaneously keeping all of the copper lines thick enough for the current. After the PCB was finally rerouted, I called it quits for that day.
The next morning, I realized that a few off the routes I had created were still to close, so I went into Adobe Illustrator and edited the lines there.
My professor suggested I add a chicken to the board (she knows about my slight obsession with chickens) so I used a blank spot in my board to put a tiny image of a chicken.
It was then time for me to mill my board again.
Unfortunately, when I had changed my board I did not scale the outline down properly, so some of the copper in the corner was milled off, thus rendering my board unuasble.
I redid the border and milled it once again. This time it was a success!
Then I was ready to solder! This was pretty straightforward because I had done it before two weeks ago. For some reason, I also find soldering incredibly fun (even though my soldering isn't very neat), so this pary was quite enjoyable. The resistors and LED are hardest for me because they are the smallest, so I did those first, along with the button.
Then I added the microcontroller, capacitor, and connectors. I probably should have started with the microcontroller first, because that needs to be the most precisely placed, but it ended up working out fine.
At last, it was time to program the board. I attached my board to an ftdi cable, which was attached to an updi adapter.
My board was coded with the Hello Echo Code from Fab Academy. I opened up Arduino and used the URL below.
Then I selected the ATtiny Board
Then I selected megatinycore
And programmed my board!
The code was designed to take a phrase I had put in (Elizabeths Board) and print it out. Here's a picture of the board talking to the PC.
Links
KiCAD Footprints and Schema