<h1>Electronics Design</h1> <h4>Wednesday February 28, 2018</h4> <img src="media/week7/desert-country-town.jpg" style="width:100%; padding:5px 5px 5px 5px;"/> ##Preamble <div style="width:30%; float:right"><video width="100%" autoplay loop controls muted><source src="media/week7/raining-in-the-desert-compressed.mp4" type="video/mp4"/>Your browser does not support the video tag.</video></div> This weekend was a pretty exciting one - I needed to exit and re-enter the country because reasons, and missed last week's chance because of the Mini Maker-Faire so this one was my last shot. One of the classmates Abdulla was heading to his hometown of <a href="https://en.wikipedia.org/wiki/Al_Ain">Al Ain</a> and he kindly offered to bring me near the border for the operation. It was pretty funny, just 20 minutes out of Dubai we stopped for food and mobile credit. As we get back in the car the car wouldn't start and so after numerous attempts and even asking a police car to jump-start us we ended up calling a tow truck to take the car away! We waited about two hours for Abdulla's mates from Al Ain to come by and pick us up! We went out for a night drive, visited the spring where hot water from the ground rushes out all night. It was pretty crazy, I'd never seen anything like it! Al Ain is a small country town an hour out of Dubai and Abu Dhabi, where no buildings are higher than five stories and what isn't sand or buildings are areas filled with lush green vegetation. It's located on the Emirates' side of the Hafeet Mountain, with Oman on the other side, and is basically one of the towns on the edge of the desert proper. Friday is a day of rest here, so we didn't go out until the afternoon. Abdulla's house basically backs onto the desert dunes so we took his buggy for a spin in the sand. It seems to be the weekend thing for this town because over the afternoon the dunes were packed with cars and buggies. It was absolutely insane to see so many grown men in their $100k+ recent model 4wds throwing their cars into the sand like that! The major dune was this massive incline that you wouldn't even be able to walk up. Nissan Patrols were fully maxing out backfiring getting up there and then surfing the sand back down the incline - I was convinced that if you stopped on it you would roll the car over! <div style="width:30%; float:left"><video width="100%" autoplay loop controls muted><source src="media/week7/sand-mates.mp4" type="video/mp4"/>Your browser does not support the video tag.</video></div> I don't know if you've seen that bit in Lord of the Rings where Gandalf leads a cavalry charge down that ridiculously steep mountain but I totally believe it's possible now. That scene was nothing compared to this! We sat with Abdulla's brothers and childhood friends had chips and mountain dew in the dunes amongst the echos of rev-limiting V8 engines and it honestly felt like being a kid again, the only difference being that most of these 'big kids' are married and have really expensive cars now. Sounds like lifestyle goals to me. Hilariously, it apparently only rains in the desert couple times a year and that day was one of them. It's surprisingly cold and windy when it does! But everybody comes out to see it. The boys planned to have a small party that night, to celebrate them all seeing each other for the first time in a while. (I guess that's what happens when you grow up and work full time..) On the way back we stopped at a roundabout and because of the recent rain a car came up behind us too quickly and wasn't able to stop! Unbelievable. I'd already been in a crash just a few weeks ago before I left Australia, and now this time in the desert once again after the only rain of the year. It was so unlikely I can be pretty sure some higher order is trolling me. Luckily our car had some few hundred kilograms of livestock feed in the back so we came out unharmed. Being at a party in a hugely different culture is really very exciting. I tried to interpret as much as I know of the language (really, not much) as the boys played card games and poked fun at each other. They had one of those large U-shaped floor-couches set up outside that you see in the movies, with a pit fire going and shisha being passed around. Abdulla's brother having spent some time studying abroad was a master cook so naturally none of the boys did anything to help him as he slaved away on a traditional meal for 10 people. He did an amazing job in the end, and I was quite impressed! Later that night we drove to the border of Oman. I nearly didn't get let back in at both borders, which was a scare, turning a 10 minute trip into nearly an hour and a half of negotiating with the border police. Abdulla and his family showed me an excellent time, definitely ten+ times better than the regular tourist-'desert safari' trip you can pay for. I got a real glimpse into desert country life and it was really refreshing from the Emirates I've seen so far. <div style="width:50%; float:right"> <img src="media/week7/layout1.JPG" style="width:100%; float:left; padding:5px 5px 5px 5px;"/> <img src="media/week7/layout2.JPG" style="width:100%; float:left; padding:5px 5px 5px 5px;"/> <legend>"The circuit layout from the exmaple and then with the new components added."</legend> </div> ##Right, so what's the go this week? This topic was about designing circuit boards and laying out your electronics. I mentioned <a href="assignment05.html">before</a> that I wanted to learn a variety of circuit design software like Altium, but never got around to it. Now is my chance! Our main task was to modify the "echo" board provided by Professor Gershenfeld to include a button, LED and a resistor. This seemed like a simple enough task so I figured I would set myself some challenges. I haven't actually designed in circuit software before - I'm familiar with it by having to review other peoples' circuits but I've never actually been required to design something myself. So the challenges I set related to workflow and repeatability. <div style="width:50%; float:left"> <img src="media/week7/layer-hide-settings.JPG" style="width:90%; float:left; padding:5px 5px 5px 5px;"/> <img src="media/week7/layer-hide-settings2.JPG" style="width:90%; float:left; padding:5px 5px 5px 5px;"/> <img src="media/week7/schematic.JPG" style="width:90%; float:left; padding:5px 5px 5px 5px;"/> <img src="media/week7/kicad-erc.JPG" style="width:90%; float:left; padding:5px 5px 5px 5px;"/> </div> My personal aims for this were to: + Design a board that DOESN'T look like Neil's board + Figure out what it's like to make changes to an existing circuit + Design the board to be compact, and in this case skinnier is better than square + Have intuitive placement of connectors for flexibility in laying out larger systems of multiple boards I would first do this in KiCad, then I would build something else in Eagle and then use my overtime throughout the week to build something using Altium. In order to practice this I first did the schematic as per Neil's example but made my own layout. This was all in KiCad. One thing I hoped was that the two boards would look like they were part of the same family which they did and I'm pretty glad about. <div style="width:50%; float:right"> <img src="media/week7/kicad-track-design-rules.JPG" style="width:100%; float:left; padding:5px 5px 5px 5px;"/> <img src="media/week7/kicad-drc.JPG" style="width:100%; float:left; padding:5px 5px 5px 5px;"/> <img src="media/week7/traces-compute.JPG" style="width:100%; float:left; padding:5px 5px 5px 5px;"/> <legend>"If you check closely some tool paths don't exist between close traces. If you crank the DPI of the image to 2000 when you export to *.png it will resolve the toolpath."</legend> </div> <br><br> Major issues I ran into were: + Re-annotating my schematic by accident caused the rats-nest to re-appear in the layout even though I had already laid it all out! The annotations had re-labelled my FTDI and AVRISP footprints (12 entire net connections) causing a near-table-flip inducing rage. + Not knowing which button footprint to use (turns out it was in the fab library but it took me a whole night to find it). + I had to quadruple-mega-double-ultra check the pins for the button because I was really nervous about how the pads were internally connected within the button.. I set up my design rules according to the guidelines, and used ERC and DRC to check. I personally don't like the design rules checkers a lot because they interrupt my workflow, but I'm sure they're there for a good reason and looking out for me. They have caught a few things that didn't machine well before so I really should get in the habit of using them. One thing I haven't really figured out how to do is use jumper resistors without DRC showing a "not-connected" error, and also sometimes when I'm making custom shaped pads in the layout editor as opposed to draying a footprint leads to "track too close to pad" and "not-connected" errors. I also had to bend the rules a little in running three traces under the ATtiny44 but with some fine tuning they do have clearance for the toolpath. One thing however is that in order to set the toolpaths correctly I cranked the DPI to an extreme 2000DPI (less would probably still work I just didn't really care). The final result measures about 19x38mm which is not a huge amount smaller but is a much more convenient form factor than the square that is suggested in the example. Analysis tools: We actually did the group assignment this week <a href="assignment08.html">next week</a> with Gabriel, one of the visiting electronics experts from Brazil. He showed us a game for learning how to master the dial settings on the oscilloscope. <div class="row"> </div> <img src="media/week7/fresh-cut-pcb.jpg" style="width:30%; float:left; padding:5px 5px 5px 5px;"/> ##Things I've given up on (for now) I had anticipated to do a bunch more exploring of circuit design software but ran out of time simply handling life things. ###Desigining the FTDI board - KiCad Designing an FTDI board so I don't have to keep buying and exploding Sparkfun boards! The other reason I wanted to learn this was so I could build boards with an FTDI control built into the board itself (header pins are easily the biggest part of any board design). ###Building the Carlduino with ATmega328P - Eagle Very excited to build a minimal arduino ever since I saw <a href="https://hackaday.com/2011/08/06/dead-bug-arduino-is-still-breadboard-ready/">Dead Bug Arduino</a>. I was also pretty keen to try out Eagle after Engineer Hashim did an introduction lesson to it - the smart routing looked pretty intuitive, and in all other ways regarding schematic and PCB layout it was neither here nor there against KiCad. Mainly I was curious about it's Autodesk integration since I have the Fusion 360 Ultimate package. ###Building the Carleonardo with ATmega16u4 - Altium The other thing I was dying to do was build a board for the ATmega16u4 so I would know whether to rule it out or plan to learn it. The only major thing is that it has native USB HID compatibility which meant I could build USB peripherals for my Raspbuino project. I was hoping to make a decision on which software I would settle with by this point in the course but it'll have to wait until next electronics week. If all else failed, I could directly drop in the ATmega32u4 into this circuit. So it would be a win-win to give this a go. <br> Update: I actually finished these three boards in <a href="assignment09.html">Week 9</a>. I also did a first-impressions review of KiCad, Eagle and Altium so check that out if you're deciding which software to get started on! <div style="width:100%" align="middle"> <img src="media/week9/fab-ftdi-soldered.jpg.sb-4095a75b-n4elVf" style="width:30%; padding:5px 5px 5px 5px;"/> <legend>"The echo board all soldered up!"</legend> </div> ##Design Files Design files for this week can be found at <a href="design-files.html">Design Files</a>.