Comments: Wireless Arduino Programming with Electric Imp
Looking for answers to technical questions?
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
If you've found an issue with this tutorial content, please send us your feedback!
Could Imp connect thru iPhone personal hotspot?
Can it? Yes. Is it recommended? Not really (for most people).
Up until a few months ago, the imp nearly required internet access to work. After a few firmware updates (which happen automatically when it connects to the internet), it now supports wireless-less-ness (if that's not at all confusing) after being programmed, but most of what is great about the imp is the ability for it to be online, and offload processes to the cloud (each imp gets a cloud based 'agent' to offload processing to, and run tasks impractical for the imp itself, such as hosting a web page and processing the hex file).
But if you want it to only have temporary internet access, any wifi connection should work, be it phone/tablet, mifi, or permanent AP. One caveat. Until recently, it could only store connection information for one wireless AP at a time (the one used at the time of programming). Now, you can scan for wireless access points, and connect to any AP that you hard code connection into your program (ie, set up connection details for your home wifi and work wifi, and when it sees one, it connects to it).
And my first post here is a WoT... Sorry.
As with every Sparkfun tutorial the write-up here is excellent :)
I've put together an Imp powered programmer that will work with Arduino boards like the UNO, in fact pretty much any popular AVR MCU.
It uses in-system programming rather than relying on a bootloader being present. For a way overlong write-up see:
http://depletionregion.blogspot.ch/2014/07/imp-powered-in-system-programmer.html
Don't worry the actual setup and usage is actually very simple.
I bought some of the cheap arduino pro mini's off of ebay, and I reloaded the bootloader. When I use the pro mini boot loader the electric imp is not able to communicate with the arduino, but when I load the arduino mini boot loader I have communication and can upload a sketch. The sketch runs, but with only some functionality (I am assuming because of the boot loader). I have programmed the arduino pro mini with the pro mini bootloader via usb and monitered it through the serial port monitor and it works fine, and I am certain that my circuit with the electric imp is good because I have communication when I use the mini boot loader. Can anyone help with this issue?
Here is the error code:
2014-06-12 23:56:01 UTC-4 [Device] Sending: 0x41 0x81 0x20 (3 bytes) 2014-06-12 23:56:01 UTC-4 [Device] Received: null 2014-06-12 23:56:01 UTC-4 [Device] ERROR: assertion failed 2014-06-12 23:56:01 UTC-4 [Device] ERROR: at execute:227 2014-06-12 23:56:01 UTC-4 [Device] ERROR: from check_duino:247 2014-06-12 23:56:01 UTC-4 [Device] ERROR: from unknown:297
But I also am getting this :
2014-06-12 23:57:04 UTC-4 [Device] 56574652505852484654485848464952584846504958484651541310
from the program that I am running which should look like :
89.78:42.50:0.14:0.14:0.29
My initial guess is that you may not have gotten stock Pro-Minis. Unfortunately, we've seen a lot of folks buy boards off of EBay that are not properly built and have a lot of firmware issues, as they are basically knock-off boards. You can try emailing techsupport@sparkfun though and they may be able to help you figure out a work around.
Knock-off? Of open source? Is that even possible?
Yes. When the licenses we release our boards under are not honored, that counts as a knock-off. When changes from our original designs are made, this information needs to be provided to the user. The knock-offs I'm referring to generally rip off all of our documentation, change the boards, and then do not update any of the documentation to reflect the changes or give credit to the people doing the revision.
There are plenty of legitimate open-source forks of our products out there, which we fully support. But anything that dupes customers into thinking they are buying one thing and getting another is not cool.
Ok. I also have two of the sparkfun pro mini's and I will see if the error is consistent. Howerver, I have flashed the chip with the arduino Uno optiboot bootloader, and successfully loaded the program. That seems to be working fine. As for the second issue i was mishandling the information from the serial line. I had combined this tutorial with the tutorial at
https://learn.sparkfun.com/tutorials/arduino-wireless-communication-via-the-electric-imp/all
but instead of communicating with another electric imp I am pushing the data to xively and wanted to see it in the log. I was concatenating the bytes and pushing them directly to the log, but what I wanted was "message += c.tochar();" and this gave me what I wanted.
Thanks for the quick reply!