Howdy! I’m the latest addition to the Digilent family, and I’m happy to make your acquaintance! As the newest member, my first task was to act as a guinea pig to test out our new Learn.Digilentinc webpage. After all, I was new to chipKIT, but I’m no fresh-faced newb (well… not much of a newb), I know my way around a microcontroller and this is hardly my first time blinking an LED, but I’m not a hardcore programmer or electrical engineer either, which was exactly what the Learn.Digilentinc website was created for. So I was asked to go through Digilent’s Learn site to familiarize myself with their hardware, and provide a little outside perspective on the tutorials. The following is a review of my experience with our Learn site, tutorials, and what sort of difficulties folks new to microcontrollers might have while learning the ropes on our hardware.
Where to find it and what to read!
The link to the Learn site from the main site is right next to the link to this blog, at the very top of the page. Clicking it takes you to the main Learn site, where you have two (technically three) options: “Browse Individual Projects” and “Browse Modules” (“Browse Courses” is under construction).
There is a slight issue if you are trying to navigate projects by the particular product name. For example, I was using the chipKIT uC32 (pictured at the top of this post), but Digilent offers a number of different boards, and the tutorials for each aren’t necessarily compatible! I personally made the mistake of starting with the individual projects, figuring that it would be easier to tell what projects worked with what hardware if they were all laid out for me. However, this is the actual navigation I saw when I logged in:
At first, I didn’t know it when I was looking first pass, but none of these projects listed here work with the chipKIT boards (which is what I had). Scrolling down, I finally come across some projects labeled chipKIT, which were all maroon in color.
Later, I found out that you could navigate quickly to all chipKIT products by hitting the “Microcontroller” quick navigation (since chipKIT is a microcontroller), but that was shown to me later.
An initial point of confusion was that many of the tutorials were using the chipKIT Pro (we have another blog post to explain the differences between chipKIT and chipKIT Pro)and not the uC32, Uno32, or other Arduino-based boards.
“Introduction to MPIDE” was the project recommended for me to start with, but I had a lot of navigation issues finding which projects pertained to me and my board. While it was nice to see all the projects in one place, it could be confusing to someone who isn’t sure what they are looking for in order to navigate.
What I decided was that I needed to not start with the project list. Instead, I’d recommend starting with the second option on the Learn home page. Namely, the list of modules. Here’s what I saw:
Thankfully, I already knew what I was looking for. The “Getting Started with Microcontrollers” module peeking out from the bottom of the page is exactly the place to start. Once I finished those projects, I moved to the slightly more advanced “Debouncing Circuits with Microcontrollers” module immediately above it.
Here each module neatly organizes several projects so that new users can easily move from one to the next. There was something that confused me, though… if you go back to the project list page, you can find several additional projects that don’t show up in the module page.
By scrolling to the very bottom of the list page, you can find four more projects (in dark red) that you would miss by sticking to the module site.
I found out later this was because projects are created first, then grouped into modules, then those are grouped into courseware, so it makes sense that a few projects would not be captured by the modules.
This is where Digilent’s Learn site really stands out. As much trouble as I had finding the right tutorial for the board, once I got into the actual project I found learning the material amazingly easy!
The tutorials made excellent use of diagrams to explain what was going on in the project. Circuits were clearly shown, and then step-by-step instructions were given so that more complicated circuits like the one used for the force button project were easy to follow.
I was also impressed by how clearly important concepts are explained. They cover programming concepts like functions, loops, and libraries, as well as electrical concepts like LEDs, resistors, breadboarding, even ICs. They really make sure to explain everything as clearly and completely as possible, and if there’s a more advanced concept that they don’t cover completely, or if you simply want to learn about something in more detail, they provide colorful links for additional material off to the side.
My only personal complaint about the project content is that sometimes material is not fully explained enough for me. For example, in the Debouncing via Bounce Library project, the concept of objects is used but none of the terminology is properly explained. In my opinion it’s not going to stop anybody from using the tutorial, but I feel that if you’re not already familiar with objects then this project may get a little confusing for you to understand. However, in general, most of the underlying concepts behind what is actually happening is explained in a previous project.
How easy is it to use?
So, as a newbie to Digilent and using the Learn Site for the first time my assessment is as follows.
At first, the Learn site takes a little bit of work to navigate, but once I got settled into the actual project it was smooth sailing. There are Facebook comments enabled on every page in case people have feedback, and you can up and down vote different modules. The tutorials are complete, clear, and do a good job teaching learners the ropes and getting them started using microcontrollers! I am really looking forward to seeing how the learn site keeps evolving and how it changes over time!