Oct 312011
 

Kevin Green, who is making a new Arduino compatible rapid prototyping board, approached us to see if we’d be interested in chatting about his new project. It’s essentially like an Arduino, but instead of just having rows of headers that you can plug anything into, it’s designed to accept any of a bunch of pluggable sensors and parts. It has a breadboard built in, and it dresses like a New Yorker (that is, all in black), so it looks pretty rad. I asked Kevin a few questions about the project, which you can read after the jump, or you can head straight to his kickstarter here

Who are you, and why did you start this project?

I’m Kevin Green, the project’s founder and sole hardware/software developer (only for the moment I hope). I’m also 24 and currently working as an engineer for the DOD by day. I come home every night and work on BoardX in a variety of ways, with most of my time being spent on assembly of prototypes for reviewers, promotion and inventory management.

Upgrade Industries was founded out of necessity, because I couldn’t keep waiting for a company to design the product I needed.

Let me take you back to a time when I was just an undergraduate engineering student, trying to make ends meet as the captain of one of Virginia Tech’s lesser-known student design teams.

My team and I were designing a solar-powered robot that would use a compass and accelerometer to navigate its environment. We didn’t have much design experience back then, but we needed an easy way to combine several different circuit boards into one for our robot. We also needed to make sure that we could swap them out in case one was destroyed or burnt out, which was known to happen from time to time.

Rather than design our own circuit board with all the parts permanently attached, I designed a very small motherboard for all the various third party sensors to plug in to. This was a huge hit with the team and also a time saver, since we could now build our system piece by piece and choose which parts we wanted to design and which we would buy.

Expanding on that idea, I added a breadboard, standardized the size of the ports, and stylized the design so it would look as good as the rest of my projects. After researching existing products like Arduino or Beagle, I made it a point to fix certain weaknesses that I felt were holding those platforms back such as weak current allowances, fixed processors, and large add-ons.

What problems were you encountering with the stock Arduino that made you want to start this project?

First let me start by saying that I love the Arduino because it’s done more than anything else I can think of to enable hobbyists to get started with electronics. The SDK is brilliant.

Ok now that I’ve gotten that out of the way, here’s what I’d always wanted from the Arduino: flexibility. When I was working on my robots in college, I needed small add-ons and the ability to upgrade any part of the board without being forced to buy a completely new system. Arduino gave me the ability to do that to a certain extent, but only by adding things. What if I needed to replace something though? I’d end up with a board stacked a foot tall and full of redundancies.

And then as I was assembling a desktop PC I realized what the Arduino was missing – the ability to change the processor and power supply. When somebody upgrades their PC, half the time they just swap out some old parts for upgrades. They don’t go out and buy a completely new motherboard (processor and all) every time they need a new stick of ram – that would be crazy. But if you want to drastically change the processor of an Arduino, guess what? You get to design a brand new Arduino every time and that means you get to redesign the power supply and USB interface too. And those shields you’ve already purchased? Well they’re usually processor specific too, so good luck.

Arduino shackles their users to a specific processor and I never understood why. Maybe it’s because of their flagship SDK, or maybe because “an Atmel processor ought to be enough for anybody.” Who knows for sure, but it occurred to me that most MCUs have similar features and communication buses, so it should be trivial to adapt a design to a new processor when they all have so much in common.

The more I thought about these issues, the more it drove me crazy. “It’s so OBVIOUS!” I would say to myself as I frantically googled for an existing product but came up empty handed.

You see, I was lazy. I didn’t want to redesign the system for every PIC, ARM, or What-Have-You. That’s why the people at Arduino have dozens of different variants out in the wild. I certainly don’t want to support a dozen different BoardX motherboards, life’s too short. By making everything an add-on, the lifespan can be increased and the opportunities for re-use broadened.

Months later as my design progressed, I started noticing that if I made add-ons smaller, I could fit more of them on the board without it growing too large. I’d also found myself increasingly annoyed with my breadboard, which had to be carried around separately – so I threw that on there too. When it finally became time to think about marketing, I came up with the name BoardX. It sounded cool and subtly hinted that the system was for experimenting and was expandable. Lastly, I shaped the board to match its name, as an X where the mounting holes are. I needed a great color to match the unique shape and found that blue would be forever known as Arduino territory and red was nominally reserved by the community for projects by Sparkfun. Black seemed cool and it goes with everything.

And that’s how BoardX happened.

What’s your vision for this project, now and in the future?

I want it to grow into a community that builds off of it and educates future engineers. My own university used to force us to learn circuit board design in a fly-by-night manner where we’d be told to either learn it ourselves, or fail. They gave us a vague set of design rules and an example board to obliterate but that was pretty much it. Maybe that was to prepare us for dealing with customers later in life, or maybe I’m giving them too much credit, but that was our senior project so you can imagine the stress it put us through.

I hope that using my system, a professor could instead specify a single part of the system to design, and provide the rest. This way a student wouldn’t get overwhelmed by the size and scope of the project and instead learn circuit board design piece by piece. Every class could redesign a different part of the system, knowing that the unchanged bits would be compatible. You could have power engineering classes redesign the power regulation system, embedded design classes make MCU boards and digital communications classes design radio add-ons. In my mind, the possibilities are endless and they all sound better than what I went through.

Since it’s all open source, there’s nothing stopping other communities from creating their own add-ons or even their own motherboards. That would make me very happy.

If readers were to buy a kit, which plugins do you think are essential?

Some people call them plugins or shields, I call them Add-ons. Tom-ay-to. tom-ah-to. There aren’t that many available for sale yet since I had to narrow down the selection to those that were past mere prototyping, but I’d say that aside from the processor add-ons, the others are equally useful. If someone were to get up and running with just a Motherboard + AVR-X add-on, they’d be able to do the same things as they could with an Arduino or other fixed-processor board.

The ADC add-on is great for simple analog to digital stuff, and there’s example code on the site. I’ve used it for reading IR sensors, solar panel voltages and capacitor arrays.

Okay, maybe the FRAM is not as useful as an ADC since most MCUs come with built-in non-volatile memory. But EEPROM is on its deathbed and this add-on is accessed easily over I2C for device sharing between processors. I’ve used it to store a lookup table for the previously mentioned IR sensors, as well as general non-volatile storage for robots.

The PROTO-X add-on shines because it’s so useful. I built a motor controller add-on that will one day be available to buy. It’s the starting point of every add-on. The process usually goes like this:

  1. Test add-on on the bread board
  2. Move the design to a PROTO-X (and once again free up the breadboard)
  3. Convert it to a permanent add-on

Lastly, the AVR-X add-on, is our first (and currently only) MCU board. It’s Arduino SDK compatible out of the box, and does everything you’d expect it too. I even put a little switch on it to easily toggle between 3.3V volts and 5V. I haven’t seen that on an Arduino yet but it’s certainly useful.

At various stages of super secret development are the following: PIC24 and ARM Cortex M-3 processor add-ons, Micro-SD add-on, XBee radio add-on, motor controller add-on and a battery charging/DC-DC regulator power supply add-on.

I love designing these things, so once I get the first batch of systems in stock I’ll get back to finishing these.

Where’d you get a rad, black circuit board made?

China. However, I’ve hand-assembled every circuit board myself. There’s a little bit of my blood, sweat and beers (I need to trademark that by the way) in every board that’s out there right now. That’s obviously going to change though once I can get the funding together to buy more. I’d rather design boards than assemble them.

Got questions for Kevin? Ask away in the comments here, and we’ll pass them along!