My first Imp project was a simple temperature sensor with just three components: the imp/April, a MCP9808 Precision I2C Temperature Sensor, and a battery. Both the hardware and the software were very simple, the sensor works great, and logs the temperature to io.adafruit even from my garden. Now I’d like to make half a dozen for various places around the house. But the most expensive part is the imp/April itself, currently about $20 each at Amazon. And I suspect that the imp has a lot more processing power than I need for this simple project. So are there any cheaper versions of the imp that are available or planned? Or any other way to reduce the cost for a simple project like this? Thanks in advance for any suggestions.
Not really in quantities of half a dozen, no. Imps are indeed much cheaper than the amazon price but only in volume.
It really depends on how you value your time; the imp will reliably and securely run your application, you can easily update it in the field, and it’s low power (plus, it’s working for you now). Bit of a bargain for $20, one-off.
If, however, you fancy a longer more complex project, you could probably build something that’s superficially similar for your application with an ESP8266 (sub $5 on ebay) and a week or two of hacking about. You will be sacrificing power, security, relaibility and more - but if you have the necessary skills and time to spare then it could be a fun project.
Getting started with ESP8266 depends a lot on what else you have done. If you have worked with an arduino before, you will be up and running in an evening.
If you go for a 01 module, there is only two pins available, and one of them must be pulled high on startup. The modules with more pins, got even more pins that needs to be pulled up and down, so that part is a bit of a pain. But after getting over that (possibly with a custom pcb) you are close to being ready to go.
You can also get esp8266 dev boards, they cost a bit extra, but then you will also have all the pins taken care of, silkscreen naming them all, and a ttl adapter on so it is easy to program.
Thanks for your comments. I agree that Imp technology is great in many ways and both hardware and software actually work reliably without a lot of hassle. So I will have to decide whether I want to spend the time to implement some possibly cheaper option (like ESP8266) for home and hobby use that probably won’t work as well !! Thanks again.
I made a simple window security switch, based on an ESP8266
The ESP8266 is much cheaper ($1 per chip set) to design with although the number of GPIOs is limited to I2C, UART and 7 GPIOs. Still, if your pcb design skills are a bit rusty there are other ways to add wifi connectivity by buying fairly inexpensively ESP8266 add-on boards that expose all of the GPIOs and work with easy to program MCUs. See:
for such a solution and :
for a MCU-independent, stand-alone ESP82(85) application:
The great thing about the ESP8266/85 is that it is easy to program it using an Arduino IDE and the Arduino overlay is well-done and well-supported. Maybe not the best solution for large-volume, commercial applications, but for hobbyists and makers, the ESP8266 is a godsend.
The ESP method is cheaper and can do a lot of things.
But this is how to connect it to the internet:
Compare that to the instructions on connecting the Imp to the internet.
Connecting the imp to the internet:
- Sign up for an imp account
- Download the free imp blink-up app for IOS or Android
- Power up the imp within the WiFi area.
- Blink-up the imp with SSID/Password for your WiFi.
- Use the online IDE for programming the imp from anywhere in the world.
a) No need to ever connect a PC to the imp.
b) No need to learn about router ports and router setup.
Here is an ESP8266 Instructable:
8 steps of hell.
This instructable is a year old, it is much easier today. A few lines in an Arduino sketch and you would be streaming sensor data to a web page. Easy Peasy.
I spent a long weekend converting my Arduino sensor read sketches to Squirrel. I enjoyed it but it wasn’t straightforward.
I’m not trying to say ESP8266 is “better” than IMP, I use both. I am just saying it is easy to use and much cheaper for the hobbyist and maker.
Depends very much on what you’re trying to do. You can do plenty of stuff with an imp+agent that you’d have real problems doing on an ESP, building a secure system is just one of them.
Can’t argue with value for money on an ESP though!
Yes, this is an important point. It would take a lot of work to make an ESP-based device into a secure and robust commercial solution.
But for the hobbyist who wants to control her robot from a smartphone, its cheap, fast and easy.
The imp would not be a good choice for your robot with a smartphone. You don’t need the internet, in fact, it would be too slow with propagation and such. And security isn’t much of an issue with a hobbyist robot control. The ESP would be the way to go.
In data networking the network devices are split into three planes; data, control and management. Each plane needs it’s own controls and protections.
In IoT world the data plane is obviously the data, the control plane is the program code and the management plane is the OS, authentication, version control etc. If all you want is a data plane then there’s lots of options from BLE to ESP-devices. If you want to ensure the integrity of the data plane and outsource the difficult management plane then the IMP platform is hard to beat.
I have been experimenting with the ESP8266 for several weeks. The hardware and software mostly works; the problem is finding concise accurate documentation, especially for the beginner. There is a lot of documentation, forums, instructables, etc., but since the ESP8266 is open source, there is no central source of authoritative documentation oriented toward beginners who don’t already have a lot of background with this particular device. For example, I have found it difficult to find answers to the following questions:
- There are at least 12 different versions of ESP8266 development boards (ESP-01 through ESP-12), but no clear explanation of when each board should be used
- I ordered one of the development boards but the manufacturer (in China) did not provide an accurate schematic or description of the various features of the board. Online information is available, but it’s difficult to find accurate information about the particular board in use. Imp documentation is better.
- In order to use this board, it was necessary to learn about the LUA language, an additional task, and also the meaning of various undefined terms in the description of this language. Again, imp documentation of Squirrel is better.
- Available ESP8266 documentation is sometimes Reference Manuals, but these manuals are difficult for beginners to find relevant guidance for simple initial projects. In addition, in one online manual that I used, the “search” function did not catalog all the words in the manual, so I couldn’t find the answer that I needed.
In summary, except for cost, I highly prefer the imp, not only because of the hardware/software design, but also because the documentation is much more complete, organized, and includes detailed instructions even for beginners. In addition, the forums (like this one) provide authoritative comments and answers (in English) even to simple questions. So thanks Hugo !! Keep up the good work (but try to get the cost down for hobbyists!)
There are plenty of alternatives other than ESP8266.
There is the new Redbear DUO - which has STM32F205 ARM Cortex-M3 and Broadcom WiFi. Includes Bluetooth if you need it. Not sure what the dev community and firmware SDK is like for this product.
Then for an off-the-shelf slightly more expensive option (batteries included) you could try Microchip’s DV102412 WiFi dev board, for around $50.
There is also the new MKR1000 and Adafruit’s Feather M0/WiFi - ATSAMD21/ATWINC1500 combo which have similar chipsets.
Other combo varieties include TI’s CC3200 and MediaTek’s MT7681.
But you should not look at hardware cost alone. When you look at the Imp’s ease of remote firmware development and updating the firmware, then I think it is much better value.
There is one aspect of the ESP8266 that shines in addition to low cost, and that is a well-designed and well-supported (see http://esp8266.github.io/Arduino/versions/2.0.0/doc/libraries.html) Arduino IDE for programming. I know a lot of hardcore software types will roll their eyes at the baby code environment but a lot of makers and developers use this to make their products a reality and any hardware that allows its full potential to be realized using this IDE is going to be very useful and very popular; it is with me.
The IMP003 (my flavor) and ESP8266 are different animals. I use both, and I am not trying to say one is better than the other. I am trying to say the ESP8266 is hard to beat at the nexus of low cost and ease of use. It does suffer from lack of GPIOs (only 7 in addition to RX/TX and I2C) and the documentation (as noted above) has been atrocious and the espressif user forum a horror. But with the growing user base the support and documentation, especially in terms of well-commented Arduino examples, is growing. The github esp/arduino issues page is very responsive and the documentation here is first rate.
I would use the IMP003 more in my projects if I could buy the modules for a good deal less than they are being offered at Digikey. The ESP8266 SoC costs me $1 delivered. The IMP003 about $17. This is a big difference for small volume users.
I love them both, but each for different reasons.
Long live the IMP003! Long live the ESP8266!