starterkit Archive

Folks, this is a guest post from Kerwin Lumpkins who is working on a cool project he put on Kickstarter (there’s a video there too), check it out!! He has built a prototype and would like to have it funded to produce more of these. As we’re always happy to share cool projects made by others as well, here you go :)

The Ard-Vark is a basic electronics box that has wifi built in to allow easy remote control through a mobile app, and has the following features:

  • Arduino compatible (can use the Arduino IDE as is, based on Leonardo platform)

  • USB connection to PC for serial or re-programming

  • Mobile app available for download (iPhone/iPad/iPod/Android)

  • Built in wifi for wireless remote control (Roving Networks RN-171)

  • 4 servo motor headers

  • 2 small DC motor headers

  • Built in light sensor

  • Built in temperature sensor

  • 3 analog sensor inputs with ground and 5V power supplied

  • 3 digital I/O headers with ground and 5V power supplied

  • LED

  • Speaker

  • Can be powered by 9V battery or 9V AC adapter plug

  • Mounted in a durable plastic case, cutouts for headers, silkscreen labeling of ports

b63206cba279f3e458cdc37a0fe53f78.png

Tech details of the Ard-Vark Prototype

Figure 1 shows a block diagram of the Ard-Vark prototype. Blocks in green are parts that are exposed on the outside of the case. Blue are parts that are covered up inside the case. For clarity, I didn’t have a block for the level shifting from wifi module to the microcontroller, but those parts can be seen on the front of the circuit board. The numbers show how many lines were needed to implement that function.

b127d97d74c24b946f71e5c36e6acecc.png

Figure 1: Block diagram of the Ard-Vark

For the prototype, I designed a board in EAGLE that would allow me to solder on Sparkfun’s Pro Micro (5V) and RN-XV module that uses the RN-171 module from Roving Networks. If the project is funded, the parts on the Pro Micro board and the RN-171 module will be surface mount soldered onto a single circuit board. This will lower the price.

All pins accessible?: “Will there be headers for all pins on the micro?” – Yes. The Ard-Vark will not load the headers, but I will place the holes on the circuit board. I intend to put the standard Arduino header pattern on the board for those that want to use that as well.

About the Arduino IDE: The pro micro (and hence also the Ard-Vark) is based on the ATMega 32U4 microcontroller, which is supported for the Arduino under the Leonardo model. Arduino has not fully released this yet, but I had no problem using the standard Arduino IDE after making some simple changes in the boards.txt file and downloading Sparkfun’s driver. Look at the Pro Micro page for a tutorial if you’re interested. For the final version, I will write up a manual that has installation instructions, schematics, source code, suggestions for hacking, etc.

The prototype Ard-Vark has a Pro-Micro board with headers that solder onto the main board. The RN-XV module similarly solders onto the main board. Then the main board has header connectors, the AC power plug, 5V regulator (beefy one that can power all 4 servos at once), etc. In photo below, the surface mount 5V regulator is mounted on the bottom side of proto board. You can see rework (yellow tape) where I used a through hole electrolytic cap. I didn’t allow enough room for a SM cap on the top side. So I put the reg and cap on bottom. Final version will fix this little error.


8a7f29fb1cb4ca975792a75608165022_d32x.png

Fig2. Ard-Vark with the back cover removed

90e9adb2d8d8275daba730c2c688d29f.png

Fig. 3 Proto Board top side with servo headers, etc. Speaker is at bottom right.

More rework is evident on the top side of board. I realized that the the power indicator LED was too close to the light sensor (could influence the reading if in a dark room), so I moved the LED to right of the power switch. The yellow tape insulates leads of a through hole resistor. I also had to solder some wires onto the blue LED (just to left of the speaker) since the LED is too far below the hole. Final version will use a through hole LED to solve this. Light sensor (TMP-36 from analog devices) is the TO-92 through hole package part at top right. In the center of the board are surface mount parts that do level shifting for the RN-171 module. It runs at 3.3V while the microcontroller runs at 5V. One more problem I got sick of dealing with.

Finally, not shown is a motor control circuit. I decided after I built this proto board that offering DC motor control built in would be a good feature. Final version will make use of a motor control IC like the L293D. So the motors can only draw at max about 1 Amp. This will be fine for small motors like those used on small mobile robots.

c8417a5e4753666607d7365626a21fa1_8ps5.png

Fig.4 Proto board back side showing the Pro Micro and RN-XV modules from Sparkfun and power plug.

On the bottom side of the board are the two modules from Sparkfun, power plug and (temporarily), the 5V regulator.

fe1d26a535bc7368a8c615e16736b903.png

A view showing the “front” of the Ard-Vark. Note that this board has the USB micro connector missing. The micro B surface mount connector on the Sparkfun Pro Micro broke off after 10 or so plug/unplugs. I put it back on with super glue, but it came off again (hence the nasty looking mess in the middle). One change I’ll make in final board is to use a mini B through hole connector for improved strength.

The Story of the Ard-Vark (for those that are interested)

I made the Ard-Vark because I frequently like to add motion to projects using servo motors; from animatronics projects at holidays to building something that’s actually useful, to making something to scare co-workers when they sit down in their cubes. I grew tired of re-inventing and building this kind of thing again and again. So I finally designed a circuit board that would allow me to integrate wifi and Arduino controller and servo headers and motor controller and 2 wire motor headers and speaker, etc, all into one design. I also got tired of having projects stop working because exposed copper caused shorts, handwired solder joints came loose from strain, etc so I designed a case. And I got tired of having to power it with a USB cable to a PC, so I designed in a 9V battery and an AC adapter plug. And then I wrote a mobile app to allow me to control it remotely. All of that, I called the Ard-Vark.

Some friends were interested in getting one, so I thought I would list it as a project on kickstarter.com to see if there was enough interest to produce them in quantity to make the price reasonable. If I made one or two of these at a time, it would cost about $120 in parts and 2-3 hours to build and test one. I don’t have time to sit and build these. It just wouldn’t be worth my time. But if I can make several hundred of them at once, it brings the price down to a reasonable $100.

Who would use the Vark?

There are three types of people using things like the Ard-Vark out there today:

  1. Creative and technically talented folk that DO want to deal with electronics and motor control and highly technical stuff. DIY’selfers, beginning electronics class students, etc.

  2. Creative people that hate technical stuff but that want to build projects using electronics.

  3. People that for one reason or another, do not want to fool with building the electronics base and just want to get going on a project.

Group 3 sounds like it’s just group 2 stated in a different way. But I’m in group 3. I’m an electrical and software engineer with over 15 years experience building projects both professionally and for hobby. I’m highly technical.

Group 1 are the do it yourself types. They do this kind of work because they want to learn this stuff and building and soldering and tinkering IS the whole point of what they do. But at some point, Group 1 folk turn into Group 3 folk. Like me. I changed into Group 3 guy after about 7 years. Sometimes, I just want to pick up a box, plug in some servos, turn it on and go. And that’s why I made the Ard-Vark.

Group 2 are becoming more prevalent today. Artists that want to add motion and interactivity to their creations. But they want to concentrate on their creative project, not on learning technical stuff.

This article is written for Group 1 folk that are interested in what is under the hood of the Ard-Vark, viewing it as just another project. The source code will be open and free to use, so the vark can be modifed to work in your project as you want it. The vark is very flexible in that it can provide “it just works” functionality out of the box, but can also be reconfigured.

It’s very exciting for us to see all the noise (& reposts) or the ARM® Cortex™-M0+ processor (aka. the “flycatcher”) that was unveiled yesterday. Branded as the world’s most energy-efficient microprocessor it is optimized to deliver high performance (with a 32 bits architecture!) for a very low power consumption, which makes it the ideal chip for intelligent sensors and smart control systems in a broad range of applications. In other words, the ideal chip to power the Web of Things.

It seems to me a great thing, but a chip itself won’t make the IoT a reality, just like one swallow doesn’t make a summer. The greatest impediment here is still a lack of support for more people to start playing around this chip and learn how to use it. In other words, not just an Arduino-like approach, but literally a twine-like approach. Of course, fridges manufacturers now have yet another weapon to significantly augment the user experience of food storage. Obviously consumer electronics, automotive and other industries do have the budget/time/expertise to embed the flycatcher intro their products, but there are reasons it didn’t happen yet, and I doubt it’s purely financial.

I do believe this is not the right way to drive innovation as it doesn’t consider consumer as potential innovators. Most printers & routers today have a micro controller and wireless connectivity, and could easily offer a programmable interface (so that we’re not stuck with the awful Web-based user interfaces those devices have), but somehow they just don’t. And I do believe this is where it all will start: just like most Web-based services today do have a (ideally RESTful) API, our consumer electronics should also offer an API (obviously in addition – not replacement – to the ready-made Web-based UX). This way, the user experience to “average” users of these devices remains identical, but coders and hackers that might (and most often do) have better ideas on how to digitally augment consumer electronics will be able to create custom apps by leveraging, well… the Web to create new, disruptive, intriguing use cases for your printer (or fridge, or car…) the manufacturer didn’t think of. This in turn could lead to an app store for “any” of your electronic products, where you could download and install new apps for your fridge, car, or printer (e.g. “the new york times app that will print every morning at 6am a fresh 1-page of your personalized news stories that you can read on your short ride to work” anyone?).

As a final thought, it’s not a super powerful low-power CPU that is literally going to change the market landscape, but what one does with these chips. This is because we’re not limited by technology itself, but what we do with it. And more importantly: what we allow consumers to do with the products they buy.

What do you think we need for making the internet of things a reality? More importantly, how can we best send the message to manufacturers: “hey, put an API on that machine, coz we need one”?

Our friends from Oberon microsystems (who designed yaler), just released a tech book (just like we love) about they experience with hacking around the Internet of Things. The book called “Getting Started with the Internet of Things” which is publish by our favorite nerditors O’Reilly Media is available in PDF and paper, and is written by Cuno Pfister.

Learn to program embedded devices using the .NET Micro Framework and the Netduino Plus board. Then connect your devices to the Internet with Pachube, a cloud platform for sharing real-time sensor data. All you need is a Netduino Plus, a USB cable, a couple of sensors, an Ethernet connection to the Internet—and your imagination.

This looks lovely (other than the reference to the thing that starts with dot and ends with net ;) and we’re looking forward to check it out. Especially as they just announced a hosted Yaler instance (try.yaler.net, register here to get an account), I guess to try the examples in the book, so that makes this book even crunchier.

Besides the fact that we are big Sun SPOTs fans, we also got increasingly more interested in the OpenPicus platform, not only because the constant motivation of the project founder Claudio Carnevali is impressive but mostly because the FlyPort (the OpenPicus wireless sensor node) is featuring a WiFi module and a Webserver (according to them our WoT community influenced them on that point) which makes it a nice, compliant, Web of Things device. ;-)

Yesterday, the OpenPicus project released their free, open-source, IDE which supposedly makes it really easy to develop Web of Things applications backed by Wireless Sensor Nodes.

The team asked us to post some news about the IDE, instead of that, I decided to test it and report here:

  1. Got the IDE here. First small decrease of my tremendous motivation: the IDE is .NET/Windows-based, hem, slightly strange choice provided the WoT community is probably 50% mac, 50% Linux (or it least I’d like to believe so), but let’s not be so futile, and simply remove the dust off my XP VMWare virtual machine.
  2. The IDE requires the .NET 4 framework which installed smoothly on my VM.
  3. Unzip, sorry un-rar (Duh! Ok, let’s download 7 Zip) the IDE.
  4. No install required, neat, the IDE starts smoothly. It has a familiar Office 2007 / 2010 look and feel. It’s actually not bad, simple and quite efficient. The code-completion works fine which really helps discovering the OpenPicus and FlyPort API.
  5. I plug my FlyPort for the first time in my VM, again it is smoothly discovered as a USB/Serial port, which means the install does not need any additional driver.
  6. This video, guides you through your first FlyPort project. The whole process ran smoothly on my VM as well (for people using Linux like me and wanting to use the OpenPicus IDE in a VM, make sure you get a WiFi dongle, as VMWare maps any native WiFi interface of your computer to a wired network in the guest operating system.
  7. The video also shows how to deploy the native Webserver to the FlyPort, which takes, in essence, 3 clicks and is entirely customizable so that you can make your services truly RESTful, very neat!

To sum up, I need more experience with the device to really judge it (coming soon!) but it seems like a very good platform for easly prototyping Web of Things applications, very good job! On the drawbacks I would have liked a Java, cross-platform, version of the IDE and Flyport stack rather than a .Net one but I must admit that the IDE’s simplicity and integration is impressive and after all what only really matters to us is the out-of-the-box ability to hide the FlyPort’s internal language behind a Web API (more to come on that part as well, I’ll test the FlyPort against the Web of Things cookbook!).