So Close to Being So Good, Has Fatal Flaws Out of the Box
For Cactus Micro Arduino compatible plus WIFI esp8266
I was really excited about these, between the low price and the small size, not to mention the ease of programming them thanks to Arduino compatibility, they sounded almost perfect for about a dozen of the things on the "projects I want to work on if I ever have the time" list.
Unfortunately the these are very flawed devices indeed. I should say, the Arduino baseboard part seems to be mostly okay. I did have a few problems getting it to flash at first, removing the WiFi module let me flash it and after flashing it with my own sketch once I was able to flash it with the WiFi module in place. I assume there was some issue with the pre-flashed AT terminal sketch that prevents it from communicating with the Arduino IDE.
The next problem that I had was the lack of documentation. Maybe lack it the wrong word, maybe "thinness". Basically it's spread all over the place. They don't even have any documentation for the AT command set for the WiFi module, they just give you a link to the nurdspace wiki page.
None of these would stop be from recommending this device, the thing that does stop me is it can't actually do HTTP at all. Now you might be thinking "But they have an example that writes data to sparkfun data using HTTP!". Yes, they do have an example that writes data to sparkfun data, but the garbage that it sends isn't HTTP, it's just kinda-sorta http-like enough that sparkfun's servers are able to figure out what it meant (probably mostly by luck). I was very excited when I saw the method for writing out over a TCP socket, you actually tell it how many bytes you're about to send before you send it so there aren't any silly time-based escape codes like some AT command sets have. And it would have been great if they had implemented it properly, but they didn't. For some reason it seems to strip CRLFs ("\r\n") randomly so you can't have newlines between the line in an HTTP header, not all of them and I can't figure out how I'd even work around that. It also doesn't then count what it removes so you end up sending some of your next AT command to the server and have no idea where you are in a command.
This means that for this to be useful you're going to have to setup a build system to build and flash a community firmware to the WiFi module, which I haven't had the time to do yet. And at that point, why not just flash one of the eLua-based firmwares and make it even easier to use and not need the Arduino base board part?
I don't know if I can update these reviews after the fact, but if I can and if I ever find the time I'll let you know if I've found a way to make these useful.
tl;dr: Arduino part is fine. WiFi module is crap and can't handle new lines so can't do anything useful (HTTP).
Response from AprilBrother | April 14, 2015
Thanks for your review. I have update our document for resolve some issues like how to handle new line. If [this link](http://wiki.aprbrother.com/wiki/Cactus_Micro_Tutorial) works, please let me know.