The Ard-Vark project
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
Can be powered by 9V battery or 9V AC adapter plug
Mounted in a durable plastic case, cutouts for headers, silkscreen labeling of ports
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.
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.
Fig2. Ard-Vark with the back cover removed
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.
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.
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:
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.
Creative people that hate technical stuff but that want to build projects using electronics.
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.