<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue-Light, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:13px"><div id="yui_3_16_0_1_1429532987450_6339"><span></span></div>  <br><div id="yui_3_16_0_1_1429532987450_6493" class="qtdSeparateBR"><div id="yui_3_16_0_1_1429532987450_6501" dir="ltr">I think what Burr wrote defines my target audience perfectly!</div><div id="yui_3_16_0_1_1429532987450_24516" dir="ltr"><br></div><div id="yui_3_16_0_1_1429532987450_16588" dir="ltr"> If anyone else found themselves nodding along to what Burr wrote below, please email me: I'd love to get more details on what people would like to get out of an "Embedded Software 101" (and maybe 102, 201, etc...) class.</div><div id="yui_3_16_0_1_1429532987450_13942" dir="ltr"><br></div><div id="yui_3_16_0_1_1429532987450_21873" dir="ltr">(My current target would be someone who has at least *some* programming experience, but not necessarily a seasoned professional - a bit of Ruby, Python, Javascript, etc. would be good enough.)</div><div id="yui_3_16_0_1_1429532987450_21872" dir="ltr"><br></div><div id="yui_3_16_0_1_1429532987450_13943" dir="ltr">Thanks!</div><div id="yui_3_16_0_1_1429532987450_13945" dir="ltr"><br></div><div id="yui_3_16_0_1_1429532987450_13946" dir="ltr">-svec<br></div><br></div><div style="display: block;" id="yui_3_16_0_1_1429532987450_6373" class="yahoo_quoted"> <div id="yui_3_16_0_1_1429532987450_6372" style="font-family: HelveticaNeue-Light, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 13px;"> <div id="yui_3_16_0_1_1429532987450_6371" style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div id="yui_3_16_0_1_1429532987450_6494" dir="ltr"> <font id="yui_3_16_0_1_1429532987450_6498" face="Arial" size="2"> On Friday, April 17, 2015 3:59 PM, Burr Sutter <burrsutter@gmail.com> wrote:<br> </font> </div>  <br><br> <div id="yui_3_16_0_1_1429532987450_6370" class="y_msg_container"><div id="yiv8486853438"><div id="yui_3_16_0_1_1429532987450_6369" dir="ltr"><div id="yui_3_16_0_1_1429532987450_6368" class="yiv8486853438gmail_extra"><br><div id="yui_3_16_0_1_1429532987450_6379" class="yiv8486853438gmail_quote">On Fri, Apr 17, 2015 at 3:20 PM, Christopher Svec <span dir="ltr"><<a rel="nofollow" ymailto="mailto:christophersvec@yahoo.com" target="_blank" href="mailto:christophersvec@yahoo.com">christophersvec@yahoo.com</a>></span> wrote:<br><blockquote id="yui_3_16_0_1_1429532987450_6378" class="yiv8486853438gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex;"><div id="yui_3_16_0_1_1429532987450_6377"><div id="yui_3_16_0_1_1429532987450_6376" style="color:rgb(0,0,0);font-family:HelveticaNeue-Light,;font-size:13px;background-color:rgb(255,255,255);"><div id="yui_3_16_0_1_1429532987450_6496" dir="ltr"><span id="yui_3_16_0_1_1429532987450_6495">I think the type of class depends on what you want to teach - I bet each of those student populations is out there!<br></span></div><div id="yui_3_16_0_1_1429532987450_6497" dir="ltr"><span><br></span></div><div id="yui_3_16_0_1_1429532987450_6375" dir="ltr"><span id="yui_3_16_0_1_1429532987450_6374">My personal "embedded software engineering 101" class idea is for someone who already knows how to program (any language, doesn't matter), maybe already a professional software engineer, maybe a motivated college student-age person, and they want to become a professional embedded software engineer. Or at least take the first step to being able to do the work of a professional embedded software engineer.<br></span></div><div id="yui_3_16_0_1_1429532987450_6381" dir="ltr"><br><span></span></div><div id="yui_3_16_0_1_1429532987450_6380" dir="ltr"><span id="yui_3_16_0_1_1429532987450_6388">I'd love to hear from anyone who might fit that description: what would you like to learn?</span></div></div></div></blockquote><div id="yui_3_16_0_1_1429532987450_6382"><br></div><div id="yui_3_16_0_1_1429532987450_6383">I hope this is not abuse of the triembed mailing list but this has been my experience...</div><div id="yui_3_16_0_1_1429532987450_6384"><br></div><div id="yui_3_16_0_1_1429532987450_6385">As a Java (sometimes JavaScript) software developer, coding is not a problem, learning C/C++ is not an overly big challenge (I was decent at C in 1990).   What have been learning challenges are:</div><div id="yui_3_16_0_1_1429532987450_6386">- Perception that "hardware is hard" - turns out that is less true than I originally thought when it comes to wiring circuits, I have mentally started thinking of it as software - everything is a prototype - it can be thrown away.  Those jumper wires, resistors, sensors, capacitors are relatively inexpensive, if you break it, buy some more.   The one gotcha, it takes a few days for SparkFun, Adafruit or Amazon to replenish whatever I might have broken while I was learning.  So you pay the price of waiting to finish your experiment.</div><div id="yui_3_16_0_1_1429532987450_6387">It really frees the mind for learning when you stop caring about messing up your photoresistor by overly bending up its leads to make it fit a design - hardware is for hacking on  with wire cutters and a soldering iron. Then it feels a LOT more like software, where you can feel free to break stuff.  </div><div>- Soldering - it took me months before I was willing to break out of pure solderless breadboards and to try some soldering.  I should have started sooner. I should have realized early on that "hardware is for hacking" and a soldering iron is fun..and that solder, hookup wire, resistors, LEDs, etc are cheap so melt them down.</div><div>-  Scary: I have not shocked myself, I have not even burned myself though putting a cheap temp/humidity sensor backwards makes things very warm. I have not blown anything up but I did cause my laptop to reboot by trying to drive a 5V+ hungry servo from the 3.3v pin of the Arduino which was pulling power only from may laptop's USB.</div><div>- Where to Invest: As a newbie, I would rather invest my learning time in more generalized skills, that is why mbed is interesting to me, in theory, it should be applicable knowledge across a range of MCUs.  </div><div>- Can I "get by" with Linux-based machines that have GPIO, I2C, UART, etc capabilities leveraging my existing Python, Node and Java skills OR must I really learn to love C and every chip manufacturers unique IDEs?</div><div>- What are the differences between GPIO, I2C, UART, PWM, SPI, etc and when would I use them (so far I just let the thing I am integrating with dictate that) - do I really need to master all of these before moving to "Embedded Software Engineering 102"?</div><div>- Every MCU, IC, radio, sensor, servo, etc has its own unique learning curve - learning how to read datasheets!</div><div>- At what point must you truly internalize Ohm's Law and know how to calculate resistance, capacitance, etc in your head<br></div><div>- At what point do you need to master Eagle CAD (and other tools) for custom PCB design</div><div>- At what point do you need to master the BOM, supply chain, manufacturing</div><div id="yui_3_16_0_1_1429532987450_6389">- At what point do you need to master expensive simulation software</div><div id="yui_3_16_0_1_1429532987450_6390">- At what point have you entered the world of FPGA because MCUs are not flexible enough</div><div id="yui_3_16_0_1_1429532987450_6391"><br></div><div id="yui_3_16_0_1_1429532987450_6392">I am sure I have abused people eyeballs enough with my textual verbosity...but hopefully you can see that I am really trying to figure this out :-)</div><br><blockquote id="yui_3_16_0_1_1429532987450_6399" class="yiv8486853438gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex;"><div id="yui_3_16_0_1_1429532987450_6398"><div id="yui_3_16_0_1_1429532987450_6397" style="color:rgb(0,0,0);font-family:HelveticaNeue-Light,;font-size:13px;background-color:rgb(255,255,255);"><div id="yui_3_16_0_1_1429532987450_6403"><div id="yui_3_16_0_1_1429532987450_6402" class="yiv8486853438h5"><div id="yui_3_16_0_1_1429532987450_6409" style="display:block;"><div id="yui_3_16_0_1_1429532987450_6408" style="font-family:HelveticaNeue-Light,;font-size:13px;"><div id="yui_3_16_0_1_1429532987450_6407" style="font-family:HelveticaNeue,;font-size:16px;">  </div> </div>  </div></div></div></div></div></blockquote></div><br></div></div></div><br><br></div>  </div> </div>  </div></div></body></html>