We know what you're thinking, "What's the big deal? Looks like an SD card..." Well this is no SD card! The Electric Imp is a WiFi enabled development platform powered by a Cortex-M3 processor core. "Really?" Yup.
In essence, the Imp provides an easy, integrated way to connect almost any hardware device both to other devices and to internet services. It's more than just a WiFi card, or even a WiFi module with processing built in - it's an integrated platform that deals with the drudgery of connectivity, allowing you to concentrate on the application instead of the mechanics.
It does this by integrating an 802.11b/g/n WiFi transceiver, a great antenna, a Cortex-M3 core and lots of flexible I/O in a tiny package. But the hardware is only part of what makes the Electric Imp an innovative platform. The development environment and workflow is totally cloud-based and in-browser! Simply program the Imp with your WiFi Network information using your iOS or Android smartphone (Optically! No special hardware required!) then log on to the Electric Imp developer website and program your module over-the-air!
Development is done in-browser and in a language called "Squirrel," which is a C-like language with extensions to communicate with the hardware interfaces and the service. Thanks to cloud-power, you get many big system benefits like buffered I/O and crash recovery - plus you can push updates to devices in the field with a few clicks. There's even a Planner tool that makes it easy to design interactivity between your Imps.
Note: Although, the Electric Imp comes in an SD form factor, it isn't compatible with standard SD devices. Development boards are available, though, in the related items below!
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
Based on 12 ratings:
1 of 1 found this helpful:
I've become a huge fan of the electric imp. Easy to set up, and once it's connected to the internet, you're off and running. The squirrel programming language is very intuitive. After having spent grad school using obscure codes and API's for analog to digital circuit boards in PC's, suddenly having a compact one that is easy to program is like a dream come true.
2 of 3 found this helpful:
If Internet connectivity is a requirement and only 9 pins is cool, this is a great platform. Very easy to use and great support via their forums.
1 of 2 found this helpful:
I've been working with the Electric Imp for some time now. It's a great product, and would like to offer my services on projects that need a jump start, or engineering help. I have applied the Imp to IoT projects in the oilfield, collecting data, controlling pumps and managing cloud services. Drop me a line at electricimp@systemsofmerritt.com http://systemsofmerritt.com
Everything worked exactly as planned! I can now throw away my door fobs and use my new app! http://doors.simplesync.net/
Have now created an app that allows us to control lighting in a sports center from smartphones including video feedback from cameras. Just need to find a small 5v UPS solution to isolate the imp from the effects of short power cuts and power perturbations.
Nice IDE, language is fairly easy to code solutions and the ElectricIMP servers rarely offline and then only for scheduled maintenance. It would be nice to have the ability to perform accurate pulse width measurements. highly accurate/reliable interrupts or edge sensitive based measurements are not currently possible due to the communication overhead that comes with the nice server utilities.
I have four devices currently controlling and monitoring projects with virtually no downtime.
Works great.
I followed an online instruction using the Imp to take temperature readings and post them to the cloud. All worked as it should, and now I can see how hot it is in the roof. Such an easy process and my first step into the IOT world...
The Electric Imp is an intriguing concept, and one that I had hoped would work great. But after several days of fighting with it, I haven't been able to get it to connect to my home network.
I intended to compare the Electric Imp to the ESP8266, to see which one was better at connecting an Arduino to the Internet. The ESP8266 worked the first time. The Electric Imp hasn't worked yet.
Sorry to hear you're having trouble with the Electric Imp. Give our tech support team a shout via email at techsupport@sparkfun.com and they can help you with this.
Very easy to set up what I wanted.
I used this as part of a wireless weather station (as described in a Sparkfun tutorial). So far, it has been operating flawlessly with no interrupts or hang ups. I like the Electric Imp IDE and cloud connectivity. It allows me to monitor and configure my code from anywhere in the world (as long as I have an Internet connection).
For even more fun, check out the 'tomato-less' boot loader setup where you can reprogram an Arduino from afar. Just like NASA reprogramming a Mars Rover. Or something like that.
The cloud based IDE is also pretty good. I'm not so sure about the choice of the Squirrel language (or whatever they call it), but so far I only needed to rely on someone else's code example and it works just fine. It's an amazing little device.
Hello all,
I want log data to a SD card when the imp is offline. Is there any library available for interfacing a SD card with the imp ?
Hmmm..
Looks like quite a bit of potential for security holes and any functionality depends on the folks at imp keeping their servers running in the future. I don't see any imps in my future. IMHO this is a really great concept poorly implemented.
Yes, the "cloud" aspect of this product is a turn-off to me too. I don't want my data there, and I most certainly don't want my development tools there. I do just fine getting data where it needs to go without putting it in the hands of strangers. And having to develop in some miserable browser environment is about as appealing as a poke in the eye with a sharp stick.
"Make a system that even a fool can use, and only a fool will use it."
Second that..
If I can't run my own 'mothership' then I'm never going to buy one of these.
I don't care if the mothership is closed source, like a teamspeak server, but nothing, and I mean nothing gets to have two way conversations from inside my network to the outside world without me having full control over it.
The people they need to develop apps for this are the very people that won't buy it until they can run without a public cloud.
Yet Another C-Like Language is definitely a turn off. Why not JavaScript, Python, Lua?
Mandatory subscription cloud service is a total deal breaker. For my needs, a $$$ server license would be tenable, requiring an always-on connection to the outside internet would not.
Too bad, it seems like a great product otherwise.
We started with Lua, but just couldn't hack the syntax. Python would have been nice but with both Python and JS, there were no VMs we could find that would work with the resources the imp has.
There is no subscription for developers, this is free - but yes, commercial use (ie making and resale of imp-based devices intended for non-developers) requires subscription.
As of release23, you can run local code without a network connection, and connect/disconnect under program control.
Could I use the EI as a remote sensor sending data on a TCPIP / peer to peer basis to another device ( say an Android phone) without the EI having a permanent connection to the internet.?
Not peer to peer, no; with the phone running a hotspot, yes (but the data goes up to the EI server then down to the phone). You could also make a sensor that works with sporadic wifi connection, collecting time-stamped data locally then uploading it when a connection was available.
Apple all over again...
Don't forget to initialize the Imp you have to do a 'blink up'. You have to hold the screen of your phone up to the Imp and it flashes out in morse code like fashion your SSID and password.
Oh and if you have an Android phone don't expect it to work. There is a whole list of phones that 'might not' work.
If it had not been for my old rusty/trusty iTouch my Imp would have remained 'impotent'.
Know the game "Watch Dogs"? It's coming in 2013. See the intro video: http://www.youtube.com/watch?v=FcMRkyoHKeA
That's what IMP is creating, a controlled interconnected world. With a devil logo... Hmmz makes me think, what's this about. I think your right with the risk it's bringing forward. Giving the control over your network including it's password to 3th party (imp) servers. Maybe someday they will do my washing and tv channel settings... not so good...
If you read the actual intended use of this by the manufactures all the things you bring up make sense. While I see your issues for hackers and developers (the general sparkfun community) the product is actually very good for what it was intended to do.
At first, it looked promising. I'm not exactly sure now... I guess it's not the right product for me, as i like to have complete control over my devices.
I agree with VccDood as well.
Fantastic. More patents.
Sparkfun should take notice that the top 3 "customer's also purchased" items at the bottom of the Electric Imp product page are SD sockets, breakouts, or sniffers. None of these will work with the EI. While this was clearly pointed out in the 9-14-2012 product showcase video and is sort of mentioned at the beginning of the item description, this should probably be clarified in bold in no uncertain terms.
You need either an EI-specific breakout module or an EI-specific shield in order to make this function. It contains a particular chip that gives each node a unique ID on the network. Again, this looks and feels like an SD card, but will NOT function if you plug it into a normal SD slot...
The video DOES mention that the breakouts and shields are in the prototype stage at Sparkfun and will be available soon. I guess the point in the meantime is to snap up the Imps while they're available and start exploring the development infrastructure available. While it would be ideal if all components had been released simultaneously, my concern now would be a lack of availability of the "cards" when the associated hardware DOES get released.
We could mail people letters and do public service announcements on TV, someone will still go and buy an SD socket to try and hack on it. We can only do so much.
That being said, you COULD use either of those boards, get the IC, and hack it in there. It's not unreasonable, it's just that by themselves, it's not gonna work.
Well an SD breakout would be useful in making an impee. Unless I misunderstood the wiki, all one needs to run an imp is 3.3v and the atamel chip that gives it a unique id #. Which, by the way, is a way cheaper alternative to the jacked up $20 dev board you provide. Considering that the Electric Imp website had the board posted as 7 dollars, though I can't find it anywhere but here. Honestly I love Sparkfun and I keep up with all the new products and I love the philosophy but how do you live with a 13 dollar markup? I'll probably buy a SD breakout (from you) and that chip from digikey (because you don't carry it) and make my own impee.
Man, there is always the greedy guy. Do you not understand the amount of money it costs to design, develop, produce, test, supply and then support a product? all of those processes are "invisable" costs. Don't forget building maintance and everything else. Sure Spark fun could produce cheeper products, but the cost to you might be more than those hard earned 13 dollars. Knowing a little about this subject r&d costs can eat the profit out of the first 1000+ units of a product. And since sparkfun actually continues development of a products after it sells, that fact could be higher. $20 for a dev board isn't bad, expecially since a basic wifi sheild is staggeringly more expensive all around.
This would be a valid argument except that Electric Imp already developed the board. All sparkfun did was "make" it with their special red silk screen. It just seemed a wee bit ridiculous that the company that developed the board had the suggested retail price of the "april" board at $7. Sparkfun is the only one carrying this board anyway so it also perpetuates the idea that a monopoly can charge whatever they want for a product. However I would like to thank you for the breakout board that makes the project much easier on the wallet. And normally 20 dollars for a dev board would be ok, but then you have to drop another 30 for the imp, but I understand how expensive wifi shields are and I bought a "wi-fly" and it was extremely complicated and I never got it to work, so overall I'm not really complaining I just found it a bit unfair.
We're coming out with a simple breakout for the ID chip alone so you could just use that and an SD breakout.
Imagine if the Arduino required cloud activation and everything which that path of product development entails. Where would it be today? I respect the hard work of this company, however without the back-end being freely available (you know, the Linux box where these Imps connect to) I would have to wait for the redirect hack to come out.
...or just buy another wifi module? Sparkfun offer many others which do what you want.
Being a small startup, we are absolutely not attempting to please everyone. We have a pretty clear vision as to what our product does and doesn't do, and many vendors are quite happy with our approach.
Respectfully,
As I understand your product, it would be a good reason not to buy any consumer product which included it. You need to get your servers and the general "cloudiness" out of the equation.
As an example, there are a number of personal healthcare products out there (scales, blood pressure meters, exercise devices, and so on) whose makers seem to think that uploading your personal data to their web site is somehow a good thing. Those are products I will never own, even though some of them have features I want.
Give me technology that lets ME manage my information - not share it with you and who knows who else. And which also lets me decide if I want to upgrade it to the latest code or not.
Who needs something that posts the equivalent of a notification on dFacebook every time I look in the refrigerator? Or which can have its functionality altered without my consent because someone uploaded new code to your server? Remember when Amazon disappeared books from the Kindle? So with your "impish" little non-SD card, suddenly GE decides my washer shouldn't have a feature anymore unless I send them money for the deluxe new enhanced feature set? Perhaps they will choose to expire the warranty if I wash more than four loads in a day? Perhaps the EPA and the Census would like my wash data as well.
Don't tell me that the connected cloud features of this product will not be abused by companies which implement it - look at the rampant information stealing by cell phone apps. If the technology opens a door for companies to misuse something, some of them will walk through that door. They always do.
Yeah, this product is a WONDERFUL concept.
Personally, as long as it maintains its cloudy focus, I hope this product augers in ASAP. Sorry, but we have to draw the line on "over sharing" somewhere.
Hi,
I represent a company that makes some card style modules like the electric imp. We work mainly to provide smart building systems with 6LoWPAN, ZigBee, WirelessHART, Bluetooth and yes Wi-Fi, too. We envisioned something else, we don't have cloud things, we don't even focus on that, more we focus on gateway devices, interoperability, easy communication between devices, low-power devices, security and privacy. We won't force anybody to do anything with their data. Everything will be set by end user in a very user friendly web browser. You share the data you want and with whom you want. We have a little more to work on software side but we are closer to the end result.
Everything will come free of charge (manufacturer programming interface, end-users configuration interface and many other things), and in the same time the hardware will be cheap enough to be used by anybody without having to spend much money on it.
We are aware that it a protocol or technological solutions are not free they won't get widespread in the world.
Hi, did you finish your development - connecting this µC to the HVAC world? where to find the product? thanks
While this looks cool in some ways, the fact that you have to have their servers to program it seems really unfortunate. It's almost like I don't own it - I can't program it without talking to the mothership! I have to say that while I know there is a place for closed products, things that are this closed make me really nervous - I'd be afraid tonuse one for fear that they'll change their minds on the planner service pricing and I'll be out of luck and unable to program my imps!
Sorry guys, nice try, but I'm afraidbthe model is just a bit too controlling - I'm gonna have to pass.
That's fine, we understand it's not for everyone. It is a very good solution for many tasks though.
At the point where we consider the service ready for commercial use, we'll charge our commercial customers for the service - in the long term, you can't build a great service with no recurring revenue. However, developer edition cards like these will continue to be free to use as a thank-you to people willing to try them out.
Member #74326,
Question regarding this comment from 9/15/2012:
> At the point where we consider the service ready for commercial use, we’ll charge our commercial customers for the service – in the long term, you can’t build a great service with no recurring revenue. However, developer edition cards like these will continue to be free to use as a thank-you to people willing to try them out.
What do you mean by "commercial customers" as opposed to "developer customers" (i.e. those who buy the device now). You say you'll charge for the service once it's ready for commercial use, but I'm wondering what you determine "commercial use" is. Does "commercial use" mean buying a chip once it's been determined it's stable and thoroughly tested? I'm worried that if I buy a chip in a year once it's been thoroughly tested for use in a DIY home monitoring project, am I going to have to pay monthly for access to the servers? Or does "commercial use" mean if a large company buys thousands of them and puts them in their own product design, they'd have to pay a fee for access to the service? I don't want to use the chip in a network of home monitoring devices, and then come to find out in a year that I'll have to pay for the service.
Also, how is it possible to distinguish between a "developer" card like these, and a "commercial" card in the future if the unique ID is stored in the breakout board (or device) that you insert the EI into? In other words, if it's going to cost money to use the servers in the future, how is it possible to prove that my card is one of the first developer cards?
I think it's a really nifty product, and I'll probably wind up buying one just to try out, but I'm concerned about getting locked into a service and having to pay for it in the future for my DIY home monitoring projects that I hack on in my spare time. I realize that a business model consists of a source of income, but I'm not for paying for things monthly for private, home use.
I look forward to hearing your response. Thanks!
"Commercial use" means, in general, you're integrating the imp into a product, are connecting the backend to your own service via an HTTP API, and are selling the end product. These people pay service fees.
A developer card is uniquely identified by its MAC address and internal ID (vs the ID of the device it's plugged into). We know which ones are developer cards and hence can ensure they continue to work without a subscription.
Thanks so much for the reply. I have two questions regarding your response:
First, does this mean that if my use of the chip is just for home-use and I'm not going to be trying to integrate it into a product to sell, I won't have to pay a subscription fee? For instance, for an Arduino project I create for only myself in my basement or something.
Second, for instance, to go along with this idea listed below:
If I tried to make a product like an oven that would have an EI control option, then that's creating a product to sell, and therefore a subscription would apply. But who would the subscription fee apply to? The manufacture of the product? Or to the consumer who buys the oven? In other words, does the manufacturer company cover the cost, or does the end-user cover the subscription cost, in your subscription model?
If the EI really takes off, and lots of devices have them in a home, as a consumer, it would not be very practical for me to pay per device for the service if I had 30 devices that were monitoring various aspects of my home if each subscription cost $100/yr (got $100/yr from IOBridge subscription model just for a comparison) or some other relatively high cost.
I'm still interested in, and excited about, this idea, and I think it has a lot of potential for easy and cost-effective prototyping, and deployment. I'm just curious as to what path you're thinking of taking it down long-term. And while I do generally like to be in control of my systems myself, if it's truly as easy to code and deploy as you're saying, then I'd consider sacrificing my control for ease-of-use. Thanks!
Phew, this thread is getting long.
On the first point: no, you don't have to pay a fee. You're using a developer card for your own uses.
If you made an oven, there are options. You, as the oven vendor, can pre-pay for service for multiple years, or opt to be billed (around $2/year) for active devices; this is generally for applications where you're using us for communications in an otherwise closed system - eg you would have your own oven app in the appstore, and there wouldn't necessarily be any branding from us. This allows you to build a closed vertical system around our technology.
The alternative is they pay nothing, just put the slot in there, and then the user can subscribe to the electric imp branded service which allows many devices to be connected, text messaging, twitter, email etc notifications. The projected cost for that is $10/qtr for up to 20 devices (anywhere in the world), payable by in-app purchase.
Not sure where you pulled the pricing for ioBridge, but we have a similar differentiation between developer and manufacturer. Anything bought off-the-self is free for life. For manufacturers they host with us or host on their own. The costs are much lower than a 100/yr. One instance of ioBridge supports up to a million devices under certain bandwidth usage, so it can be pennies or fractions of pennies per year per device. Looks like there is some overlap here, maybe some synergy down the line would be a good step for creating cloud-connected devices. Otherwise we will have little silos of devices and everything will still be disjointed, just more e-waste, and customers will stop adopting the technology.
Oops, sorry. I meant the IOBridge life-time data upgrade package where the upgrade applies to one device and each gateway requires a separate subscription. For some reason, I thought it was a yearly subscription thing. Correct me if I'm wrong here. I wasn't sure if the Imp model would be similar to this.
No problem. That upgrade is a one-time cost that upgrades the web service, but it is not a subscription.
How exactly do the developer edition cards differ from the ones SF sells, and how does one go about acquiring and testing them?
SF sells the developer edition cards. The consumer cards are 100% identical apart form the laser etch on the top, and not being called developer edition. In the future, when we're out of beta, the "consumer" cards won't necessarily offer the developer tools, they're really just for end users.
Cool hw packed into an SD form factor. But how "hackable" is it. Can I wipe the existing software on the IMP and flash my own ARM code?
That's not supported, no, and the JTAG pins are not accessible. Sorry.
Inspiring engineering. Amazing what you guys fit into a SD card!
whats so amazing about that? 4 years ago the wifi chip was made this small for phones and tablets. Seems long overdue to me.
Are there any plans to add JTAG/reprogramming support? I'm interested in buying one anyway, by the way :). But the ability to reprogram it to be anything would be even more awesome.
No plans, no. Even if you did have the ability to wipe it and start from scratch, the first thing you'd need to do would be to write a WiFi driver for a chip with no public datasheet :(
What is the max speed (in Mbps) that it can do?
Very interesting. I think I'll get one to play with! Any chance they will make one with a few gigs of onboard flash so it can be used as a standard SD card as well?
I would guess that if enough people buy this initial "Developer edition" they can move forward with new features. Or at least I hope! :)
I'm very pleased with the Electric Imp! The biggest challenge was getting acquainted with Squirrel due to limited documentation, tutorials, etc. However, it didn't take that long and I'm now quite comfortable, but still learning. I haven't found a better platform for quickly developing a production ready IOT data collection tool, especially at this price point. We're pushing data from several sites to GroveStreams (similar to Xively) and have found the imp platform to be very reliable and scalable. I read some of the less-than-positive opinions below and thought I'd weigh in with my very positive personal experience. FWIW.
I'll just weigh in that I recently finished a project with the imp to control a motorized gauge over wifi to display some data. The experience was very good. Having attempted the same project a while back using Arduino and a WiFi shield, this was a much better experience for me personally because Squirrel is a language I prefer for its high-level functions; also, I could push data to the device using a Raspberry Pi instead of having to pull reams of XML and then filter out the few bytes I needed using C like with the Arduino. The networking configuration worked great. The optical means of configuring the device with the SSID and password is an elegant solution to that problem. I'm really looking forward to trying out the other port functionality beyond the PWM feature I'm using now. If you don't like working with bleeding-edge technologies from a new company, then don't jump in now, because things are moving quickly.
Bottom line: this is like most any technology, it's great for what it's designed for. And if you have concerns about the ecosystem then just use something else.
I was one of the lucky ones who got in on the early developer release. Initially I was kinda irked about the whole "use their server thing", but after playing with these things for a few weeks now, I get it. The imps aren't stand alone devices like an Arduino, instead its an ecosystem. Its the server side processing, which works flawlessly. Its the API which kicks ass, eve if the squirrel language is a tad quirky. Its the imp itself which is hugely powerful for a form factor this compact. The imp guys did a lot of the dirty work so we can take their concept and bring our ideas to fruition. For instance, I was able to take one of these, and using a spare relay breakout board I had laying around I was able to rig a lamp that switches on an off with a button on a webpage optimized for my phone. Total coding time was maybe 20 minutes. Web page and imp code. It took longer to heat up my soldering iron and wire the relay to the imp breakout board than it took to code. That's cool.
Questions: Does the user have direct access to the onboard Wi-Fi to communicate with other devices on the LAN? Can we communicate directly with websites, or does everything route through your servers? What happens if this thing can't connect to the internet, does it retain it's last known code or does it require a persistent connection to function?
Whoa! This thing not only has an ADC built in (Which you would expect), but ALSO a DAC? Incredible.
http://devwiki.electricimp.com/doku.php?id=whatisthere
I think the pros of using SD form factor (cost/plug and play dev) out way the cons. But, currently, it's too closed for me to pick up. Not sure how much this product is wrapped around the cloud, but it would be awesome if you could download the IDE environment locally and work with your devices exactly as advertised, but only over your local network.
For commercial products you use Imp cloud to setup initial product purchases and they take their cut per sale, but other than that they stay out of it unless you want to use their cloud services.
Like the Software (Apple) App model made for hardware.
Ouch! Co-opting somebody else's form factor and connector for something that isn't even remotely compatible makes life harder for everybody. How is the average non-techie person supposed to know that you can't just plug this into an SD slot, or an SD card into an IMP slot? It's an ease of use disaster.
Shame on IMP for "polluting" the SD card space, and on SparkFun for offering a product that has such potential to cause confusion.
I like the product idea, but have wasted way too much time in the past fighting with connectors that mate physically but are incompatible electrically.
Power and ground are on the same pins. The imp won't damage any host it's plugged into (and they won't damage the imp), plus if you plug a memory card into an imp socket that follows the imp electrical spec nothing will get damaged either.
If you plug a totally spec compliant SDIO wifi card into the average SD slot, that won't work either...
this doesn't look like a good idea....made by who? in china...there could be something embedded on that card or chip, to know our passwords and such...this card is not a good idea..unless we had control...no way my name and password is going on a cloud
Made in China, but they don't write the code. We (as in electric imp) are in Los Altos, California.
The WiFi name and password are never passed to the server, they're only used to bring the connection up. You have the option of saving them on your phone to make configuration easier but again they never get sent to our server.
It doesn't make sense to save the name and password in the cloud, since the device needs them to connect to the cloud in the first place.
@FlorinC, he just said no user names and passwords are stored in the cloud. geez. The device has a one way NAT connection out of your home router.. its unhackable. unless Hugo's servers get hacked like playstation network.. but I think Hugo is smarter than PSN developers. And Hugo, correct me if I'm wrong, but the device can continue operating for a short while, once the network connection to the cloud is down?
Promising concept! The necessary ID chip (supposedly the ATSHA204 from atmel) is under a dollar at mouser: http://ca.mouser.com/ProductDetail/Atmel/ATSHA204-TSU-T/?qs=sGAEpiMZZMteY%252blXHTQ5JP1O054GXXJf and appears only to need power, ground, and a connection to pin six on the imp.
Thanks for getting that info - I will sleep better tonight. Seriously now I know I can get this things off the ground I have a project it's perfect for ! The security chip was putting me off.
That little chip is what people are complaining about? I think the Imp is worth a try for $30. Especially because it's basically a full microcontroller + WiFi card, not just a WiFi card (which is what I initially thought).
That's the correct chip. You just connect the IO line, with a 100k pull up, to pin 6 on the SD socket, power it from the 3.3v you're feeding the imp. Every one has a unique ID which you can then bind to a particular firmware on the imp server so that any time you plug an imp into the device, it'll load the appropriate code.
If you're using an off-the-shelf SD breakout board, that should work as long as:
(btw, forums.electricimp.com is a good place for detailed discussion on imp matters)
I was considering this for a wireless temperature sensor application, but was swayed away from it do to the imp cloud aspect as so many other have been. However, I've now seen that it possible to create your own "cloud" by installing a phant server from https://data.sparkfun.com/
This should remove the imp cloud restriction. Can someone confirm this?
Maybe they (Electric Imp) will last, maybe not. Who knows. Only time will tell. But, I DO like it. I have built the Weather station project using the IMP and it works SO NICE! I plan to stay with the Imp for as long as it's around (or I'm around!). I have a few other project in the pipeline too. It was pretty easy to 'BlinkUp', but I had to use a real Android phone to run the app. My hacked B&N Nook running Android didn't seem to work too reliably (it took a few dozen attempts until it succeeded using legacy mode) whereas my wife's Galaxy Note 3 worked first time. Well anyway, my two cents worth - I think its pretty cool, cloud or not (my TRS-80 was cool too, while it lasted. But what lasts anyways?)
Just an FYI....yes, this hardware product is a means to gain revenue for their company...they offer their "cloud" service for free in order to finance their hardware...
I think I will wait until these guys run out of venture Capitol so these are worthless doorstops because their cloud service you are 100% dependent on them to keep running goes bye bye.
Then I can get these for a few pennies each and hack them to talk to my own reverse-engineered server.
Say what you want but I am impressed! Just got one imp and after 10 minutes it was logging/displaying a smoker temperature in Xively with max31588+K-type thermocouple.
Hi, does the electrical imp support arduino libraries?
No, the Electric Imp isn't even programmed in C. You will need to use their programming environment, language, and specific code.
I have to say that it's very disappointing that you have to pay for a subscription as a comercial customer, the price of the IMP card should include the server services. If I end up selling 1000s of my IMP enabled products and I have to pay $10/qrt for every 20 IMP cards, do the math, and if for some reason my company goes belly up then all those IMP enabled products that I sold will stop working as soon as my company stops paying the service fees. I don't think that is a good business model. The simple fact that you are selling the IMP card should make your company sustainable. But if your commercial customers perpetually have to be paying server service fees, that doesn't work for the end user in the long run.
If you sell 1000s of your Imp-enabled products, you negotiate with EI over your service charges, just like you do over the cost of the unit itself.
I make a small number of embedded 'arty' projects/products and the costs are tiny, per unit, compared to the retail price. My biggest gripe is the $30+ per unit to get IoT functionality in the first place, but they have a captive market - nobody else has developed such a clean, easy-to-use system for end users and the closest I can get actually ends up costing more to implement, with less functionality.
"Imp months start at $0.25 and scale down with volume" It's clear in the literature. As to the products going down the Swannie if your business goes belly-up, what I have done is paid an up-front fee for five years of service (at a discount).
As a technology goes, it is easy to get customers jumping at the chance to charge them an additional $15 for 5 years of IoT functionality over my existing Bluetooth connectivity. The advanced functions I can offer over the cloud compared to BT make it almost a different product. Enough so that an Imp-enabled device of mine goes for $100 more than a BT-enabled one, at a retail price of $399.
I like the business model, the alternative would be that the unit would cost me between $75-100 each which would price it out of contention. I have been in discussion about customers being able to take on the subscription cost themselves after the initial block I purchase has expired and it is under consideration.
And to those paranoiac about access by Imp to their precious network, I worry more about the police, the NSA and other federal agencies than a company who, if even a sniff of such a practice came out, would lose their shirt. Sometimes you just need to make a leap of faith.
This took me awhile to find so I am just going to leave this here for future reference. https://github.com/electricimp It contains quite a few examples, more than their webpage.
Sparkfun: Under "Features", could you explicitly state that the Imp does NOT support enterprise-level non-PSK security, such as 802.1x or PEAP (i.e. most university campuses).
I blew a chunk of time trying to troubleshoot this product, only to find an "oh by the way" reference to this limitation in the Imp forums. This issue deserves to be out front, as it makes Imp a non-starter for some.
I read through this product and thought it was so cool, until I saw the cloud part....
Then I saw the comments below, lol! Love you guys.
I noticed this product https://www.sparkfun.com/products/639 heated up quite a stir with the christian fish emblem on the board. But a devil on the board for a logo.... Not a single complaint. Hmmmm.
I like to think that people learned from that 'discussion' (years ago, I might add) and simply value the product for what it is, rather than any particular perceived endorsement that may or may not offend their personal beliefs (which they can factor into a purchasing decision if they so desire; "vote with your money" and all that).
That said.. it's an imp, not a devil. There may be greater cause for comparison if it were a pentagram in a circle.
As a Arduino newbie who wants to log sensor data to the cloud via Xively ..
Imp & Shield = $50 Ard + Wireless Shield = $130
so what am I missing?
Nothing. And... your arduino is limited to being installed in a network that YOU have control over, where the Imp can go in a customer site that THEY have control over and you don't ever need to know.
As a newbie Arduino user I was happy to find this solution for cloud data logging as all the other options I've investigated are significantly more expensive & complex.
Ex. ArdUno + wireless shield > $100 vs Imp $50
So what am I missing?
The "Spark Core" is a potential alternative to the Electric Imp that is worth consideration. The business model may be more to your liking as well. Note that I have nothing to do with the Spark Core team, this is just a suggestion based on a market survey of products that look ideal for embedded and IoT applications!
Curious if someone could post an example using there latest update from the Beta Planner Screen. I worked through the example posted in the tutorial and it worked great, after some minor fixes. The example is basically outdated, is my point being the IDE has changed, and the Agents are imbedded. Just a thought.
M.
I am searching for a way to connect wireless a camera to internet for streaming. Can this module help to send the data to internet? Or is to "slow and inappropriate for a big data processing/transfer"?
First I was interested. But I can't find real specs? I have to go through the examples, the wicki and search for bits of information laying around. The specification:imp001 is a joke, Sorry. Take a look on any Microchip or Atmel data sheet and you know what I am looking for. Where are the numbers ;-) like characteristics of the code size & speed, PWM, AD, DA, Pulse Count, ... I miss the hard facts on one sheet and all the details on some of the next pages. If I decide for a project I don't need buzzword flyers and I don't wan't to read dozens of wiki pages and poke some number from some example code.
The DAC for example: "The pin is configured as an analog (DAC) output. Use pin.write(x), where x is a value between 0.0 and 1.0, to set the output voltage, from 0V to the imp's power-supply voltage (usually 3.3V)." That's all? What about resolution, setup time, conversion time, ...?
What would happened to the pins if the internet / "cloud" connection is lost, reconnected, auto update imp firmware? What happened to the pins on power on? power of? brown out?, ...
Sorry, but the whole project looks in the actual state like a thing for toys to me. Not very serious and reliable. The make and DIY community prefer open hardware and open source. What is the target user group of the electric Imp?
To me the "cloud" only in combination with closed source is the real dead end. Why not an option to work without the "cloud"?
Last but not least: For security reasons I would prefer a cheap $20 wireless router like TP-Link Nano Router TL-WR702N outside the firewall only for the Electric Imp.
The hardware is abstracted by the OS; if you ask on the forums, or look at the datasheet for the STM32F205 (the processor inside there) you can see the "hard" specs. As for software, user code runs within a VM, hence absolute characteristics of the underlying CPU aren't really applicable - you can't access it directly. If the cloud connection is lost, code continues to run (see the offline mode APIs). All I/Os are tristate when off, and when on until configured by user SW (the exception is pin1, which has a pull-down on it if you sleep with pin1 wakeup enabled).
The documentation is improving constantly, but if you have questions the best thing to do is ask - then we can answer and improve the docs further.
We've shipped well over 100,000 of these so far, so make your own judgement as to whether this is "a thing for toys" (though, yes, it will be in some commercial toys this christmas). It's aimed at both manufacturers, who want to easily internet-enable their products, and also makers who want to connect things to the internet quickly and easily. The reason it works just with our cloud service is that it's not a wifi module - there are plenty of those out there already - the imp is a physical manifestation of a cloud service (which will always be free for non-commercial use).
If you want a plain wifi module, this is not for you - there are cheaper solutions out there. If, however, you want to connect something to the internet securely, using very little power, and without spending weeks working on it, you ought to try an imp.
can these run a sensor network that would send notifications to my android phone? if so, what kind of hardware would i need assuming that my phone is connected to the internet?
You can connect sensors to the imp, and have it send measurements to (eg) Xively for graphing and to (eg) Twilio for sending SMS alerts. There's example code for both of these services on devwiki.electricimp.com and plenty of people doing fun things on the imp forums.
I keep coming back to the EI, get really excited about it right up to the point where I remember it relies on some cloud service for development and transmitting data. Essentially a useless product without a live Internet connection.
Such a shame.
Not quite; though you require a live internet connection to communicate, release 25 (which has been out a couple of weeks now) allows you to connect/disconnect under program control. You can use it, for example, to collect data from a cycle and attempt to connect to upload the data periodically - so when you get home from a bike ride, the data is automatically pushed to the cloud.
Hugof, these are so cool, very well thought out. I can't wait to get my hands on some. I'm from New Zealand and I'm a little concerned with latency issues connecting to US AWS regions. Any plans to setup in other regions, Sydney would be great. The application I have in mind needs to stream low quality audio, so it is going to get interesting. I think there is a lot of value in making this cloud based by the way.
Yep, we will be rolling out different zones inc asia-pacific during the course of this year. We have examples that use a SPI flash to store audio to eliminate connection latency as an issue when using the imp to play audio - see the lala reference design on the devwiki.
From the description above - "the Imp provides an easy, integrated way to connect almost any hardware device both to other devices and to internet services." Could I use the EI as a remote sensor sending data on a TCPIP / peer to peer basis to another device ( say an Android phone) without the EI having a permanent connection to the internet.?
See reply to your same post in the threads above...
I was looking for an application to try the Imp out on. I've been interested in Weather and Air Quality sensors. I've wanted to work with the local schools to build and deploy air quality sensors. I've published my Arduino experiments (http://www.howmuchsnow.com/arduino/airquality/grovedust/), but I've been disappointed with the Arduino network stack reliability and cost. Here is my attempt at a low-cost particle sensors using the Imp: http://www.kickstarter.com/projects/1652961970/wifi-air-particle-sensor
The thing that nobody seems to have asked about is: who owns the code you write? The code you HAVE to keep on the vendor's servers, that you have to entrust to their security and that you can only use with their tacit agreement (by keeping their servers available to the users & the devices). Also what happens to guarantee backwards / downwards software compatibility with the vendor's future development systems and bug fixes? Will I have to update my code every few months just because of some server update?
I like the idea of a small, programmable wireless device but I think this one has too many limitations and needless restrictions. I'll wait for the Mk2 - though I have my doubts that the product will last long enough to get to maturity.
You own the code you write, without any question. Using the service grants us a right to compile it and distribute it to devices that you have nominated to receive the code, obviously, otherwise the whole thing wouldn't work.
We do our best to maintain backwards compatibility, and have not broken compatibility yet (almost a year) - there are legacy implementations in a few places, eg SPI, to ensure backward compatibility for user's code.
Given that we're shipping hundreds of thousands of these devices, I believe we will be around for a while :)
Electric Imp speaks and listens to reply on phone!
It will call me on the phone and wait for a verbal response. When I speak to it the number or text is transcribed then sent back to the tiny module for processing. Only 30 lines of code. 10 minutes of my time!
How hard do you think it would be to do on an Arduino with Wifly? Is it possible? How do you configure the router to receive incoming HTTP requests?
function sendTwilio(){ local response = http.post("https://api.twilio.com/2010-04-01/Accounts/ACae249c17f97/Calls.json", {"Authorization":"Basic QUNhZTI0OWM4OWYwZjA4NDg2OTBjOTRhN"}, "From=%2B18055551212&To=%2B18055551313&ApplicationSid=AP5714e4d49").sendsync(); if(response.statuscode==201) server.log("Calling soon"); else { server.log(response.statuscode); server.log(response.body); } } device.on("sendit",function(s) { sendTwilio(); } ); function mywebserver(request,res){ t
Frequent contributor hugof is actually/supposedly the CEO and founder of ElectricImp. We/I may or may not always be completely in tune with his frequency, but I admire his contributions and answers here on this forum. I shows how big a driver Sparkfun is and how important the Sparkfun community is, but it also show how seriously Hugo/ElectricImp take us, the Sparkfun clients. That I can only applaud : kind thanks Hugo !
Thanks!
Though this comment thread is probably a little intimidating, people raise valid points and ask questions that need answering hence I answer them to the best of my ability. As a very long-time electronics geek (since I soldered together a SN76477 sound effects kit back in 1978 at the tender age of 7), I know how frustrating it is when you can't get questions answered because a vendor isn't interested in "hobbyists".
IMO, the real breakthrough products of "the internet of things" aren't going to come from established companies - they're going to come from people really thinking differently about the world and connectivity; people who have an itch to scratch and the skills to hack things together, both in hardware and software.... ie, the sort of people who buy stuff from sparkfun :)
any idea if you will be making the Quinn board available?
http://devwiki.electricimp.com/doku.php?id=quinn
The Quinn board (and the others) are public domain. If Sparkfun - or anyone else - wants to make these available then that's up to them.
Could a manufacturer (of an oven for example) remotely change the code on the imp without the users knowledge? From Techcrunch "And because the smarts of the device can be updated from the cloud, manufacturers will be able to remotely monitor and update their products seamlessly, without consumers even knowing." This seems like a bad idea because now the security of all of these vendors and their employees is an issue. E.g. Turn every oven on to full power in the middle of the night or unlock every front door with one installed. Can the user "Lock" the imp out from being updated?
Yes, a vendor could do this. There are safeguards in place to prevent this from being done maliciously (eg two factor authentication before a manufacturer code deploy), but manufacturers have many valid reasons for needing to be able to push firmware updates, such as bug fixes, modifications to APIs they use to talk to their services, and so on.
If this thing has SPI, why isn't the pinout of that compatible with SDIO?
After all, the SPI and TWI are master-only.
Drivers for SPI and I2C are currently master only, but the hardware is slave compatible and we'll add driver support - likely early next year.
We used to emulate an MMC/SD card (for compatibility with card readers) but blinkup proved much nicer for configuration so the code was removed. It could always return in the future though.
I just remembered that it requires an external ID chip. Maybe that chip should be made internal along with the ability to emulate an SD card coming back.
The ID chip is there for a reason; it lets the imp know what it's plugged into, so it can select and run the appropriate code. If the chip was within the imp, then you'd need to tell it what it was in.
The practical upshot of this for developers is that you can have multiple projects and swap cards freely between them, and they'll always run the appropriate code for the project. For customers, they just get to plug a card in and have the device work. It's quite neat.
The MMC/SD mode isn't really that useful; you need an external micro to talk to it, and that just treats it as a dumb comms interface. If it were to emulate storage, it'd do it very slowly as every access would have to go over wifi. The imp is very capable of being the host in many systems, no extra micro required.
this device supports connections true a proxy?
It doesn't, no. Technically we could add support for a SOCKS proxy if the details got supplied in the DHCP reply, but this is not on our roadmap as customers haven't requested it.
these look great!
Hi,
this cloud thing is not very good for smart building systems. I have written some papers on this. I make research in this field of Internet of Things, Web of Things, smart building systems and others. I made a device like this, a Smart RF card (SRF) that works on 6LoWPAN (a compressed IPv6, on ZigBee, Wireless HART and others). Right now it has PIC micro capabilities and runs a operating system. I want to make all this as flexible as possible, in order for you, end users to be able to configure your home, office, hospitals, medical devices and so on, in a few very easy steps.
I use the sub-GHz frequency to have better range with less energy emitted. There will be a mixed Wi-Fi access for configuration and low power communication through your building. We are working hard to get it on the market as soon as possible. The will be programming interface for manufacturers and end users with little knowledge in programming and an interface for those who don't want to develop code, only to set various things. We hope in 2013 you will get these modules. The main direction we are focusing is interoperability, low power, security and the most important privacy. We don't think that cloud will be a good solution to store personal data. Maybe a centralized system would be good for smart cities to have everything in a single place but not for personal use.
Anyway don't use Wi-Fi, try to think about having 100 smart devices in a single building, each one having Wi-Fi communication, think about the energy transmitted, it's better to use others like Bluetooth LE, ZigBee or 6LoWPAN.
We think that you will be satisfied with our modules. We wish everybody a nice day.
If you want to plug your modules you ought to probably include a link or a name! Sounds interesting, though I don't think it's solving the same issue the imp is intended to address; I look forward to seeing the product when it's out.
There's no issue with 100 wifi devices in a building; yes, consumer routers would find this problematic right now, but enterprise ones handle that type of load with no problem. Over time this technology will filter down to be consumer level.
There's also no issue with energy transmitted: as wifi is a high bitrate (and efficient modulation) and the packets small, there's really very little transmission going on - logging into facebook once on your laptop is going to cause more wifi traffic than a day of activity for 100 IoT devices :)
these chips look phenomenal! I'm ordering 2 tomorrow to make a thermostat control with an outdoor thermometer for my second property that i use to manage rental houses. these chips fit the bill perfectly, and its much more fun to build your own stuff :) i can see the outside temperature and adjust it to where the pipes wont freeze in the winter, then i can change it to a comfortable temperature before i leave (its roughly 2 hours away) but i had another question rearguarding these wonderful chips. is the speed fast enough that i could make a WIFI usb port/hub? all i need to do is transfer the data signals on the two data pins in a usb port too and from the usb port on my computer, it appears these can more than handle that, but would it respond fast enough to be recognized by my computer? i really love how you, hugof, have taken the initiative to go toe to toe with fanboys of other companies and prove you have the superior product, or that its not what they specifically need. i am giddy with excitement to get my hands on a couple of these with breakout boards, i look forward to enjoying your product -Joe
I wonder if these could be set up in a mesh (802.11s)?
They don't support anything but infrastructure (AP) mode, sorry.
Just so you know up front a number of us are having problems with the imps/breakouts we bought through Sparkfun. The imp does not want to update code without being rebooted. Kinda kills the fund of remote programming. See: http://forums.electricimp.com/discussion/comment/1282#Comment_1282 for more details.
I can pretty much guarantee that this is a service-side issue and nothing to do with the Sparkfun breakout. We're working on it, stay tuned!
...the issue is not totally fixed, but is definitely substantially improved now. Server-side change so everyone gets it magically.
Sorry to be dense but I want to be clear. I need the ID chip to be able to program or use this at all? Kind of a shame that they didn't have an internal ID but also allow an external ID and to be able to pick between the two at will. Still, sounds like an interesting solution for a task that would have taken me quite a few hours and this would actually be closer to the solution I would have wanted. In fact, it would be a nice solution to quite a few projects that I've back-burnered because they ideally require wireless technology.
Yes, you need the ID chip. Firmware you write on the service is bound to one or more IDs. Because the card is removable, this means you can swap a single card between multiple projects and there is zero setup - it'll just load the correct software each time.
The ID chip is under $0.30 in high volumes but something like $0.75 from Digikey.
I need to use my Imp to monitor 4 temperature sensors that are located 4 feet from the Imp. I will monitor all of the data using COSM and would like to base the design on the breakout board. Any suggestions on a design for the hardware?
Not clear on what sensors you are using. If you're using NTCs, the best way is:
You'd then just configure the pin as an ADC and read the value with pinx.read(), which will return a 0-65535 value (12 bits, but extended to 16). There are formulas to work out the temperature from the reading but you'll need to google for them :)
So - what other features like SAR compliance are in the works to simplify the use of imp in medical or other highly regulated environments?
The health care industry is going to move towards real time monitoring and having an open source or at least standard platform to manage the data transport would cut out the extra cost we see with redundant proprietary systems. Check out the Creative Destruction of Medicine for an excellent review of the current state of digital medicine (actually medicine as a whole), great introduction to a growing change which I believe makers can have a real impact on.
Good luck with HIPAA, transmitting medical information via their server - who knows where in the cloud, doing who knows what else with that information... Not for me, thanks...
The device is SAR tested, and you do not need to do any additional SAR testing to use the imp as a body-worn device as long as you keep all surfaces of the card >=11mm from the body.
If you need more detail on this, email hugo@electricimp.com and we can give you a copy of the SAR report (unlike the 15.247 report, this doesn't appear to be on the FCC website).
Many thanks will check into it. However, your overall model with unique id, cloud based data etc seem very well suited for highly regulated environments. These environments are almost always complex and often expensive to deal with. Further the complexity of the regulations makes developing in this market difficult for a small group of makers.
So again - has the idea of working with the FDA and other regulatory agencies come to mind?
No, this hasn't come to mind though we are working with a number of companies in the healthcare arena.
I seriously don't like these comments, most of them are negative over the whole ID chip or cloud and future costs, some are questions about functionality and limitations. And what worries me is that the very few positive comments seem to be from new "costumers" that didn't even care to choose a user name.
Now I really love these comment sections and the forum, we have an amazing community with some very smart people that give away their time to bring us good information and insights into the products, even other "competing" companies comment here in a transparent way from time to time.
As such I request our Sparkfun overlords ;) to check these comments to see if there is any foul play.
(thanks for the reminder, I've now set my forum alias so I'm not just "user 74326")
It's no secret that I founded electric imp, and I'm answering people's questions on here; Sparkfun know who I am and have thanked me for keeping up with these threads to explain what is a totally new type of product - one which has negative reactions from some people, but generally very positive from people who have actually tried it.
I've explained - more than once on this very page - that there are no ongoing charges for these developer edition cards. ID chips are publicly available (they're off the shelf parts, not blessed by us in any way), and are essential to the experience of allowing you to move imps between projects freely and always have the right software run.
I'm not aware of anyone else with connections to the company writing things on here, so any other positive comments are from actual users :)
Warnings:
First make sure you have a phone that can do the 'blink up' iPhones and iTouch's work but there are a lot of Android phones that do not (my RAZR MAXX did not). Here are the list of tested Android phones:
According to the website the blink up process will send your SSID and network password in the clear. To quote: "Your wireless configuration information is sent unencrypted from your mobile device to the imp card. Although it would be very hard to eavesdrop on this transmission, be aware that such interception is, in theory, possible."
Make sure to put your finger over the white parts of the board or you can overload the sensor during a blinkup. Sigh... this teminds me of the old Timex/Microsoft watches you can set with a flashing screen. If you have epilepsy have someone else do this because the blinking screen can cause problems.
I know... complain complain complain...
I think you mean iPod Touch. Wasn't the iTouch a self pleasuring accessory for the original iPod.
On (1), we have a beta version that improves android compatibility by sending the blinkup sequence more slowly. This has worked on every android device we've been able to get a hold of. If you have issues with your RAZR MAXX email me at hugo@electricimp.com and ask for the new version and I'll send the APK for you to try. We'd appreciate feedback.
On (2), yes, these are sent in the clear optically. If you had a sync'ed 60fps capable camera that could see the phone screen during the process, you could extract the SSID and password. We deliberately didn't put encryption on this stream because to be honest, it's a stretch to believe someone would actually try to do this. Setup is a once-only process per card, and generally the phone's screen is obscured, so the window of opportunity is rather small!
For (3), the issue is that there's light leakage through the top of the card. The cards are designed for consumer use, where only the back is exposed. On a devboard, it's just a card sitting in an un-housed socket and hence ambient light can saturate the sensor. You shouldn't be looking at the screen during a blinkup and indeed we provide audio prompts on iOS so that you can close your eyes during the process (android had these removed as the audio cleanup was causing the framerate to glitch, but they'll be back when we devise a workaround that applies to the devices we have in our test pool).
To commission your imp if you don't have the iphone or an android phone or tablet, you can download the windows application for your laptop or desktop windows pc. It's called WinBlink. I tried it and it worked after six tries. http://fenconsultants.com/blog/?p=63
I would like to use the Imp with the ADXL345 accelerometer and I would like to send the data to an iPhone via WiFi. The Connection with the Cloud is a plus but the connection with the iPhone must have low latency thus a round trip to the server will add complexity and more important latency. Is it possible to direct connect the Imp to the iPhone/Smartphone ?
Why there is hike in price? I remember 5 days back , it was 25$ and now 30$
Sparkfun,
Any chance of making a device to blink-up the wifi config? This is a pain if you don't have a smartphone. Perhaps there is another way to upload the wifi config?
Thanks,
-diesel
I have some code for an Arduino that will do it, I should tidy that up and post it somewhere...
Whats the max baud rate of one of these things for serial communication and also whats the max data rate using the wifi because im guessing its not in megabits seeing that the thing is running a virtual machine inside the processor and the like?
Max baud rate for serial is, I believe 375kbit. YMMV as currently serial buffer is fairly small and not yet configurable by user code - though that will come.
Max data rate over wifi is limited by the TCP bandwidth-delay product - ie, your ping time to the server - as we run with limited buffers. Again, this will be configurable in the future but we've got things running at over 100kbit/sec. The TLS encryption is performed in software on the processor too, which hasn't become a limiting factor yet but at some stage will.
The VM is not a big issue because all the actual IO is executed by the OS which is native code.
Here's a USB->WiFi adapter based on GS1011M that I found in a quick search. Key thing is that this one has an AT style interface so you could easily connect it to an Arduino-type environment without the need for drivers. http://www.arduino.com.au/Data/USB-WIFI.pdf
Agree with VccDood. If the Imp just had the wifi drivers and the serial interface without all the programming/serial numbering/cloud stuff then I'd prefer that for connecting with an Arduino-like environment. Otherwise, I'd just use a wifi shield for prototyping. To go super-compact, I'd be much more inclined to spend $15 to $20 on a micro USB dongle (e.g. http://www.mobilefun.co.uk/usb-wifi-dongle-p11590.htm) and get the stack working than to try something like the Imp. Arduino-ish already has IP and USB connectivity, so it shouldn't be all that hard to get a dongle working. Google "arduino wifi dongle" and you can see folks are already working on it either via USB or Ethernet to the dongle.
Was initially very interested in this given the price and what it did, but given its Apple-like lock-in I'm not going to even buy a single one to play with. The Carambola is a far better, open platform IMHO. I have 6 of them and they're superb, and cheaper than the imp, and no silly cloud-based lock-in so you can be held to ransom later.
http://www.8devices.com/product/3/carambola
Carambola is a quite different animal; it's a cheap router without a box around it (the chipset is the same as in many low-end routers) and as such it's not suitable for battery powered devices (power draw is very high, it can't idle in single digit mA or sleep down in the microamp range), plus being an entire linux box is both a blessing and a curse when you're just trying to hook IO to the internet.
It's also significantly larger, has worse RX sensitivity than the imp (though higher TX power), is not SAR tested for legal use close to the body, has no analog I/O or PWMs, and configuration is - out of the box - standard dd-wrt. Plus, you can't update software running on it from anywhere in the world in seconds from a nice web interface.
"Cloud based" is actually an advantage for many users who don't want to run their own servers or open holes in firewalls, and those are the people who buy the imp. Those who enjoy the whole running servers thing have a wide range of other options including the Carambola.
The weird thing about this device is the wild emotional responses it evokes in me, and apparently in many others as well. At first glance, I was really excited and interested. Once I learned a little more about it I had a very negative reaction to it, and the more I learn about it, the more I dislike it (and I feel a little confused as to why). Today I read that you have to go through their server to use it and that they eventually intend to charge a monthly service fee for use; my feelings about the Imp just crossed over into hate. I loathe this thing, which is odd, because typically I just stop caring. Maybe it's just because this could have been so cool, if not for the pure evil that took it over. Oh well, it is not worth the emotional cost, I will try to ignore it from now on, or at least until I get back to not caring about it.
Obviously, nobody is forcing you to use it; there are lots of alternate (though far less elegant) ways to achieve similar functionality which may suit your needs better. As noted above, the developer edition units will never incur service fees but everything will always go through our servers.
Our server being involved is the price of some essential functionality, like getting an asynchronous, persistent connection through NAT without either (a) running your own server or (b) manually configuring a firewall and running dyndns. If you want to do either (a) or (b) then you can achieve the same async, persistent connection yourself with another wifi module, but you'll still be missing out on some of the other cool things the imp can do.
Every product is different and has its own upsides and downsides. For many, the tradeoffs we make are absolutely acceptable and save them a lot of time and effort. For some, the tradeoffs are unacceptable and to be honest, we don't lose sleep over this. We are not attempting to please everyone, we're just trying to build the best and easiest to use product we can.
Can the Electric Imp support OneWire protocol?
Not out of the box someone does a serial to 1wire converter that should work.
We've seen people use the I2C1 wire bridges, but currently we do not support 1-wire directly, no. It's on the to-do list (bit-banged).
So, can I write my own bit-banging code, or are there timing limitations (like with the netduino) that make it impossible at the moment?
You can bit-bang but YMMV as it's a VM executing the code, not assembler instructions.
You could probably manage 1-wire if you had an analyzer/scope to check the actual timing you were seeing on the wire. I've not tried it myself yet though :)
Darn, I didn't realise it was a VM. Looking forward to a new firmware push with native OneWire support. ;)
We have a to-do list for a "bit bang scripter", where you can set up a list to be run with accurate timing, then just collect the results when it's done. This isn't very fleshed out yet, though.
One good thing about a VM is that - apart from the nice stuff like networking happening transparently and being able to re-load new code whenever you want (from wherever you may be) - you get OS-like interaction with peripherals like buffered serial. Our new sampling API - due soon - makes implementing things like double (or deeper) buffered DMA'ed sampling really nice.
Cool, the scripter sounds like it will fit the bill for OneWire. I suppose you could also bit-bang RC5 infrared codes with it too. Yeah the VM is a must have, just a shame there's no real-time IO, but you can clearly offer more "value" with the higher level features. Kudos on the product BTW. I'm way jealous I wasn't involved :)
What is the status of the Imp to Twitter connection? Can I send tweets based on data collected by the Imp? And is SMS support planned?
Check out http://forums.electricimp.com/discussion/147/small-example-of-how-to-post-to-twitter#Item_1
Ok cool, thanks for the update. For now I've figured out that I can send the data to Cosm since I don't have my own server to run the php code in that example. I will then send the data from Cosm to Sen.se since Cosm's tweet functionality is very limited (UTC only timestamps etc.)
As an aside, will you be implementing a Vimp to send data to Sen.se directly?
Our fully flexible HTTP solution will be around soon-ish; likely a few weeks time.
This allows you to craft requests in any way necessary, and to also do synchronous responses to GET requests (ie, you ask our server, your code runs on our server which can then fetch a value from your imp and returns it in the same HTTP request).
The current HTTP stuff is just a placeholder, and hence kinda limited.
More flexible HTTP API stuff is on its way. This will allow you to implement your own twitter or twilio hookup. Likely 1 month+ until it's widely available though, as it's all based around you being able to write arbitrary server-side code. We'll provide examples for twitter/twilio.
The previous twitter/SMS hookups were hardcoded and not particularly scalable, hence they're not available right now - you currently have to use the (limited) HTTP POST block and your own server to translate the requests to a suitable format. Someone on forums.electricimp.com worked out how to use an intermediate 3rd party service to do tweeting and documented his workaround...
The imp rocks it just works!! I'm so happy that they are providing me with a hardware & software service platform. I could never build what they have already achieved myself.
One way of looking at it's like buying a mobile phone & contract. Ok there is only one carrier...Electric Imp. But once there was only Bell.
Hmmm does anyone know if its going to be possible to stream audio to the imp and it would output the audio from its analog out or is the imp not designed for that kind of throughput?
Streaming audio will be possible. We're experimenting with 16kHz A-law encoded (16->8 bit) right now. It's not going to manage cd-quality stereo though.
API should be added in the next month.
Yea I was thinking just single channel audio streamed from an acces point to the imp which would then be sent out of the DAC to be played through a speaker. So my question is would it be able to play decent quality audio if its only a single channel?
16kHz isn't bad quality audio (not quite FM radio level, but better than AM). Speech sounds pretty good.
This device looks and sounds awesome....except for one little thing. Does this really needs a Android/iOS device just to setup?
i don't have a Android/iOS device. i only have a wireless laptop with every software ide/skd/studio i need. heck i don't even own a cellphone!! i know its easy to think "oh everyone has a smartphone/tablet" but that is not true. there are people that are still using their old non-android phone or aren't swept by the current tablet trend.
There's a windows implementation of the protocol (not officially supported) linked from forums.electricimp.com.... but yes, it's aimed at smartphones. You can always borrow one (or an ipod touch or android equivalent) - after it's set up you don't need it again.
Since it's just a blinking light that sends data to the Imp, there's no technical reason they couldn't come up with a Mac/PC/web app to do the same thing from a desktop computer. But they do mention above that you can always borrow a friend's smartphone to do the setup since this information doesn't change frequently.
You don't need a special app. We've been flashing code to our e-textiles microcontroller boards for years using javascript. http://www.aniomagic.com/program
Works in pretty much any modern web browser (so not for old phones, I guess), but still, you write it once, and it runs wherever. Would be a good fit for them if you ask me, since they're doing a lot of server-side stuff.
That is alot of whining about cost and form factor, but nobody has mentioned the ultimate use case:
Imagine if every device had this sub $1 SD connector, and you could use just a single $30 IMP to plug in and update the firmware when it was needed. That is very efficient and much cheaper than adding wifi to every device on the planet.
Also if this cheap connector offered some extra functionality that required constant connection, then end uses can pick and choose how many imps to buy and how many of these extra features they really need in all their devices.
I think it is a great idea.
Yes! This is a perfectly valid use case, and makes a lot of sense for periodic use, as a reason for moving around the imp in different devices. Thanks for your comment. :-)
So, for $30 I get a piece of hardware which is dependent upon somebody's business model to be correct. If I build my business around it, I can't make any money unless the makers are also making money.
This product makes no business sense to me. Technologically, it looks great. But I think anybody putting it into a product would be either gullible or insane. Not sure which.
There are plenty of examples of eco-systems that work just fine and make some significant amounts of cash ... Are you aware of a small initiative in smart-phone arena called iPhone? Well, writing iPhone apps is being dependent on their eco-system: Apple's hardware, software and the cloud.
We are deliberately limiting our market to people who have smartphones, in the belief that actually, most of our prospective customers fall into that category.
If you don't have a smartphone, or any iOS/android device (iPod touch, Samsung player, etc), then a friend can configure the imp for you - it's only needed once unless you change your wifi password.
Hugo, two questions. I just ordered two IMPs. Does the DEV edition of IMP comes with the dev board for entering WIFI and the password? Also, IMPs websites states about the Dev Kits "These kits will be available for purchase at the end of July, 2012." Are you shipping them already?
The imp comes just as the imp; you will need a board to plug it into, either one you make yourself or one you buy. Sparkfun's boards are due out shortly, but I don't know when exactly (I think they said end of the month).
To configure the imp you need the smartphone app; search for "electric imp" in the app store/google play store.
The website needs updating... we did start shipping at the end of July, going through our developer list and sending out invites to order. However, we didn't get very far through the list before we ran out of devboards, hence why Sparkfun are now making their own equivalents.
I would like to start building before Sparkfun comes up with the new IMP DEV boards ... I wonder if you still have any April circuit boards available that I can put together with my own components? Is there any chance you could help? My email prutkin@gmail.com ...
The point of the IMP is to connect commercial products to smart phone APPS. Not having a smart phone would sort of defeat purpose. Developers in the IMP beta forums have come up with a way to blink IMP using using a Computer but there is no support.
I'm interested in using the Imp to connect sensors and collect/log environmental data for logging which is why I asked. A smartphone would not be necessary for this purpose... I could also see it being used for SMS triggers, which doesn't need a smartphone to be useful.
The Imp has a lot of nifty I/O features along with I2C, etc. which would work great for connecting sensors without the added overhead of another microprocessor like an Arduino. Keep it simple and cheaper, and it's easier to get things setup and running quickly. I just thought about this issue because I'm thinking of using it in other ways.
My current project is making 2 IMPee's a Sensor and a display. The sensor IMPee is going to have solar cell to keep a super-capacitor or battery charged and transmit data to IMP cloud. The display IMPee will have an e-Paper display and poll the cloud for updates.
With the IMP's sleep mode and very low power requirements it is perfect for both of these applications. Hoping the e-Paper display back-order ends soon on Sparkfun.
FYI: Electric IMP app runs fine on iPod touch 2nd gen. They go for $40 on ebay.
Does the DEV edition of IMP comes with the dev board for entering WIFI and the password?
As a Electric IMP beta tester I can see the value of this system. Lets give an example.
You buy a new Oven with Electric IMP capability. you can use it as a regular oven but if you buy an IMP it adds cool features. You blink the IMP your your WIFI SSID and password using the Electric IMP App then insert into oven.
Then you download oven Manufactures. Create an account and enter your ovens serial number. Since the Oven has a ID chip corresponding to the the oven's serial number the IMP that is inserted in oven is connected to your account
Now in the oven's app you can monitor your ovens temp, change temp, maybe see pic of contents ETC..
The Electric IMP provides a simple standard for connecting commercial products to the internet through your homes wifi.
The complexity of adding internet access and supporting the result in a product is greatly reduced by using IMP.
This is insane. They expect manufacturers to put a proprietary socket into their hardware on the off-chance that somebody is going to spend $30 to put an Electric Imp into it? Either 1) this will fall down on its face immediately, or 2) it will be a wild success, in which case everybody else will be lobbying manufacturers to put Yet Another proprietary socket into their hardware.
I predict fast failure for this company. It's too bad, because if they had gone with an Open Hardware approach, I would be predicting instant success.
Obviously you are entitled to your opinion, but luckily for us it's not an opinion shared by the vendors we are working with.
The vendors are not looking for an open hardware approach, they are looking for a solution which enables their products to communicate without the overhead of developing a secure embedded wireless device and server setup. We provide flexibility in configuration, electrical interface and server-side API, and our device and service fits perfectly with many of their business models.
With all my respect and acknowledgement of the efforts and cool features ... I'd like to buy that imp-enabled oven (or anything else which is imp-enabled). Where and when can I buy it? Today I can't even buy an imp-enambled SD socket.
Patience, young Padawan. The Imp was just released, these things will come in time.
Mike, I just ordered two Electric IMPs. Does the DEV edition of IMP comes with the dev board for entering WIFI and the password?
You actually do this using a smartphone app, which blinks the phone's screen to transfer the information optically to a light sensor on the Imp(!). But to power up the Imps and get I/O, look for dev boards coming soon.
Thanks Mike! Could I use you "Breakout Board for SD-MMC Cards" to supply power while waiting for the DEV boards?
Unfortunately not; the Imp does not use the standard SD-MMC pinout, and that breakout board unhelpfully grounds together some of the pins you need. The Imp also needs a separate serial number chip to generate its network ID information. Sorry for the inconvenience, we're working on getting carrier boards out as fast as we can. =)
So... I wonder how long until someone figures out how to redirect the requests so you can use an Imp offline with your own "server"? I think I may purchase a few, I don't see it being that long until it happens.
I realize it's foolhardy to say "go on, try then", but if you've worked out a way to spoof TLS you probably have better things to do than hack an imp (like bring down civilization) ;)
Considering the last two products these guys came up with went over well (ever heard of the iphone or gmail?), I'm betting they can figure out a way to make the Electric Imp awesome for everyone. Now if only we could just get access to the rssi info, and add a u.fl connector...shwing!
You already have access to rssi; imp.rssi() reports that. As for u.fl - sorry, no. The device is approved for use with its internal antenna only.
There is an RF test connector if you crack the card open, but then you're on your own as far as FCC approval is concerned :)
What will the non-developer edition of this device be like? Will it be less/more money?
Great idea (user friendly, concentrate on the app development and not the hardware hacking), this could be exactly what I am looking for ... except ... just can't get my head around why they could not put the Atmel Crypto chip in the module itself? So now need to wait until the dev kits come out or back to hardware hacking? Ahh ...
The reason the ID chip isn't in the imp is because it uniquely identifies each device.
Say you have imp-enabled christmas lights and an imp-enabled pool monitor you built... come christmas, you put the imp card into the lights and it runs the light code. Put it into the pool monitor in the summer and it runs the pool monitor code. You can swap the imp between any number of devices and it'll always load the right code for that device - all the imp knows is how to get on the internet, the rest of the behavior is defined by the software, which is selected based on the unique ID of the device.
First of all many thanks for your comment, Hugo / #74326. May I challange you? Can you give an other example? When it comes to "Internet of Things", M2M, etc., what comes in my mind is "always-on" coffee machine, fridge, micro, bike and similar stuff. I'd just put an imp in there and leave it forever to enjoy the cool features anabled by imp. If the imp should go into those, how big is that ecosystem? i.e. how many coffee machines have SD slot AND Atmel Crypto? How bright is the future for such an ecosystem?
It's bright, based on the number of vendors already working with us. You'll see over the next 6 months+ where the imp pops up :)
There will be a solder-down imp (no socket or ID chip required) but that's not for another couple of months; that makes sense for certain applications. The removable aspect is important for some vendors simply because it eases the FCC requirements even further, and allows them to make one product that's shippable worldwide (by putting region-specific imps in, vs having to make region-specific devices).
Come again, what's that example moving around an imp in devices? ;-))))))))))
Joke aside ... the main driver seems to be be enabling future functions in products while keeping the initial price low for a buck or less in quantities (by adding a $0.40 SD socket and a $0.60 ID chip).
Fair enough even, if I'm coming from a completely different angle (around 180 degrees) where the connectivity is the central feature between a HTTP API and I2C-speaking sensors.
For hobbyists, this looks great. If you don't need too many pins, but do need connectivity, this looks like the cheapest way to go about it - blows arduino + wifi shield out of the water, cost and size-wise. It also looks nice in that you could put it inside a sealed enclosure (say an underwater sensor module or something) and still be able to update the code. It would be nicer if you also had the option of writing code on the bare metal using a physical programmer, though.
I have a hard time seeing commercial applications, though. Would you expect this to be in some consumer product? Would the consumer be the one switching the imps? If so, for what purpose? Maybe I'm being thick but for a commercial product, how is this better than a permanent uC + wifi on your existing PCB?
Edit: Alright, nevermind: I found the "For Manufacturers" section on your website - I'm still curious how you intend to educate the average consumer on how to use EIs & when to swap them - while you could just embed the thing inside a product, that doesn't really seem like the intended application. Also, what happens if your servers get hacked (don't pretend this is impossible)? People will be able to run arbitrary code on every EI in the world. Seems like a pretty bad risk for a commercial product.
Thanks #222917! PINs: need 4, I2C power included so that's a perfect fit. Cheapest: Bluegiga and Roving networks are on similar price level, similar size. Sealed enclosere and the photo diode for configuring from smartphone: really cool. (Roving has an app to configure through UDP broadcast via an iPhone app, which equally does the job, without an optical trick ;-) )
Agree with you missing an option to write your own code and comparing to WiFi module on your onw PCB. What makes attractive for me is the I2C being ready from the imp programming surface. Maybe there are some other WiFi modules ready for I2C, just could not find any?
You could always get the Atmelt crypto chip on Mouser ($0.60) and a SOT23 breakout from SparkFun.
Many thanks blahblahblah ... I will do that. (And that's what I meant on back to hw hacking.)
Hey Sparkfun... are you going to make the DEV boards for these? I wanna buy a dev board but can find a place to do it... this has the perfect ring for a wifi enabled led lighting project...
They are working on making dev boards and companion products, according to Robert.
I was really interested until I read that you have to use their specific socket, and that everything goes through their servers, and that the JTAG/any programming headers aren't exposed.
Well, nevermind. Hopefully someone makes an alternative, because the SD card formfactor is an awesome idea.
You don't have to use a specific socket, we just recommend one (as that's what the antenna is tested with). There are several vendors who make ones with a pretty much identical metal profile, though. As with anything radio, if you stick excessive metal in the wrong place it'll affect range.
Hang in there Member #74326. Your getting a baptism of fire from this group but we are learning a lot about your product and intentions. It will be fund to play with and consider for adoption when the breakout cards are ready, even if it's not for everyone's taste.
I like to answer these questions because all concerns are valid - and for some people, this isn't the card for them (so, please, don't buy it if you don't like the idea of the cloud service being a requirement... plenty of other wifi cards are available!)
However, for a lot of people the imp is actually really what they want. They're not so interested in the mechanics of wifi, DHCP, TCP/IP, TLS, NAT and so on, they just want to monitor or control some hardware from the internet and that's what we're good at. If your application involves, say, controlling a servo with an HTTP API, that's a 5 minute job with an imp... then you can work on the rest of the project instead of fighting toolchains and digging into SoC documentation to see what PWM registers you need to hit.
(btw, I'm Hugo. Nice to meet you)
Compare and contrast with the mbed...
Rapid prototyping vs designed to be used in finished products.
I wonder how long until someone finds these guys sniff your network traffic for key things (usernames, passwords, CC#s, etc) and send them back to a central server....
That'll be never. Besides the fact that on WPA networks you can't sniff other nodes' traffic, we don't have the memory or power budget to do nefarious things.
Of course, you're running dd-wrt you compiled from source code you personally reviewed as your network router, right? No? Now there's a device that does have both access and enough processing power to do nefarious things. Paranoia is a good thing to have when dealing with network security, but there are much easier places someone could attempt to compromise security :)
After reading about the "Duino: Arduino, with Imp", I am really excited now...I will be able to program my RC car without plugging into it...
After one is programmed...can you use it in a Local Area Network (no access to the cloud)?
What's the benefit of having the processor and WiFi in an SD-like package? Is there a real need to be able to remove the processor from the rest of your project? The "all for less than $30" concept seems misleading if you need to buy additional parts to make the thing work. If you could use it as an SD card and plug it into a laptop for programming and/or to store/retrieve data, the SD form would make a ton of sense. Without that, I don't see the point.
To answer my own question, it looks like at least one benefit is that you can configure an EI for your WiFi network and then remove it from the board you used to configure it and insert it into some other device, like the one displayed here: http://electricimp.com/manufacturers/
The main reason they chose the form factor is because SD sockets are so cheap and familiar.
Right -- I'm not so concerned about the actual package. What I'm trying to get at is why the Imp is a separate package at all. What's the utility of separating WiFi capability from the rest of the device? Would I ever want an EI-enabled device that doesn't have an Imp installed? Ease of configuration is apparently one reason; are there any others?
Yes, there are products which can afford a slot, but not the whole WiFi thing. Say, you're a mousetrap manufacturer and want to offer the ability for your mousetrap to send an SMS or email when it catches a mouse.
Traditionally, you'd made a separate product and have loads of R&D to amortize into that box, meaning it'd turn out to be a very expensive mousetrap that nobody would buy (apart from anything else, you need to have a real mouse problem to justify paying for a single purpose wifi mousetrap). This is why WiFi bathroom scales are so expensive, and not just $40.
With the imp you can just have a slot and ship every product as "wifi capable". The user decides if it's worth getting an imp to put in there, and when the mouse problem is resolved they can take the card out and use it, say, in their christmas lights.
Additionally, the card is FCC approved as a peripheral; you do not need to do wireless testing on the product as we did it on the card independently. This approach is only possible if the card is user-accessible.
This could be cool... But does everything go through their server? They also talk about making something internet enabled for $1, that's some crazy bulk discount.
You guys would rock if you do a comparison of the wifi radios you sell. There's also the Xbee wifi now.
This needs a "IMPee" to work with. Where are the rest of the parts needed to inteface with or make use of theses?
Check out the video today on the homepage (we'll add it here soon).
Yes, you need other boards for this to work, check out the wiki above for more information.
Also, we will be releasing some boards very soon.
TY - Sorry to jump the gun. I signed up for everything I could find on their website yesterday. I just couldn't see a way to use this up front. Thank you folks as SF fro all the neat stuff! :)
An Impee is just the device you put it in. Their site is confusing as hell and there's not a single example of a real world use for this. I thought it was an EyeFi card, but it looks like it's just a cheap wifi radio in an SDCard package...that only connects to their site. So weird.
I guess to answer your question...you build the Impee. This should be a Related Product (I think ;)
Nope, pin 6 & 3 connected. Won't work.
It's not in there for a reason, you need something specific for it to work with.
"Something specific [that we don't sell and I won't explain.]"
You guys have have sent so much business to the Lady.
Check the Wiki above, it outlines what is necessary to make an interfacing board. Also, our own board will be coming out within the next couple of weeks if you don't want to make your own.
According to their site for an IMPee to work it requires a specific security chip to function with them. So you can not just use it in a SD socket without this specail chip.
It's not just a wifi radio, it's a powerful micro with TCP/IP and secure TLS and wifi, with really easy configuration. One of the reasons it's in a memory card form factor is that the sockets are cheap and robust. Try finding $0.40 sockets for other form factors...
Yes, it only connects to our site, but from there you can pass data in and out to any service with the HTTP API.
I honestly have no idea what you're trying to sell at this point. Might be a good time review marketing goals.
One sentence: it connects electrical I/O to HTTP APIs.
does this mean I cannot make a raw TCP or UDP connection?
Correct. Data flows to and from the service via HTTP/HTTPS. As I said, electrical IO to HTTP APIs.
"You were the chosen one!" http://www.youtube.com/watch?v=HUBWxiu5cOo