[TriEmbed] Learning Curve

Christopher Svec christophersvec at yahoo.com
Mon Apr 20 08:11:50 CDT 2015


 
I think what Burr wrote defines my target audience perfectly!
 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.
(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.)
Thanks!
-svec

     On Friday, April 17, 2015 3:59 PM, Burr Sutter <burrsutter at gmail.com> wrote:
   

 
On Fri, Apr 17, 2015 at 3:20 PM, Christopher Svec <christophersvec at yahoo.com> wrote:

I think the type of class depends on what you want to teach - I bet each of those student populations is out there!

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.

I'd love to hear from anyone who might fit that description: what would you like to learn?

I hope this is not abuse of the triembed mailing list but this has been my experience...
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:- 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.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.  - 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.-  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.- 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.  - 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?- 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"?- Every MCU, IC, radio, sensor, servo, etc has its own unique learning curve - learning how to read datasheets!- At what point must you truly internalize Ohm's Law and know how to calculate resistance, capacitance, etc in your head
- At what point do you need to master Eagle CAD (and other tools) for custom PCB design- At what point do you need to master the BOM, supply chain, manufacturing- At what point do you need to master expensive simulation software- At what point have you entered the world of FPGA because MCUs are not flexible enough
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 :-)

   



  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.triembed.org/pipermail/triembed_triembed.org/attachments/20150420/46ed4c32/attachment.htm>


More information about the TriEmbed mailing list