Skip to content
Snippets Groups Projects
Commit 17b6d9b0 authored by Dan Stone's avatar Dan Stone
Browse files

Electronic deisgn initial documentation

parent 216f8eff
No related branches found
No related tags found
No related merge requests found
Pipeline #379472 passed
Showing
with 175 additions and 40 deletions
......@@ -8,6 +8,15 @@ form factor etc. will make your project either easier or harder and so taking th
would work best is worth it
**Goals**
1. Browse through the data sheet for your microcontroller
2. write program for a microcontroller development board to interact (with local input &/or output) and communicate (remotely)
extra credit: use different languages &/or development environments
extra credit: connect external components to the board
**Accomplishments:**
I have had some experience working with Arduino and 412 in the fab academy prep session we have had and so
I revisited the 412 for bare metal programming but focused mainly on the RP2040 and the Arduino.
......
# 7. Electronics design
This week I worked on defining my final project idea and started to getting used to the documentation process.
In this week group work our goal was to use the test equipment in your lab to observe the operation
of a micro controller circuit board.
## Research
Our group used an oscilloscope, spectrum analyzer and multi meter to measure elements of the
RP2040 based board we build Fax Xiao made buy ADRIÁN TORRES [here](https://fabacademy.org/2020/labs/leon/students/adrian-torres/fabxiao.html) as well the RP2040 based Morse Code generator I created in embedded programing week
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
You can see our results [here](https://fabacademy.org/2023/labs/charlotte/assignments/week07/)
> "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
## Useful links
**Goals**
- [Jekyll](http://jekyll.org)
- [Google](http://google.com)
- [Markdown](https://en.wikipedia.org/wiki/Markdown)
Design a development board to interact and communicate with an embedded microcontroller
## Code Example
Extra credit: try another design workflow
Use the three backticks to separate code.
Extra credit: make a case for it
```
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
Extra credit: simulate its operation
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
```
**Accomplishments**
## Gallery
1. Learned basic use of eagle via a set of tutorials
![](../images/sample-photo.jpg)
2. Designed my first board based on a design I made during embedded programing week
## Video
3. Designed my second board that can potentially be the main board for my final project
### From Vimeo
<iframe src="https://player.vimeo.com/video/10048961" width="640" height="480" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
<p><a href="https://vimeo.com/10048961">Sound Waves</a> from <a href="https://vimeo.com/radarboy">George Gally (Radarboy)</a> on <a href="https://vimeo.com">Vimeo</a>.</p>
## Learning Eagle and board #1
### From Youtube
I have never design a board and so I was very excited to get going on this one. I decided to try
out Eagle as that is the focus on most of my classmates this week.
<iframe width="560" height="315" src="https://www.youtube.com/embed/jjNgJFemlC4" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
I went through the 5 part tutorial as a starting point [here](https://youtu.be/_jgUZeBiusw)
## 3D Models
I then decided to try an replicate the Vegetable Washing Machine control board I programed in embedded programming week you can see [Here](https://fabacademy.org/2023/labs/charlotte/students/dan-stone/assignments/week05/#arduino-and-the-vegetable-washing-machine-basic-set-up)
<div class="sketchfab-embed-wrapper"><iframe width="640" height="480" src="https://sketchfab.com/models/658c8f8a2f3042c3ad7bdedd83f1c915/embed" frameborder="0" allow="autoplay; fullscreen; vr" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe>
I started off by set up my Eagle work space and enabling some libraries, in particular finding the one for SEEED RP2040
![Library](../images/imagw6/D1Seed.png)
I then pulled the parts into place
![Placing](../images/imagw6/D2.png)
Next was adding all the rest of the parts and made the base set of connections
![Connections](../images/imagw6/d3.png)
I wanted to get the board all clean and so added the values of each resistor
![Values](../images/imagw6/D4.png)
I used the inspector window on the side to quickly access info to speed things up
![Clean up](../images/imagw6/D5.png)
I then grouped and labeled parts - please note that I used LEDs to stand in for a motor and pump and will
replace with connectors in the next rev
![Grouping](../images/imagw6/D6.png)
and finally put a frame around it and we are good to put to the parts placement
![Parts](../images/imagw6/Place1.png)
I then started to move the parts into place
![All Parts](../images/imagw6/Place1.png)
I moved the parts into the general areas I had in mind for them
![Placement](../images/imagw6/Place2.png)
I started putting down the routes but ran into the puzzle in the top right with a landlocked connection.
![Landlock](../images/imagw6/Place3.png)
I used the resistor as a bridge
![Bridge](../images/imagw6/Place4.png)
I however figured out at this point that I was using the wrong resistors and needed the surface mound components
rather then the drill through and so I had to go back and start replacing the resistor in my schematic
![New resistors check](../images/imagw6/Place5.png)
I had to redo the placement and routing with the new components
![New resistors](../images/imagw6/Place55.png)
That seem to work well and so I did the same for all of them
![All new parts](../images/imagw6/Place6.png)
I still had the land locked resistor and now the SMD component I choose was too small to be a bridge
and so I used one of the larger resistors as a bridge
![Done](../images/imagw6/Place7.png)
And here is the overview of the schematic
![Schematic](../images/imagw6/Place8.png)
and the 3D view
![3D view](../images/imagw6/3D1.png)
## Making a box and board #2
What I have found to be most confusing so far are libraries and which ones to use but I think
that I bit more practice and this will become clearer
I decided to start over and this time use the ESP32 and focus what could be the board for my final
project. Since I plan to break out the electronics to main board and break outs for LEDs, buttons etc.
so the main board should have connectors set up.
I started off by desiging the box for the board
![Box](../images/imagw6/Box1.jpg)
![Box shell](../images/imagw6/Box2.jpg)
![Box design](../images/imagw6/Box3.jpg)
I then created the board profile
![Schematic connection](../images/imagw6/Box4.jpg)
I connected it to the schematic
![Schematic](../images/imagw6/Box6.jpg)
I got the connectors set up for the motor and water pump, operatings button including the pull down resistors
LED indicators and power
![Button](../images/imagw6/Box7.jpg)
I group and labeled everything
![Labels](../images/imagw6/Box8.jpg)
and started to place the components
![Placement](../images/imagw6/Box9.jpg)
![Placement](../images/imagw6/Box92.jpg)
An routing .... however I hit road blocks with too many crossing connections
![Routing](../images/imagw6/Box93.jpg)
I took a 2 part approach both rewiring some of the connection by switching IO pins which did not matter to
my code and moving some of the connection around on the board
![Rework](../images/imagw6/Box94.jpg)
That allowed me to get everthing routed and pushed to 3D
![Done](../images/imagw6/Box95.jpg)
![3D](../images/imagw6/Box96.jpg)
Now I wanted to see it in the box I created. So I made a new file so I can bring in the box and the board
![Combined file set up](../images/imagw6/Box10.jpg)
I inserted the box
![Combined file set up](../images/imagw6/Box11.jpg)
and the board
![Combined file set up](../images/imagw6/Box12.jpg)
<p style="font-size: 13px; font-weight: normal; margin: 5px; color: #4A4A4A;">
<a href="https://sketchfab.com/models/658c8f8a2f3042c3ad7bdedd83f1c915?utm_medium=embed&utm_source=website&utm_campaign=share-popup" target="_blank" style="font-weight: bold; color: #1CAAD9;">Dita&#39;s Gown</a>
by <a href="https://sketchfab.com/francisbitontistudio?utm_medium=embed&utm_source=website&utm_campaign=share-popup" target="_blank" style="font-weight: bold; color: #1CAAD9;">Francis Bitonti Studio</a>
on <a href="https://sketchfab.com?utm_medium=embed&utm_source=website&utm_campaign=share-popup" target="_blank" style="font-weight: bold; color: #1CAAD9;">Sketchfab</a>
</p>
</div>
docs/images/imagw6/3D1.png

104 KiB

docs/images/imagw6/Box1.jpg

169 KiB

docs/images/imagw6/Box10.jpg

84.3 KiB

docs/images/imagw6/Box11.jpg

76.8 KiB

docs/images/imagw6/Box12.jpg

139 KiB

docs/images/imagw6/Box2.jpg

106 KiB

docs/images/imagw6/Box3.jpg

95.3 KiB

docs/images/imagw6/Box4.jpg

159 KiB

docs/images/imagw6/Box5.jpg

197 KiB

docs/images/imagw6/Box6.jpg

63.3 KiB

docs/images/imagw6/Box7.jpg

123 KiB

docs/images/imagw6/Box8.jpg

121 KiB

docs/images/imagw6/Box9.jpg

58.9 KiB

docs/images/imagw6/Box92.jpg

105 KiB

docs/images/imagw6/Box93.jpg

46.8 KiB

docs/images/imagw6/Box94.jpg

50.1 KiB

docs/images/imagw6/Box95.jpg

107 KiB

docs/images/imagw6/Box96.jpg

74.2 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment