Learning electrical or computer engineering is not an easy chore and challenges abound when it comes to hardware and learning how to use and design it.
In Canada, they developed the MPG extracurricular embedded systems program for use in universities across Canada. The hardware is available from Engenuics that also fosters the training materials. I spoke with Engenuics' Jason Long about MPG and where it is headed.
Wong: What is MPG?
Long: MPG is a free, extracurricular embedded systems program that spans across at least two years of an undergraduate Electrical or Computer Engineering (ECE) degree. We call it MPG Level 1 and MPG Level 2. MPG comes from “MicroProcessinG” and is all about gaining hands-on, practical knowledge of hardware and firmware development. It directly addresses the cries from industry to give students the real-world skills that can jumpstart them in industry after they graduate, and it has been doing that successfully, albeit quietly, for 13 years. It also solves a lot of other problems.
If we have soldering resources, then the first half of both levels is a combination of building development boards and looking at specific firmware that runs each part of the board. If we can’t solder, we use finished boards and do more firmware. The boards are custom for MPG (Fig. 1).
Level 1 firmware looks at the peripherals you find on any microcontroller and we literally start with a blank MCU. Students learn GPIO to work with LEDs and buttons, PWM, UART and a bit of I²C to get the LCD working. We also give students some code to use the onboard ANT radio to do neat things in the exercises. In the end we have a complete API for the development board. Level 2 uses the API to write high level code to implement a version of Pong that is played over the ANT radio. We run bare metal—no OS—so people really see what has to happen to make a multitasking system.
Everything in the program is open source and we are continually adding new material. If you like reading, there are about 1000 pages of notes up now that support all of the firmware that is available. We’re trying to get more videos up with the goal of presenting all of that material in a very similar format as what the Khan Academy does. We need a few more resources before that’s all going to get done, but eventually it will be there.
The only cost is the development boards. For schools that are running MPG, these are subsidized down to $60 which is actually below our cost but we can do it and still run the program thanks to the industry sponsorship we get. For individuals, the Level 1 board is $79 and the Level 2 board is $89. As the program grows, I hope we can attract more sponsors so we can continue to subsidize the hardware. Increased volumes will also help drive our costs down and we'll enhance things like our bursary program and soldering competitions (Fig. 2). I’m committed to operate MPG following a not-for-profit model.
This file type includes high resolution graphics and schematics when applicable.
Wong: What is Engenuics?
Long: Engenuics is the company I started in 2010 as a result of my experiences. It has three aspects in addition to MPG. The main purpose is to fill a gap in industry for specific training in embedded systems. There is very little formal training to be found for low to mid-level embedded hardware and firmware development and quality / value is hit or miss. From developing and teaching for 12 years I felt like I had the right skills to create a great training company. We do week-long, intensive, hands-on courses that will just about make your brain explode. I would love to establish the trust in industry such that Engenuics would be the first place that an engineer would look for training.
Getting an industry training company stabilized is a task we recognize is going to take some time. So meanwhile we are paying the bills doing contract embedded design. Through a great network and trusted relationships, we have worked on and are working on some pretty great projects for companies. We have also commercialized some little gadgets and tools of our own. My personal favorite is an instant serial cable tester that lets you check if you've got a null modem cable and also verifies all the conductors (Fig. 3).
How did all this get started?
Wong: How did all of this get started?
: MPG started way back in 2000 at the Schulich School of Engineering in Calgary when I was doing my undergrad. I was involved in the university's IEEE Student Branch where someone handed me my first microcontroller and ran a few lunchtime tutorials. I wanted more and so did other students. I had figured out that embedded systems was exactly what I wanted to do, but struggled to find enough hands-on learning in the core curriculum programs. I was also very aware that I needed to drastically improve my personal confidence and ability to speak in public if I was going to have any luck with a career outside of a cubicle, let alone survive an interview to get a job in the first place. The combination of these two things was the perfect excuse/opportunity to start MPG.
I was blown away when there were almost 30 people at the first MPG meeting. Of course I was nervous, but I was ready and it worked out well. Everyone kept coming back each week and they loved the hardware kits which at the time were a simple PIC programmer and activity board that they built (Fig. 4). The best part was that they really appreciated what I was doing and perhaps were a bit more tolerant since MPG was free. I ended up finding a love for teaching that I didn't expect, nor did I realize how rewarding the endeavor would be.
It's amazing how a decade can go by so quickly. I ran MPG every year, but didn’t realize the significance and potential in what I was doing. I was going to call it quits when I took a moment to look back at what the program was when I started and where it had come—it had indeed evolved a lot, and I figured I had put in about 2500 hours by this point. More importantly, I looked at the relationships and opportunities that had come from the program both personally and professionally, and realized that who I was professionally had really been defined by my work with MPG. But the program—even though it was still just in Calgary—was too big to keep as a side project.
Around the same time I discovered Sparkfun electronics, and more importantly, I discovered the story of how it was started by Nate Seidie. That story begins almost exactly how MPG began, but clearly Nate is a lot smarter than I am and has built an amazing company in the same time it took me to get to this point. I feel quite disappointed when I think about it that way, but thankfully I don’t think it's too late to do what I should have done a long time ago. I hope to meet Nate one day as I consider him a mentor and would love to trade some stories. I hope that MPG / Engenuics can find even a fraction of the success of Sparkfun, and we can do that without ever having to compete against them because what we do is unique enough. There might be a bit of overlap, but it never hurts to offer a different perspective on the same concept. We simply become another resource to feed the voracious and infinite appetite for information of students, hobbyists, and engineers.
So I started Engenuics and wanted to increase the scope of MPG, keep people involved, and offer something throughout a student’s entire undergrad and into industry. I didn't fully know how I was going to execute this plan yet, but a few serendipitous things happened just weeks after I incorporated Engenuics. My phone rang, and it was Dynastream Innovations, a Canadian company that developed the ANT+ protocol that competes with BLE. They had just interviewed some students that brought their MPG dev boards with them to show off the ANT radio that was on the board that they knew how to run. Dynastream had just discovered MPG, and they loved what I was doing.
To wrap up this long story, I figured out how to achieve my plan of growing MPG and pitched the concept of MPG Level 2. Dynastream became my first customer who sponsored creating the new course. Now MPG had the continuity it was looking for, and Dynastream had access to a trusted resource of students who proved that they had incredible interest, ability, and commitment to working with embedded systems. Their continued support and our great relationship four years later proves it's working for them. There are nearly a dozen companies in Calgary now that sponsor MPG to support the initiative and take advantage of the resource. There is no reason why this can't be replicated in every city in North America.
Wong: How does MPG fit into a college or university?
Long: MPG is not an accredited program nor is it directly affiliated with any university even though we run on campuses. We are extremely careful to develop great relationships with schools and get them on board and ensure we provide a ton of value to their students. It complements the core ECE curriculum and reinforces the theoretical concepts through practical application. I really want to emphasize that. Since we’re coming from industry, we bring an important perspective and knowledge base into the academic realm in a very non-confrontational way. We need the logistical support of the institutions for computer labs and access to students, but beyond that there is no load on university resources. We have never asked for money from a school.
MPG is fundamentally different than a core ECE course because people are doing it to feed an interest and to see something work, not because they need a good mark for their GPA. I see them transform from shy, totally uniformed students who don't know what a “PCB” is, to confident, capable, young engineers because MPG is run as a gathering of engineers, not a classroom. This is one of the most profound things I witness every year. I wish there was a way to equate a monetary value to that growth so students could really understand how valuable MPG is. The technical side is maybe 10% of the value that students learn. Learning to communicate and mentor are what it's really all about. After all these years, I've found that it clicks with a lot of students a few years after they graduate. Those students who really get it are enjoying great careers and already leaders in their field.
Last year the program ran in 5 universities in Canada. Three of those were led by industry volunteers, and the other two were led by students. You might think that is impossible but I assure you it works and we keep getting better at enabling students to find success. Remember, I started MPG as a student and it worked very well, and I was creating all of the content (and Google didn’t exist in 2000!). There are certain students that have a knack for this, and those people have become very important parts of my network. Some of them have become employees, colleagues or customers. Some of them are now running MPG programs. I have also met people from industry at our open houses that want to help out, and they too have become MPG leaders and are benefiting from the same soft skill development. I’m convinced there are enough people who want to break the trend of the introverted, cubicle-dwelling engineer and do something like MPG. If I have one mission in life, it is to enable people to this – that’s how the program is going to grow. Need proof that the model works at schools where I’m not? MPG in Calgary last was the biggest ever – we easily had over 50% participation from the ECE student body (Fig. 5). The most important point to make is that I wasn’t even in Calgary and this was all done by three outstanding industry volunteers and a great group of student helpers.
Wong: How does MPG compare to other open platforms like Arduino and Raspberry Pi?
Long: Arduino and Raspberry PI are incredible platforms. MPG compliments those and fills a gap that I think is left when it comes to learning embedded systems. As I understand Raspberry PI, it was supposed to be a low-cost computer but quickly made it into the Maker and Hacker space. If you want to get into an applications processor, Raspberry PI is certainly the answer, but I don’t think it’s meant as a platform to learn lower level embedded systems.
Arduino has been enabling people to play around with embedded technologies for a long time. There seems to be a shield for practically everything, and an immense amount of code examples. But as a Professional Engineer, I have to admit that Arduino has never been a solution for me because there is such a gap between a finished Arduino device and a mass-producible, scalable, maintainable embedded system for industry. This is where MPG comes in.
The MPG dev boards have a ton of hardware to play with including an onboard J-Link from Segger and an ANT+/BLE radio. Of course there’s LEDs, buttons, buzzers, LCDs, etc. The platform supports expansion just like Arduino through a standard daughter board interface (Fig. 6). We call our main boards “Razors” and the expansion boards “Blades.” Blades are daisy-chained out so the hardware is always accessible. We’re just finishing an Arduino Shield Blade that will enable you to use any Arduino Shield with any Razor board.
However, the biggest difference comes in the firmware. All of the MPG code is written in C – no hiding behind a custom language that attempts to abstract some of the more difficult aspects of standard C. And it’s not just self-documenting code – there are a ton of comments that explain what is going on because we always have teaching in mind. Some people will hate this, but it’s a style that has proven extremely successful in MPG. We have to master the hard parts to be engineers, and while there is a ton of example code and reference designs out there, there doesn’t seem to be a lot of material that describes core details and talks about the “why” behind code. We describe pretty much everything including the pros and cons of our implementations and some of the reasons for our design decisions.
In this respect, MPG provides a more robust path in developing real-world skill that can be applied directly to industry. We actually use our platform for customer designs and often prototype new products on the MPG dev boards since they’re so complete and are totally up to date technically. This gives the Makers and Hackers who are trying to build their skills for their careers the opportunity to learn what they might actually be doing. It also provides a great resource for engineers to reference material that will help them in their jobs. Even I reference my own notes when it has been a while since I've worked with a particular piece of code or hardware.
The other really big difference with MPG is that the nucleus is Engenuics and there are real people out there teaching it in person. We are essentially franchising MPG to universities and have created a model that allows students and industry professionals to work together to not only explore the technical side of MPG, but to get out there, network, and learn together. We want to build a community, but want to build it around real people, not just individuals chatting away on forums.
What is next for MPG and Engenuics?
Wong: What’s next for MPG and Engenuics?
Long: If I reveal my most ambitious vision, it’s that MPG is running in every engineering school in North America. Ask me in 20 years how that worked out. Realistically, I’d like to see the program double in size each year and be in 50 schools in five years. I hope that students reading this are excited about what they can achieve and reach out to me to ask how they can get involved. I hope industry professionals who read this ask how they can reap the benefits of the program for their companies and for their staff. And I hope that professors and the administrators who run the great ECE schools in Canada and the US ask how they can get this going in their institutions to improve enrollment, their student experience, and better integrate with industry. All of these groups can have MPG without any cost (but of course we can do things bigger, better and faster with sponsors).
Even without large groups, I hope that individuals access the MPG resource and use it to help themselves get better at embedded systems. Engenuics and MPG have the ability to grow in to people’s needs and we’re waiting to hear ideas and suggestions on how we can better service them. We look forward to organically growing our followers so we know that everyone we are reaching love embedded systems just as much as we do.
This file type includes high resolution graphics and schematics when applicable.
Jason Long, President & CEO, Engenuics Technologies Inc., www.engenuics.com
Jason is an Electrical Engineer who graduated from the Schulich School of Engineering in Calgary in 2002. He has worked as an embedded systems designer for several companies doing both hardware and firmware design, but has also spent his entire career designing and running an extracurricular embedded systems training program that is now active in 5 Canadian universities. In 2010, Jason founded Engenuics Technologies Inc. to better pursue his passion for embedded design and teaching. He currently lives in Victoria, BC, Canada and runs Engenuics and its growing staff of passionate people.