[TriEmbed] Learning Curve

Burr Sutter burrsutter at gmail.com
Fri Apr 17 14:59:55 CDT 2015


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 :-)


> Thanks,
>
> -svec
>
>
>
>   On Friday, April 17, 2015 1:57 PM, Burr Sutter <burrsutter at gmail.com>
> wrote:
>
>
> Hey Jon,
>
> I like the basic idea, the challenge will be finding the sweet spot of
> prerequisites for a potential student.
>
> For instance, would you say the prereq is a solid understanding of all the
> concepts demonstrated by Terry's YourDuino [1] (wish I had known about this
> kit a couple of years ago)?
>
> Or is the prereq more Lego mindstorms for the kids looking to learn?
>
> Or is the prereq a professional software developer looking to become a C++
> embedded engineer?
>
> If you would like to kick the idea around...I would be happy to provide
> input/ideas.
>
> [1] http://arduino-info.wikispaces.com/YourDuinoEngStarter
>
>
>
>
> On Fri, Apr 17, 2015 at 11:20 AM, Jon Wolfe <jonjwolfe at anibit.com> wrote:
>
>  This is the kind of thing I would *really* love to expand my business
> to. In fact, it's sort of part of my mission statement. I've been trying
> for the past year to turn my passion/hobby into my profession, and I kicked
> it off by becoming a parts distributor. I've mentioned to some how
> reselling has been a little less than rewarding. It's not that I don't like
> doing it, I do. However, after recently doing my taxes, it's apparent that
> reselling is not going to be any sort of business stepping stone to bigger
> and better things. I was so close to breaking even that my entire profit
> for last year was less than what I make in one day as a consultant. And
> that's on top of the fact that I can't match the prices of most of the
> big-time hobby electronics site.
> One thing that I have had a desire to do is be part of education in the
> Hobby Electronics and embedded development space. A lot of the original
> ideas I've been cooking up center around that theme. That is why I made the Graphical
> Robot Programming Tool <https://anibit.com/3pi_programmer_windows>. I
> think there several "tiers" that exist for education and training programs.
> The graphical programmer is aimed at kids and non-technical adults, but I
> think there is another area that seems underserved, and it of particular
> interest to me that that is the group of the kind of people who might be
> inclined to check out Triembed for the first time. It's people who might
> have a little electronics or programming knowledge and want to go to the
> "next level". For the Arduino example, it's a great tools for absolute
> beginners, but as your AVR and C++ programming skills grow, it starts to
> become an obstacle to doing more advanced software design and development.
> I'd absolutely be interested in putting together some sort of program for
> people who want to learn embedded C/C++ and are ready or almost ready to
> move past the Arduino.
> How much interest is there among this mailing list for something like a
> several session class in AVR and/or Arduino programming(this would be a
> separate distinct thing from Triembed)? Would it be something you'd be
> willing to take a paid class in? If not that topic, is there an interest in
> something else? My specialties lie in embedded and desktop/mobile software
> development and digital electronics.
> I've put together a survey here
> <https://docs.google.com/forms/d/1lJeUbzZxauLuYmlxXwiVOeCYjN27ZjR98_bQb2XzG3Y/viewform?usp=send_form>,
> if anyone is interested in giving me feedback on interest in classes.
> Thanks,
>
> Jon
>
> On 2015-04-15 22:36, John Rock wrote:
>
>  I'd sign up for Embedded Software Engineering 101.
>
> I find the TriEmbed meetings great, but a bit over my head (at least at
> this point in my journey).
>
> John Rock
>
>
>  *From:* TriEmbed [mailto:triembed-bounces at triembed.org] *On Behalf Of *Christopher
> Svec
> *Sent:* Wednesday, April 15, 2015 16:15
> *To:* burrsutter at gmail.com
> *Cc:* triembed at triembed.org
> *Subject:* Re: [TriEmbed] Learning Curve
>
>  There are two types of people in the world: those who think there are
> two types of people in the world, and those who don't. :-)
>
>  I used "maker" vs "engineer" as if they were two mutually exclusive
> ecosystems, but really I think the "maker" vs "engineer" distinction is
> just two very fuzzy regions on a spectrum, with all sorts of different
> tradeoffs between them.
>
>  I love the question of how to go from Arduino to "lower level" embedded
> stuff, without a stop at an engineering degree along the way.
>
>  This free edX course covers some of the "engineering" side:
> https://www.edx.org/course/embedded-systems-shape-world-utaustinx-ut-6-02x
>
>  But aside from that I don't know of any prepackaged resources. I hope
> other people do!
>
>  I've considered putting together an "Embedded Software Engineering 101"
> type of class, but wasn't sure if there was any audience for such a thing.
>
>  Thoughts?
>
>
>    On Wednesday, April 15, 2015 3:31 PM, Burr Sutter <burrsutter at gmail.com>
> wrote:
>
>
>  On Wed, Apr 15, 2015 at 9:35 AM, Christopher Svec <
> christophersvec at yahoo.com> wrote:
>
>   Great! That leads to another question: which ecosystem?
>
>  I would classify the products you've listed (Arduino, RaspPi, Spark,
> etc.) as mostly from what I call the "maker" ecosystem, meaning they're
> "batteries included" products useful in prototyping and product/experience
> exploration. And the products you've called out are definitely the top ones
> in that ecosystem.
>  Another ecosystem is what I call the "engineering" ecosystem, meaning
> embedded products intended for high volume and high reliability products;
> it's anything you might want to manufacture and ship a bunch of (and not
> have them fail in the field).
>
>
>  I have been asking about the "maker" vs "engineering" distinction in
> other forums.  Some folks believe there are two different universes, some
> think that one is merely an extension of the other, that there is a
> spectrum (not binary) of skills engineering/crafting for different
> needs/requirements.
>
>
>
>  The "maker" and "engineering" ecosystems can both create a product that
> does the same thing, but cost, design time, scale, reliability, etc. will
> be quite different.
>
>  Does that make sense?
>
>  Totally
>
>  I am interested in the "starting as a maker" and then "becoming a real
> engineer" journey.   I feel that one can learn a lot in the
> Arduino/RPi/Spark/Intel Edison world and then begin to learn ARM's
> mbed...then TI/FreeScale/SiliconLabs.  What are the stepping stones (for
> someone unwilling to go back to school for an electrical engineering
> degree)?
>
>
>
>
>  (See? I love questions! :-) )
>
>
>  Thank you very much for your responses! :-)
>
>
>
>  -svec
>
>  Chris Svec
>  Senior Principal Software Engineer
>  iRobot
>
>     On Wednesday, April 15, 2015 9:20 AM, Burr Sutter <
> burrsutter at gmail.com> wrote:
>
>   I think that is a perfectly fair question...my focus is on learning at
> this time, trying to understand the overall ecosystem.
>
>  On Wed, Apr 15, 2015 at 8:20 AM, Christopher Svec <
> christophersvec at yahoo.com> wrote:
>
>   Yes! I totally agree about the growth of our once-very-niche industry.
>
>  Another question to consider is "what are you trying to do or accomplish
> as an end-goal?", in addition to the "where to invest time & energy to
> learn" question.
>
>  You can spend the rest of your life testing & learning each new platform
> or dev board or widget that comes out - and there's nothing wrong with that
> at all! Especially if pure learning is your goal.
>
>  But is that what you're after?
>
>  (I'm a fan of frequently backing up and asking the big picture "why?"
> questions.)
>
>  -svec
>
>
>     On Wednesday, April 15, 2015 8:05 AM, Burr Sutter <
> burrsutter at gmail.com> wrote:
>
>     The world of embedded microcontrollers has seen some dramatic growth
> (from my perspective) and it is tough to figure out where to invest my
> learning time & energy.
>
>  I have followed this path so far:
>  1) Arduino
>  2) Raspberry Pi
>  3) Spark Core
>  4) Intel Edison (just using it as a Linux box so far)
>  5) TI SensorTag
>  and played a bit with the NXP LPC1768 running mbed (http://mbed.org/)
>
>  Mostly I have been simply playing with the various "developer kits"
> where my mission is on detection and connection - trying to understand what
> can be sensed and how to get the data back to the cloud.
>
>  How do you all feel about mbed? Is that worthy of expending
> dozens/hundreds of hours of learning time? And if so, which of the various
> ARM/mbed-based hardware vendors are interesting to you?
>
>
>
>
>
>  _______________________________________________
> Triangle, NC Embedded Computing mailing list
> TriEmbed at triembed.org
> http://mail.triembed.org/mailman/listinfo/triembed_triembed.org
> TriEmbed web site: http://TriEmbed.org <http://triembed.org/>
>
>
>
>
>
>
>
> _______________________________________________
> Triangle, NC Embedded Computing mailing listTriEmbed at triembed.orghttp://mail.triembed.org/mailman/listinfo/triembed_triembed.org
> TriEmbed web site: http://TriEmbed.org <http://triembed.org/>
>
>
> --
>
> Jon Wolfe
> Anibit Technology LLC.
> https://anibit.com
>
>
> _______________________________________________
> Triangle, NC Embedded Computing mailing list
> TriEmbed at triembed.org
> http://mail.triembed.org/mailman/listinfo/triembed_triembed.org
> TriEmbed web site: http://TriEmbed.org <http://triembed.org/>
>
>
>
> _______________________________________________
> Triangle, NC Embedded Computing mailing list
> TriEmbed at triembed.org
> http://mail.triembed.org/mailman/listinfo/triembed_triembed.org
> TriEmbed web site: http://TriEmbed.org <http://triembed.org/>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.triembed.org/pipermail/triembed_triembed.org/attachments/20150417/04b8d29b/attachment.htm>


More information about the TriEmbed mailing list