Oct 142018
 

I had earlier shared my attempts to connect MiP to the Internet. In the last couple months I have managed to build an adapter board in Eagle to fit a D1 mini clone to MiP. Along with the Arduino IDE library support I’ve developed and hosted on GitHub, MiP is now a cloud-connected robot.

MiP's new hardware

MiP, outfitted with the D1 mini Pack and a D1 mini clone. MiP is now cloud-connected.

The use of the esp8266 is fairly well documented. The D1 mini Pack and accompanying library simply serve as an adapter to get MiP online. I’ve provided several examples of how to get MiP online in the project wiki.

To put this project together, you’ll have to order the D1 mini Pack from your favorite PCB manufacturer, connect a Wemos D1 mini or clone and build the short length of cable to connect the D1 mini Pack to MiP’s UART port. The assembly instructions can be found in the wiki for the MiP ESP8266 Library, however they’ll eventually migrate to the D1 mini Pack repository so stay tuned for updates.

As always, I heap praises on Adam Green. Without his help none of this would have happened.

If you decide to undertake this project, feel free to share your experience with me and provide feedback on areas for improvement.

Jul 042017
 

Over a year ago I issued a plea for help in developing the SparkFun MiP Arduino software library for use on the SparkFun MiP ProMini-Pack. Today I finally realized that the ProMini-Pack is retired. I’m not sure how long ago SparkFun retired the product but doing so has almost certainly doomed any future development of the library.

Since I’m a slow learner I’m going to retain the ProMini-Pack documents here in the hopes that one day someone will put them to good use and either finish developing the software library or find new ways to interface the hardware with the MiP.

These documents provided by SparkFun.com:

Schematic
Eagle files
ATmega328 datasheet

Feb 272016
 

It’s been four years since my last post, mostly because I haven’t found a project that I can spend my limited free time on. Lately I’ve been trying to encourage my daughter’s interest in robots. A year ago I bought the MiP for her and since then we’ve discussed the possibility of programming it to do whatever we want it to do. Sure, there are SDKs available for both Android and Apple. But we have no Android devices in our household, nor do we have an Apple workstation for developing iOS apps.

Thus, I bought the SparkFun ProMini-Pack and installed it on a MiP I bought just for this project. When I bought the ProMini-Pack I knew that the Arduino library was still very crude. Support for one of the two most important functions was missing, that being the ability to read data from the MiP. The ability to write to the MiP was provided, as it should be or the project would never get off the ground. But the ability to read data from the MiP is absolutely required in order to treat the MiP like a “true” robot – one that exercises the “sense, think, act” model.

There are a couple demonstrations of the ProMini-Pack installed on the MiP but neither of them demonstrate that the content originator ever implemented the read function. You can see these demos here:

YouTube
YouTube

I’m sure you noticed the first video was provided by SparkFun. They clearly spent more time dressing up the MiP to look like something from MadMax than they did writing the code. 🙂 Ah, well, then I wouldn’t have anything to do, except make my MiP look like MadMax. The second video also shows that the content provider just slapped the ProMini-Pack on his MiP and filmed it driving in circles. Wow.

Myself and one other contributor have been working on the library for the ProMini-Pack that SparkFun provides on GitHub. A getMessage() function has been implemented but it’s only partially working. It reads the first four bytes of data with no problems, returning valid values for volume, voice chip hardware, and answers to boolean questions. Unfortunately any message longer than four bytes starts getting garbled at the fifth or sixth byte.

Other getters and setters are still being implemented but until getMessage is able to return the long messages without garbling the transmission functionality will remain limited. If anyone out there has what it takes to debug getMessage, please feel free to fork the SparkFun MiP library.