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

HabitRPG: Because doing the dishes sucks less when there’s treasure involved

1024_500

full_screen

The basic interface is clean, and serves as a nice compromise between traditional to-do lists and an RPG-style status screen.

In keeping with my general interest in gamification, I was floored when I found out about a web app called HabitRPG that promises to gamify your daily habits and reward you with various gimmicks (avatar upgrades, pets, etc). I’ve given it a try for a little over a week now and I think I’ve got enough insight to discuss some of my impressions.

In general, I think they’re onto something in a big way, and I believe that stroking the human reward circuitry with small but frequent rewards is the key to becoming the best people we can be. Several times in my wade through the site, I found myself wishing I had come up with the idea first. (On a side note, their project is open source, so the good news is that someone else could pick up the ball in the event that they gave up on it somewhere down the line).

For those of you who want an idea what the site’s all about, it’s based around the idea of listing out the habits you want to track – one-time to-dos, daily routines, and intermittent habits that you’d like to do more or less often, and then providing you with a system to reward and punish yourself. As the name implies, it’s inspired by role-playing game mechanics including health, (which depletes if you do a bad habit or miss a daily task) experience (which accumulates as you do good things and yields level increases that unlock site features), and gold (which you can use to unlock rewards like avatar equipment). It’s fairly intuitive once you understand the central mechanics, and the rewards make for a more interesting experience than you’d find in plainer to-do organizer.

customizations

If my program gave out pixel dudes, I’d have three PhDs by now.

In the time since I’ve started using it, I’ve already noticed more motivation to stay on top of my daily habits (I recently had an evening meeting that tempted me to skip a workout, a meditation session, and some guitar practice, but I forced myself to stick to all three when I got back lest I lose my streak.) What’s more, it’s given me motivation to take on tasks that I had largely ignored before. For example, I’m not the best at keeping on top of chores, but I find myself making a priority to hit a few simple ones as often as possible thanks to the looming promise of seeing a little pixelated version of myself in chain mail. Therefore, I can see how this could definitely help me use my time wisely and keep moving forward.

Here’s the breakdown of the pros and cons as I see them.

The Good:
– The interface is appealing, and the 8-bit style pixel art gives it a fun look and feel
– The existence of three types of tasks (Habits, Dailies, and To-dos) makes the game extremely versatile. Furthermore, the ability to switch off dailies on certain days makes good sense for recurring habits that shouldn’t happen 7 days a week. (Most sensible fitness enthusiasts give themselves some rest days, for instance)
– While it’s still under development, there has been some care taken to allow you to restore your character if the game crashes and robs you of a streak or an achievement. This is vital, since I’ve already needed to do that once and I can imagine the epic ragequit that would ensue if I’d already invested a lot of time and energy.
– The dual accountability systems of parties and guilds allows for some great opportunities to get support from friends and like-minded people. Granted it’s not much help if none of your friends are productivity geeks, but it’s nice to know that others will get to see your avatar dude clad in the coolest gear.
– Although I have not yet delved into it deeply, the creators are pursing integration with other programs pretty aggressively. This is wonderful for people who use a lot of gamified apps, organizers, and productivity tools. Ideally, it would be nice to go about my day as normal and have HabitRPG credit me for my web behavior (via the chrome extension), my to-dos (via Trello or similar), etc. This functionality seems to be in the works, but all the bugs aren’t yet worked out.
– The price is right. Without paying a dime, you get essentially full functionality with a couple of ads that don’t distract too much. I worry a bit that this could lead to some unsavory monetization tactics down the road, but I’ll give them the benefit of the doubt that they could monetize it without breaking the app for free members.
– The development pace appears brisk. The mobile app coming out soon has the potential to make it much easier to keep up on, and it seems like the authors have their ducks in a row, organizing their emerging features and bug fixes via a group Trello account that anyone can see.

The upcoming mobile app release will make it a lot easier to maintain your account.

The upcoming mobile app release will make it a lot easier to maintain your account.

The Bad:
– It’s slow and buggy in its current incarnation. If you’re expecting a fully polished product, it’s not quite there yet. (It is under active development, however, so I expect this complaint to be time-limited)
– The user-generated tasks and difficulties create somewhat of an apples to oranges environment. Obviously cheating will always be possible with apps like these, but here it’s totally possible for two honest players to have completely different levels and scores for doing the same things, all depending on how they’ve set up their lists and what they give themselves credit for. I think that it would be beneficial for there to be a library of democratically decided tasks to choose from, so you stand a better chance of being on the same page with your friends.
– The gem system worries me a little bit. It smacks of the special currencies in so many of the gimmicky facebook games, where there’s no access to certain perks without spending real money.

In closing, I think this is worth checking out, and is a viable alternative to other habit tracking sites like alive.do, lift, and so forth. It’s not yet my sole to-do manager, but I could definitely see it being a major hub to keep myself organized in the future. There’s a lot of potential in this concept, so I hope to see it turn into something even more addictive in a couple of years.

(In lieu of collecting links in the post, I’ve begun curating productivity sites in the sidebar, and I plan on continuing to add to it as I find more. I’m always open to suggestions if there’s something out there that you’d like me to check out or review.)

Minor update 12/10/13:

I’ve been using HabitRPG for months now, and the angularJS rewrite did in fact make it run considerably faster and crash a bit less. I will say that the game doesn’t seem to be designed very well for people who actually keep on top of their habits, as it’s quite easy to obtain the maximum armor in just a few months’ time, and there’s not really anything else to spend gold on. With this much usage, a few of their minor issues have begun to grate on me:

  • Development is ongoing, and features are being added with some regularity. However, the developers have a clear priority for making exclusive content for backers and contributors, and much of the other optional content is only available for purchase using gems. I understand that the developers need to make money to keep the site going, but I’d rather have them break down and charge money or use more obtrusive advertising instead of dividing the game into “haves” and “have nots” and spoiling their inner circle with perks. It doesn’t make sense to me that I should have to learn how to program and contribute to their project if I want to get all the achievements and upgrades.
  • Related to the above issue, my earlier fears about this gem system have been confirmed. Much like the free-to-play facebook games that award one currency freely but keep an unrelated currency in extremely short supply, I find myself drowning in gold while I have no way of getting gems without buying them outright with real money. This has seriously diminished my motivation to continue using the platform, and in fact I’m debating forking the code to see if I can work from a local install where I can buy gems and drops with gold so that I have some way to progress.
  • The fact that the game is constantly under development sort of ruins the current gold mechanic. There is talk of adding character classes at some point, so I’d rather hoard my gold and buy equipment for the other character types when it arrives rather than creating my own (out-of-game) rewards and losing the gold when I need it to improve the game.
  • The item drop system is arbitrarily capped at 2 per day (at least it was when I looked into it). Because I have several dailies with long streaks, this cap was usually maxed out fairly early in the day, meaning I didn’t get any particularly interesting rewards for everything else I was hoping to do that day. I’m not really sure why there needs to be a cap at all, but I found it ruined my motivation when I was checking boxes for nothing but a little bit of (currently useless) gold.
  • The item drop system really should consider what’s in your reserves before dropping an item, especially in light of the extremely limited cap. I’m sitting on over a dozen animal eggs at the moment and have never had a surplus of either food or hatching potions. I understand that this would take a little bit of extra programming, but the developers have to consider that most regular users are going to hit an “endgame” state pretty fast given the relative ease of maxing out the weapons and armor, and it’s lame to keep getting wolf eggs when I already have enough to hatch every wolf cub in the game.
  • Yet another complaint about the item drop system: It’s possible to sell eggs back to the stable, but only for gold. This is better than nothing, but it again does nothing for players who have bought all that there is to buy.
  • The challenges system has been implemented, and promises an in-game way to obtain gems, but so far I haven’t found any use for it. Usually, by the time I find a challenge that’s relevant to me, it’s already been going for a few days and it’s impossible for me to win. I don’t really have time to check every day to see if there are official challenges being launched for the stuff I’m already doing, but if I wanted to win gems in game I would have to do that and move from the daily version I’m already using to the one supplied in the challenge. In short, it’s a nice idea but it’s not really geared toward people who are already on top of things.

In conclusion, HabitRPG is still a great premise, but its gamification features start to fall apart after a few months of successful “gameplay.” Mostly, I feel like it’s badly in need of additional content to keep the core gameplay going. If they had hundreds of armor pieces to purchase, even if they were purely cosmetic, it would at least give players something to work for. I feel like there’s a wall in place, and the only people who are getting the full experience are those who have been friends of the project from the beginning. If you already contribute to the project regularly, backed the kickstarter, and feel comfortable paying money for gems, then you get to be a special class of player with diamond armor, unique pets, and achievements specific to contributors. For the rest of us, we’re relegated to a sort of proletarian status where we’ll have to be content with an arbitrary blockade in our progress because we serve our own goals rather than those of the habitRPG team. If I were in charge, I would do away with most of the special privileges and allow anyone to buy “habitRPG premium” for some annual fee, which would enable all of the in-game content to be buyable with gold.

Bilingualish? My climb through the Duolingo Spanish Skill Tree

ImageLike pretty much everybody else on the planet, I’ve wanted to eventually learn another language. It got to the point that I was on the verge of finding a way to pirate pricing out Rosetta Stone to try my hand at seriously doing some Spanish. (I picked Spanish because it shows up a lot in the clinic – I figure it’ll give me the edge later on in my medical career.) Fortunately, before I took the dive, I found out about Duolingo, which promised to provide language learning for free. I figured I’d give it a shot. Without trying to sound like too much of a shill, I’ll give you a rundown of my experiences and the pros and cons as I see them. First, for all of you skeptics wondering if they’re going to go for-pay when you’re in the middle of learning to conjugate the future sub-perfect-junctive tense, let me assure you that this is highly unlikely. I’ll quote a saying that’s been floating around the internet (I’ve traced it to the user blue_beetle on metafilter, let me know if that’s not the original usage: “If you are not paying for it, you’re not the customer; you’re the product being sold.” Because Duolingo offers the “opportunity” to translate sites on the web, you’re essentially giving them your labor in exchange for your training. Because there’s no requirement to participate in the translating – you can just do the lessons if you prefer – I’m willing to buy into their cunning plan if it means yo puedo hablar espanol. 

With that in mind, I fired up their service back in March and set off down their skill tree, finally finishing it earlier today. Here are my impressions:

Pros:

  • The game-like elements are extremely addictive. I found myself swallowed up by the program and kept coming back to get a few more points whenever I had some free time. 
  • The word knowledge mechanic features a spaced-forgetting algorithm. This concept, developed by neuroscientists, causes your “word strength” to deteriorate over time. This means that the skill ratings more accurately reflect reality – you can’t master a concept once and then come back two years later expecting it to be rock solid. 
  • The skill tree offers at least the illusion of a self-contained teaching path. It shares this feature with Khan Academy and Codecademy, both of which are similarly great examples of gamified learning that I’ll cover at some point if there’s interest. 
  • The visual interface is really appealing. The owl mascot, colorful visuals, and cheerful sound effects do a pretty good job of making it feel like fun, even if it is just a dressed up language quiz at its core.
  • Through its use of hover-hints, you can get right into the meat of most lessons without having to do a lot of preliminary reading. This makes the process rewarding and hands-on, but it has its pitfalls (see below). 

Cons:

  • Perhaps in part because of the need to train you as a translator, there is more emphasis on being able to recognize and interpret the language compared to being able to speak it. At the end of the lessons I feel capable of extracting a meaning from a large fraction of spanish texts, but I’d be pretty hopeless to carry out a conversation or convey an original thought. 
  • It’s quite possible and tempting to lean heavily on the hover hints. I think it’ll be really important to review periodically using the timed practice to improve retrieval skills and get things into long term storage. 
  • The emphasis on diving into exercises means that precious little time is spent on concepts. I don’t claim to have any real expertise in identifying one tense over the other, and I’m far from capable of being able to discuss the language with any scholarly authority. I’m not so bothered by this because I only really care about using the language in real world situations, but it’s probably worth considering. 
  • I was not as impressed with the later sections as I was with the earlier ones. It seems like the programmers are adapting the lessons based on feedback, and I’m guessing that there’s just not as much feedback toward the end due to user dropout. There were a few lessons there where it would reject answers that were virtually identical to the correct ones, and I had to redo the lesson a half dozen times until I was passing most of the phrases by rote memorization rather than any kind of understanding. 

 

Where am I after taking all the lessons? I’m definitely going to need more practice on Duolingo and using some other resources before I would dare call myself fluent, but I would be much more comfortable surviving if I was airdropped into Latin America or Spain. I’ve taken 4 years of French in high school and I would bet my Spanish skills rival my French ones, especially accounting for all the atrophy to the latter skill set. All in all, I think it’s a great resource, and it’s really fed my interest in gamified learning methods. I don’t think it should be used in isolation, but it has the potential to be a central pillar in a self-taught language learning system.

If you’ve tried Duolingo or have other language learning tools that you’ve found useful, drop me a comment and let’s talk!

Some related links:

Study Spanish – one of the better “online textbook” sorts of pages

Forvo – users can upload the correct pronunciation of words in their native language

A Research Study Evaluating Duolingo – might admittedly be biased since it’s now hosted at the Duolingo site, but it claims that Duolingo is comparable to college coursework and in some cases more effective than a lot of the tools out there. 

Babbel  – an alternative language learning software (not free)

Mango Languages – another alternative language learning software. I haven’t used it in a long time but their mandarin lessons were pretty solid on the trial version. This is also not free but they appear to be trying to bill libraries to foster free access for patrons. 

Rosetta Stone – the 800 lb gorilla of language learning. If you have the money, or someone else is paying for it, this might be worth looking into. I’ve not tried it myself but it seems to be the gold standard in the field. 

Back to the land again: Folk schools teach skills for modern-day survival

The folk school movement, along with other sorts of makespaces, seem like the perfect system to give people room to grow creatively.

Grist

With mounting school loans and the uncertainty of finding a job after graduation, 26-year-old Jenny Monfore decided to leave college early and look for alternative education. At the Driftless Folk School in Wisconsin, the Bozeman, Mont., native and massage therapist studied organic food preparation, blacksmithing, and mushroom identification — skills she hopes will augment her income and allow her to live a more independent lifestyle.

“We no longer have practical skills, we don’t know how to feed ourselves, and we’ve basically become lost,” Monfore says. “So we’re slowly building new, thoughtful communities.”

Folk school: The phrase calls to mind cloggers, birch bark hats, and strains of “If I Had a Hammer.” But these craft schools of yore are experiencing a resurgence of late, drawing young do-it-yourself homesteaders and restless baby boomers to the woods to learn about everything from organic farming to electric cars.

View original post 750 more words