SparkFun's going to teach me all about the Arduino!

There's a whole bunch of cool stuff headed our way at the forthcoming DESIGN West 2013 Conference and Exhibition, including free hands-on training sessions from the folks at SparkFun.

There's a whole bunch of cool stuff headed our way at the forthcoming DESIGN West 2013 Conference and Exhibition.

One of the things on offer will be free, hands-on training sessions in a special training area on the main exhibit floor. This is great, because it means that this training will be available to anyone who is interested, even folks who are holding only free Expo Only passes.

Each training session will take only one hour – and there will be a series of such sessions, one after the other. The training will feature some sort of development board or platform, and students will be able to keep this platform and take it home to play with later.

The training for each day is being sponsored/given by a different company. I'm not sure of the details as to which company is on which day, but I know that the folks from SparkFun (www.SparkFun.com) will be giving the training on one of the days, and I – for one – intend to take full advantage of this opportunity.

If you aren’t familiar with SparkFun, you really should bounce over to their website and take a look at the About Us page. This is a real fun bunch of folks who are doing a magnificent job of keeping hobby electronics alive. They supply parts and development boards (MCU and FPGA-based) and all sorts of "stuff." They also offer an incredible range of educational services, ranging from high-school classes to online tutorials to hands-on workshops. And all of this education ranges from "How to solder" to "How to program microcontrollers" and more.

The hands on training at DESIGN West is going to feature SparkFun's Proto-Snap board, which includes an Arduino processor and a variety of sensors and output devices. This will allow the students to learn how to program the microcontrollers to read values from the sensors and drive the output devices without having to put circuits together on a breadboard!

The Proto-Snap line comes with circuits already connected to the microcontroller in an easy to snap-apart board. First you decide how your components will interact and you create your program to monitor and control things, then you snap the sensors and output devices apart to place them in your project. (Click Here to see the full line of Proto-Snap products).

Now, I think I can guess what you are going to say. The first thing is "Max, why don't you know this stuff already?" And the second thing is "Isn't this sort of training a little bit low-level for the sort of folks – predominantly designers of embedded systems – who will be attending DESIGN West?"

Well, in the case of the first question … all I can do is hang my head in shame. Yes, of course I could have picked up an Arduino board and of course I could have learned how to program it. But the fact is that there are just so many things to do that, thus far, I simply haven’t gotten around to doing this. There's also the fact that I have a whole bunch of hobby projects I'm currently working on for which an Arduino would be a great solution. So it seems to me that if I can get a racing hands-on training session with experts on hand to answer any questions – AND I get a free development platform in the process – well, I'd be stupid not to take advantage of such an opportunity.

With regard to the second question, for those hardware and software design engineers who are working deep inside embedded systems at the microcontroller level every day, then yes – this could be considered a bit low level. But if you are talking about software developers creating applications at a higher level, then a lot of them don’t have a clue about the “nitty gritty” details of programming a microcontroller at the lowest levels and interfacing with real-world input and output devices. Also you have a lot of folks who learned something years ago – like working with the 8051 microcontroller and programming at the assembly level – and that’s all they’ve done since. They may have heard of the Arduino and wanted to experiment with it, but never got a chance to do so, in which case they are ideal candidates for this training also.

The bottom line is that, in my time, I've designed CPUs for mainframe computers along with everything from PCBs to ASICs. I'm not a software developer, but I cut my teeth in FORTRAN, I know enough to be dangerous in Assembly and C, and I'm currently learning Python. So, taking all of this into account, if I can benefit from SparkFun's training, then I'm pretty darned sure that I'm not alone (grin).

If you see me strolling around at DESIGN West, be sure to come up and say "Hi." Maybe we'll even end up sitting next to each other in a SparkFun training session (but you are not allowed to peek at my code :-)
If you found this article to be interest, visitMicrocontroller / MCU Designline where – in addition to my Max's Cool Beans blogs on all sorts of "stuff" – you will find the latest and greatest design, technology, product, and news articles with regard to all aspects of designing and using microcontrollers.

Also, you can obtain a highlights update delivered directly to your inbox by signing up for my weekly newsletter – just Click Here to request this newsletter using the Manage Newsletters tab (if you aren't already a member you'll be asked to register, but it's free and painless so don't let that stop you [grin]).

Last but certainly not least, make sure you check out all of the discussions and other information resources at All Programmable Planet. For example, in addition to blogs by yours truly, microcontroller expert Duane Benson is learning how to use FPGAs to augment (sometimes replace) the MCUs in his robot (and other) projects.

Don't peek at my code! Isn't Arduino open-source?
I'm in the same boat, having done programming back in the day for batch jobs in SAS and FORTRAN, and in assembly and BASIC. I'm finding Arduino an easy platform to finally get started on some DIY projects without having to invest megabucks into development tools. Hats off to the Arduino community.

"I agree and disagree"
Way to sit on the fence (grin). It's like that Charles Dickens' book that starts "It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the epoch of belief, it was the epoch of incredulity, it was the season of Light, it was the season of Darkness, it was the spring of hope, it was the winter of despair..."
I thought to myself, if he can't make up his mind on the first sentence, what's the rest of the book going to be like?

I agree and disagree. I agree that many developers working with high level languages don't understand the low level details. Abstraction of the low level details is the entire point of a high level language. Languages like C have come a long way in their optimization. If the compiler is not generating efficient code, then I would say that the deficiency lies in the compiler and/or hardware rather than the developer. That is not to say that the compiler or hardware are sub par, only that the industry itself is still quite young. I would rather see developers focus on sensors, transducers, and interfacing with the physical world, while relying on the microcontroller (and associated compilers) to Just Work (TM).

Hi Max,
Enjoy your articles. If you're interested in additional resources, I have a book published by Apress on building cool projects with the Arduino titled, Learn Electronics with Arduino. The book doesn't teach basic theory of electronics but the concepts such as Physical Computing, Mechatronics, and little Systems Engineering philosophy using the microcontroller platform as a hands-on teaching tool. Basic electromechanical and electronic components like transistors (BJT and MOSFETs), flyback diodes, relays, 7 segment LED displays, LCDs, and servo motors are discussed in the book. Each chapter has a wealth of projects along with Arudino sketches to explore the cool electronics prototyping platform. Here's an Amazon link to the book. http://www.amazon.com/Learn-Electronics-Arduino-Technology-Action/dp/1430242663/ref=sr_1_1?ie=UTF8&qid=1360357486&sr=8-1&keywords=Learn+Electronics+with+Arduino

The SparkFun folks are great. They have a very high level of customer service and a refreshing attitude.
I recently jumped into the Arduino world myself with the same concerns about it's capabilities. My conclusion is that it depends on what you want to use it for. I've found good use in learning how to use new sensors, like my GPS or IMU.
The Arduino has libraries for a huge number of peripherals and getting something like my GPS up and running is very quick. I can get familiar with the ins and outs of the sensor before putting a large investment in software for a lower level MCU.
I'd also put the mbed in this same camp. The mbed is more capable than the Arduino, and not that far off in cost now. The mbed also has quite a few libraries available.