Build a Robot: From n00b to slightly less n00b with Arduino

The freshly assembled BoEBot with my Arduino Uno R3 nestled inside.

The freshly assembled BoEBot with my Arduino Uno R3 nestled inside.

 

So I’ve gone through most of my life pretty ignorant of electronics. I built a computer in high school with some help, but beyond plugging together big pieces of “FM” (f***ing magic), I didn’t really get what was going on. However, in the last few years there’s been an explosion in products and resources related to prototyping and small scale computers, and I thought it was time to see what all the fuss was about. In the interest of balance, I should mention that the three most prominent platforms right now are the Arduino, the Raspberry Pi, and the BeagleBone. The latter two may well be incredible, but I haven’t had the time or money to look into them yet, so I’ll leave it to others to describe their merits. As for the Arduino, it looked like a good starting point for a few reasons.

Firstly, the open source nature of the hardware appealed to me. First party Arduinos have a nice build quality and are available in a number of variants. What’s more, tons of other manufacturers are making slight variants for more specialized ends, and you’re theoretically at liberty to try to build one yourself if you think you can do it more cheaply or more effectively. Second, the Arduino platform is geared more toward electronics projects with a relatively simple codebase. I’ve already spent some time in programming world and I was more interested in soldering and making circuits, so this suited my curiosity well. In contrast, the Raspberry Pi is known for being a full-fledged computer, albeit a rather basic one. That seemed like overkill for me. The affordability of the Arduino was another plus. I picked up the official starter kit (got it for Christmas, actually), which came with a book and a good set of starter components. This runs between $100 and $150 at the moment, and there are tons of kits from other vendors with slight variations on the same starter pack theme that will probably get you up and running just as nicely. To supplement the kit, extra Arduino Uno R3’s (the main entry-level board) are available for around $35 online and at local retailers, and expansion shields and parts are generally affordable. Lastly, there’s tons of support for Arduino, with a wealth of tutorials online and books on every theme you can imagine. The expansion “shields” are a great feature, too. You basically snap them on top of your board and add some functionality (GPS, extra motor controllers, cellular functionality, bluetooth, etc.) with little to no hardware experience required. This can get you up and running a lot faster if there’s something specific you want to do. On the other hand, you can generally accomplish the same thing manually if you want to customize it or learn more about the inner workings of the technology.

I made it through the starter kit guidebook from beginning to end in about two months of occasional spare time tinkering. The instructions were easy to follow and the finished code made it exceptionally simple to test the hardware without having to worry if you messed up the software side. My only issues were that the components didn’t often sit in the breadboard (that is, the board full of holes that you use to mock up your circuit) very securely, and that one of the leads fell off my motor. It’d be nice if they addressed the fit issue, but I’m sure it comes up eventually in post-kit electronics world. If you want to be safe, make sure you have a soldering kit and a few different kinds of connector wires (male-male, male-female, female-female) to solve any of these minor issues.

After I made it through the original kit, I moved on to some robotics. While Arduino sells an official robotics platform that looks pretty solid, it was a little more than I wanted to pay at this level. Instead, I found a kit by Parallax that allowed the mounting of the Uno R3 that I already had to a “Board of Education” shield and a basic two-wheeled robot chassis. I guess this “BoE-Bot” is a pretty widely-used form factor that’s been around since before the Arduino, and it was more affordable than the standalone Arduino robot by a wide margin. I took the plunge on the kit, and found that it only took about an hour to have the thing in working shape. I did lack a book, but there was an online tutorial set that proved just as helpful, including up-to-date code snippets that could be used with the example hardware setups. As of now, I’ve worked my way through all of their example projects and have begun expanding the bot with my own ideas. In contrast to the Arduino kit, the robot kit fit together nicely at all steps. The BoE shield is a nice feature thanks to the attached breadboard and the formal servo connectors, saving breadboard space for custom work. The example programs are enough to whet your appetite, showing you how to get your robot to respond to light and obstacles using both physical whiskers and an IR system. It’ll leave you wanting to do more, but that’s sort of the point, isn’t it? So far this kit seems to have been a good choice, and I’ll post an update down the road to fill you in on customization options and maybe offer up some project ideas if I do anything worth sharing.

In conclusion, it seems to me that Arduino’s a legit way to learn a few things about electronics and robotics and has enough flexibility to allow you to make something new and cool with a little work. If there’s a better gateway board, I haven’t yet found it, but I’m open to suggestions.

The BoE bot with IR sensors and some K'nex on board to add stuff to.

The BoE bot with IR sensors and some K’nex on board – The posts are conveniently the perfect size to attach K’nex pieces. 

For your convenience, here are some places to look for this stuff. Near as I can tell they’re all pretty comparable in price, but there are some differences in stock and tutorial availability so it’s kind of worth a browse through them. (I’m not an affiliate at any of them, feel free to type in the site manually if you’re skeptical.)

Amazon – they have a pretty good selection but there are some problems with vendors substituting knockoffs without warning, so you may have to go through a return or two to get what you’re looking for.

Arduino.cc – the official Arduino site for both tutorials and the original boards and shields.

Adafruit

Parallax

dfRobot

Sparkfun

Makershed

 

 

Advertisements

Biomedical Research: Going MD/PhD vs. Going 100% PhD

This was adapted from advice I gave to a student with a strong interest in a research career in neuroscience, so it is written for someone who is more interested in research than clinical care.

I will begin by saying that a research career is absolutely possible with an MD alone, but I think it’s not a very advisable route considering the out-of-pocket expenses and lack of formal training in forming and answering scientific queries.

As you may know, the stated goal of most MD/PhD programs is to create physician scientists who aim to do 80% research and 20% clinical time. Therefore, they are well suited for people with a strong research interest rather than a primary interest in care. What’s more, clinical time can be defined in a number of ways. With an interest in neuroscience, for example, you could use your MD to become a neuropathologist and help the clinical side by analyzing patient samples without having to directly interact with patient populations if you prefer. If you’re deciding between an MD/PhD approach and a PhD approach, the MD/PhD programs may be somewhat more competitive, but they are not significantly more difficult than MD programs if you have a strong research background.

Below, I’ve outlined some of what I think are the key considerations in deciding whether to go dual degree or single degree.

Pros:
– Career security – clinicians will always be in demand regardless of research funding climate.
– Grant demand – MD lends a clinical credibility to research proposals that often makes grants more attractive to funding institutions.
– Institutional demand for Physician Scientists – At the faculty and postdoctoral phase, you would be a more desirable candidate in many cases if you possess the versatile education of a physician scientist.
– Flexibility – This applies to both during and after the program. Most MD/PhD programs do not require you to pick your program right away. This means that you could enter wanting to be a neuroscientist and change course to become a biochemist or pharmacologist if your interests change. After the completion of your program, you could continue into residency with or without a research emphasis, you could proceed directly into a postdoc and become a pure scientist that just happens to possess a background in clinical medicine, or you could take a still different course in industry, government, or consulting. Related to this, it’s worth noting that you avoid some of the turf battles between MD clinical scientists and PhD translational researchers if you decide to work with patients or patient samples, because your education would give you substantial authority in both realms. 
– Better understanding of clinical problems – There are an infinite number of research questions to be asked. There is a finite amount of time in a career. With a medical education and regular access to patient population, you’re more likely to understand the questions relevant to improving the health and happiness of the population. This point is less relevant if your passion is for pure scientific understanding, but it was a factor that drove me toward this career path.

Cons:
– Length – An MD/PhD program will take 8 years on average, compared to a PhD program which ought to be done in 5-6 years.
– Purity of Purpose – There’s only so much time in the day, it’s impossible to be all things to all people and choosing a single doctoral degree gives you license to focus on your research with fewer outside concerns.
– Program availability and Admissions – It’s still competitive to get into natural science PhD programs, but there will be more slots available for PhD programs than for dual degree programs, so you stand a better chance of attending a more elite institution, or one that’s better suited to your needs. 
– Opportunity costs – It’s worth considering that the extra time and mental energy spent in developing a clinical foundation could alternatively be poured directly into developing your research career. It is possible that choosing a PhD program rather than a dual degree program could lead you to become more well versed in your area of study sooner, giving you an edge over a less focused person. 

An important consideration is that your decision isn’t set in stone, either. Some MD/PhD students began as PhD grad students and transitioned into the program. Other people attend medical school or graduate school after completing the other program if their interests have changed. Still others begin as MD/PhD students and drop half to become a medical or graduate student during the process when they discovered that the rest didn’t appeal to them as much as they thought.