Worst experience ever...
Sorry for this rant, but I've got to get this off my chest. FYI - I'm a long time EE with tons of experience and I understand the pressures of product releases. My hat's off to you for the job you've done with the LoPy and I was a backer on your Kickstarter project. That said....
As with any new technology I'm exposed to, I follow the YOUR instructions to the letter to get things operational. And these are just a few of the things I've run into that are inconsistent and/or with your documentation/procedures.
When I got my pair of boards (2 x LoPy and 1 x Expansionboard), I went to the getting started website as instructed by the label on the box. Mating the LoPy to the Expansionboard brought up the first set of very minor issues in that there are no "Pin 1" indications on either boards, and vast majority of the board labels didn't match. It was the RST and VIN pins that allowed me to make the correct orientation and mate the boards. What I found curious is that when mated all the labels on the Expansionboard and LoPy are upside down with respect to each other. Again, these are minor, but could be a point of confusion.
After mating, I plugged in the board via USB, and was able to connect to the board via wifi. So far, so good. I think.... Why is the LoPy LED flashing blue about every 4 seconds. Is it trying to alert me to an error condition or something else. Getting started website is no help with regards to this. Confusion keeps building....
I downloaded and installed the Pymakr software package as instructed and launched it. Step 4 accomplished! For those of you who are curious, I'm running a MacBook Pro with 10.12.1 Sierra.
Things really went south on step 5. Reading this, it looks like Pymakr should automatically detect the LoPy, and automatically initiate a firmware update. How can you tell? The prompt mentioned for the required firmware update never appeared. Is this because the board hasn't been detected or perhaps does it mean that the firmware is current and doesn't require an update. The confusion is now mounding quite high.
Pymakr did nothing and gave no indication that it was even able to connect to the LoPy. And there we sit.... Now departing from the instructions, I went to preferences -> Pycom Devices to manually attempt to configure a device. The interesting thing is that there were two devices listed in the dropdown list. Which one to choose.... No hints.... What credentials do I use?... No indication... Anyway, in the spirit of having an adventure, I tried both devices using the micro, python credential set. (Side question: Does LoPy have features that support/require their own credentials?). Anyway, no luck....
So I then went to a Win7 x64 platform and tried this procedure. I downloaded the installer and it went fine. I plugged in the LoPy board and got hit with USB driver issues. Sigh.... What drivers are needed, and why aren't they part of the installation package?
So, I put things away for the night...
The next day, I'm ready to tear into it again. Back on my MacBook Pro, I plug the LoPy in and start up Pymakr. OH MY GOD! It appears to have found the LoPy!!!! It prints off a bunch of "Hi, how ya doing?" text and I've got a command prompt! Included in the initial text is enter for help() for help. I do this, and there is no help to be presented. Yet another astonishingly useful (less) feature... Well, emboldened by the fact that Pymakr appears to be communicating with the LoPy, I turn the UI inside out trying to find an interface that allows me to update the firmware. Base upon the getting started website, one is led to believe that Pymakr supports this functionality. Can't find anything.... So, I decide to discover the python command to reveal the LoPy python version. It comes back with a three number, period separated response. Great, I'll see if I can find what the current version is on the website and see if I even need to die on this hill. No luck....
So, I decide to download and use the Update Tool on the MacBook Pro. Download went great. Start the tool up and am hit with instructions to configure the board with a jumper. These instructions are WRONG. Let's start with the orienting the board. Your frame of reference is established "with the LED on the top side". Cue confusion: should the LED be to the left, or right? For the sake of argument, let's put it to the left. G23 is the forth pin from the left on the top side. My expansion board says G10. GND is the second pin from the right on the top side. My expansion board says G4. Confusion keeps mounding.... Anyway, sidestepping these issues, I jumper G23 (which is the forth pin from the left on the bottom) to GND (which is the second pin from the left on the top). Again, these coordinates are all predicated that you've oriented the LoPy such that the LED is to the LEFT.
Holding my breath, I plug board into USB. No flashing blue LED, hope everything is OK.... Click "Continue". Read disclaimer that it may take time to update firmware. After awhile, I'm confronted with a message that the firmware failed to update. My questions is: WHY?. Was it not able to find the LoPy? Was there some other error condition? I couldn't tell you.... And neither can the update tool. Bravo!
So, to do a bit of background work. Do I have the right version of the update tool? Let's light it up and check a version number. Score big time, there's no way to expose this with the tool that I can find. Oh look, it's part of the downloaded installer filename (I think?)... Wow...
So, here I sit as a new member of your forums so that I can get this off my chest. I'm a team player and skilled at the arts. I fielded my fair share of curve balls during my four decades as an engineer, but this one takes the cake. As I stated in the opening paragraph, I really do appreciate the technical efforts that have gone into the LoPy. But I also feel that your efforts at "getting started" are an abysmal failure and have absolutely incinerated all the enthusiasm I'd like to have. You can have to most incredible technology on this planet (as the cartoonish kickstarter video conveys), but the rubber meets the road with the customer experience. With the technology challenges you face with any product release, it's sad to see poor documentation add to this burden. I would set your engineering, technical support, and documentation staff down in a room, pull out an arduino uno, plug it into computer, upload "Blink" and impart upon your staff the need to achieve this kind of simplicity and exceptional "first experience" with your product.
OK, my rant is done and I'm ready to move on. Sorry if I've bent a few egos - get over it. It comes with the territory. I look forward to exploring all that Pycom and the LoPy have to offer. Many thanks!!
Thank you for the instantaneous reply.
You are welcome :-)
We will check on your issue ASAP.
Thank you for the instantaneous reply.
In my setup I am using Windows 7 (64 bit) and downloaded and installed Pymakr 1.0.0.b8 (pymakr_setup_1.0.0.b8.exe). I can also attach log files if that helps.
The two error messages that I get are
-------------------------------------------------------------------------------- 2017-01-04, 15:49:51 -------------------------------------------------------------------------------- <type 'exceptions.AttributeError'>: 'UserInterface' object has no attribute 'leftSidebar' -------------------------------------------------------------------------------- File "C:\Program Files (x86)\Pycom\Pymakr\Pymakr\Plugins\PluginUpdate.py", line 133, in __onWindowLoad self.__ui.showEvent(event) File "C:\Program Files (x86)\Pycom\Pymakr\Pymakr\Plugins\PluginREPL.py", line 57, in __onWindowLoad self.__ui.showEvent(event) File "C:\Program Files (x86)\Pycom\Pymakr\Pymakr\Plugins\PluginPycomSync.py", line 73, in __windowLoaded self.__oldShowEvent(event) File "C:\Program Files (x86)\Pycom\Pymakr\Pymakr\Plugins\PluginPycomDevice.py", line 90, in __onWindowLoad self.__ui.showEvent(event) File "C:\Program Files (x86)\Pycom\Pymakr\Pymakr\Plugins\PluginFullUI.py", line 235, in __windowLoaded self.__setupSidebars() File "C:\Program Files (x86)\Pycom\Pymakr\Pymakr\Plugins\PluginFullUI.py", line 385, in __setupSidebars UiHelper.hideItemsSidebar(self.__ui.leftSidebar, toHideLeft)
Error information: -------------------------------------------------------------------------------- 2017-01-04, 15:46:39 -------------------------------------------------------------------------------- <type 'exceptions.AttributeError'>: 'PluginPycomDevice' object has no attribute '_PluginPycomDevice__pds' -------------------------------------------------------------------------------- File "C:\Program Files (x86)\Pycom\Pymakr\Pymakr\Plugins\PluginPycomDevice.py", line 98, in __onWindowUnload self.__pds.disconnect()
The only thing I did after the installation was changing the color theme from dark to light but I am not sure if that is connected with any of the error messages.
@alexander Thanks a lot for your feedback. It definitely looks like your Pymakr installation went really wrong and that's why is showing all those errors and nothing works. Could you let me know which version of Windows and which version of Pymakr are you using? I will then take this to the Pymakr development team so they can analyze it.
Regarding connecting pin P2 to GND in order to enter programming mode, there's going to be a new version of the expansion board around Q2 which will have a jumper for this purpose.
The LED is mostly meant to be controlled by the user (using the methods inside the
pycommodule), but the suggestions about using it to show status are good. We will add them to the features wish list: https://forum.pycom.io/topic/433/features-wish-list
Firstly thank you for the very detailed and extremely constructive comments. It is very useful to get this level of input to help us better understand areas of improvement.
I will leave it for Daniel to come back and comment on some of the other technical issues you raise however I wanted to give you an update ref documentation. We have a new developer joining whose main role will be to get the documentation completely overhauled. Downside is he will not be able to start before 6th feb so expect to see major improvements from then on.
We follow the forum carefully and pick up everybody's comments as it is the key source of input for product/user experience improvement.
Best wishes Fred
My experience using the Wipy 2 for the first time has been somewhat similar to @geobike's so I want to add a few points that might help making the process a bit smoother.
First of all, the quickstart guide at https://docs.pycom.io/pycom_esp32/pycom_esp32/getstarted.html needs some love. Having a mix of Lopy, Wipy and Pymakr setup in one document is not helpful. Also the pictures look oh so slightly different from the actual boards which is definitely confusing.
The second remark, and the one that other users have stumbled upon greatly concerns Pymakr. After the installation Pymakr was unable to contact my Wipy 2 over USB. It shows several exceptions and errors:
and it simply looks really bad (only used the Windows version though). So using this IDE guarantees a rough ride already. Others have suggested dropping Pymakr completely and so far I can only agree that extending another open source IDE (Pycharm, Eclipse, Spyder, Eric Python, IDLE ...) might provide a better experience than fixing all the issues with Pymakr (it additionally confuses users that it uses Python 2.7 while micropython is Python 3.x).
As a comparison I do not want to use the Arduino example because Arduino has a long history but using Micropython on the ESP8266 (NodeMCU board). Despite getting the board only with Lua and the documentation on the micropython website being a bit vague because they try to give explanations for different boards with the same chip I got micropython running and first experiments with a REPL prompt within an hour.
The Wipy 2 on the other hand took two hours to get to a similar state, despite the fact that micropython is already installed and the hardware is known. This is mostly due to the bad state of Pymakr, the lack of documentation (which serial driver do I need, where to download?) and the odd default settings: Why is the serial UART interface disabled in the default setting? It is not explained in the docs how to write to boot.py, this alone is a stumbling block for users without micropython experience. Other users have complained about the blinking LED, I agree that it does not serve any purpose. Instead it would be much more helpful to show activity on the LED when a WiFi, Serial or other connection is made to show that something works.
As for the firmware update, the windows update tool is totally opaque. You have no idea what is going on. Compared to that the epstool to update the ESP8266 firmware is much more informative. And I still do not know why I need to connect a pin to GND to get the firmware update going. Is this really necessary? The expansion board has a large number of jumpers, still none of them is helpful for the firmware update.
So overall I do not agree that this is 'the worst experience ever' because many other development boards throw much larger issues your way. So I hope you create a feedback process going so that the users can give the Pycom team a bit more input of all the areas that definitely need fixing. The combination of the ESP32 and micropython has so much potential, it would be a pity if these issues hinder its widespread usage.
Point noted... give us a few weeks to sort things out. We are recruiting more headcount so documentation is a key area of improvement. All good input and frustration is totally understandable. We will sort it out short term.
Best wishes Fred
I agree. And reality is that without good documentation no matter how amazing potentially the hardware is, it will not evolve!
You need to help us with proper tutorials and documentation, please! For me is by far the worst IoT experience I had. This is suppose to be the Linux of IoT easy to play with ... at least this is what we were sold. This is not true!
Hi Daniel, Thanks for the reply.
Well, have you tried the
help()command? For example
help(WLAN)provides much more info than the (non existing WLAN class) docs!
You have provided a wonderful SDK called MicroPython, why there is no structure to its documentation?
I'm not that familiar with Python myself, but I guess you could more easily structure your API guide Module by Module. What we have now is a good start, but you should be more specific and more detailed about classes and constants. I wish I could just open the API docs, find the
networkmodule and navigate to
WLANsection and find out all about
disconnect()function's arguments for example.
Don't get me wrong, I know you are doing your best, I'm just saying you should try harder. I know you are very knowledgable about the topic at your hand, but I kindda feel the documentation is written from the Creators perspective rather than the poor guy who'd use it as a reference.
@mohpor I'm sorry to hear your horrible experience and I would like to thank you for your feedback. We made an important refactoring to the docs a few weeks ago, and we thought that we added all the missing parts in order to keep it up to date with the releases, but apparently this is far from true.
I would very much appreciate if you can give us examples in the docs showing where are the areas that need attention and which ones are the spaghetti sections. In any case, I'll make sure that we go back to square 1 regarding the docs and review every section again.
Hey guys, new comer here.
PyCom Products are absolute fun to have but I cannot express my frustration I have trying to code for it.
Here is my experience:
I've had to wait around 3 weeks to get my hands on a WiPy 2.0 board, therefore I've had read all about it before hands. I knew how to update the firmware and whatnot, so, No problem there (Almost)
I have made a blink example for myself (a great one too) in less than 10 mins, you know why? Because there was a very small mention of
rgbledsomewhere in the pile of spaghetti pages you call Docs!
after that, oh my GOD! Guys! you are doing the best with the hardware and features, but why the documentation is so horrible?! Is it really that hard to keep the docs up to speed? If so, I think you are understaffed! I mean, I document my test projects much better than what you are doing!
Unlike most of the guys around here, I'm a Software Developer with Electronics education and I can say, without proper documentation the SDK and IDE and everything else worth
NULL. I beg of you, please provide better documentation, we need to know classes, constants,... I'm not talking about Examples, just provide the API guide, we will figure the rest out. And pleaaaase keep it up with the firmware releases. I mean, in every type of project management, tasks have a DONE definition, yours should include: Documented? If not, don't release it. I don't know how I can express my frustration more clearly, but I'm betting a lot of odds on being able to work out your boards and future looks so dark at the moment with this kind of experience.
As a final note, the odd thing here is that, I can't believe how such a good product (Hardware part) has been developed when such basic process (such as documentation) has been omitted! Absolutely stunning!
I am sorry to hear the "worst experience" feedback, and I do understand the frustration that is caused by all the issues with the software, the updates and the holes in the docs. We have recently made amends to the getting started section and we have created a new landing page for the docs which hopefully will make things clearer.
As we are releasing our code as open source soon, tracking and reporting bugs will be an easy process and everyone will be able to contribute.
Thanks for your support and understanding.
@geobike Thank you for the feedback. In brief... I agree. We must get to that out-of-box plug and play process with all our modules. Daniel will be responding on some of the more tech stuff shorty. Rest assured we are working flat out on getting you guys up and running. I will do a more general update on next steps etc so that every user is up to speed. In the meantime keep bearing with us and thank you for the patience.
I had some of the same frustrations, but I guess I was lucky with Googling! If you look underneath the Lopy, you can see where Vin, gnd and rst are, and match them up with the expansion board.
It is G28 on the expansion board that must be connected to 3.3V. I was also pulling my hair out over the G23 to gnd thing! After getting it right, the stand alone updater worked okay- but start with you PC connected to the internet! I think the updater must go out and look for the latest firmware, because there is no option for you to choose it from your downloads. When it is ready, then connect to the LoPy and the update should proceed. (Anyway, worked for me!). YMMV.
Mayby title is to "pesymistic"
but i can say something optimistic.
They have problems but they try to fix its.
Bad will be if we raport problem and they do not try to fix.
This startup is chellenging. Will be good to see something like bug tracker.
We can then look what is pending and what new feature is in progress.
Users can go there and also ad new feature request, sugestion ...
A very interesting series of observations, some of which I can relate to. If I hadn't already come up to speed with the WiPy and microPython in general I expect I would have had some very similar experiences, since the setup and details of the LoPy (And WiPy to a certain extent) are not necessarily the best, especially for new users. I had to do the same thing when plugging in the LoPy since the text on the expansion board runs in two opposite directions, making an attempt to orient it by aligning the LoPy label with them impossible. The differing pin labels were also unpleasant, and I had to find the GND pin to really have a shot at finding out which way to plug it in. --A simple "pin 1" notation would have been invaluable. There's a silk-screened outline that on the expansion board that corresponds to the WiPy, but obviously this was of no help with the LoPy.
I had less of a problem with the firmware upgrade since I didn't bother with PyMakr until I had already upgraded using the Linux version of the standalone upgrade tool. The LoPy boxes were labeled with the message to upgrade first thing, so that's what I did. Since I was on Linux there was no problem determining what port it connected to for USB, since there was a message in the system log as well as the list of USB devices to refer to. I'm not sure what you mean by the instructions for connecting G23 and GND were wrong, maybe they've updated them since you tried?
Once I did try PyMakr it wasn't too bad getting things running. It does seem to have a fair number of issues, I had several times where it would raise an exception when attempting to interact with the LoPy via the serial interface window, and it would also add ESC notations with key codes or something when I tried using the arrow keys to navigate and edit a command quite frequently. I'd say PyMakr has a lot of potential, but as with any new software it's got a lot of "version 1,.0" bugs.
As others have noted, having zero example projects or files present bundled with PyMakr was rather disappointing after being used to the great Arduino ecosystem of examples. I know there are several snippets of code available in the wiki, but I really believe they should be baked into the PyMakr package and ready for use instead of having to copy-paste them over one at a time.
I really think a master page for getting started that pops up as soon as you visit the Pycom site and the LoPy section would be a big help, it's nice to see a "features" page but not nearly as helpful for telling you where to go to do each step in plugging the device in, upgrading the firmware, installing PyMakr, and beginning with example code and projects would be far more useful than just adding pages to the existing wiki. Having to look around for a Getting Started page (Which should really be front and center on the LoPy product page) and then a rather brief list of non-OS-specific instructions to use the LoPy isn't ideal. There's no "master" project page for LoPy per se, just another set of headings on the wiki at docs.pycom.io which really seems like a missed opportunity since it means you have to go through the wiki page by page and dig around for stuff to get started. The whole idea is to present a cohesive and detailed set of instructions (With sections for each OS) for people to see in one place when they click on the LoPy product page. It's arguably more natural to go to the LoPy section for info, rather than searching for a generic "Getting Started" page on the Pycom site.
I realize a lot of the problems I've mentioned are part of a very new project/product, however it will save people a lot of grief when they do get their LoPy/etc. if we can rely on a simple, obvious process to getting started. Additional info on how LoRa is structured, an example project for two LoPy boards to talk to each other, power consumption notes, etc. would all be wonderful and so helpful in getting people up to speed on each aspect of the product. I realize you guys (At Pycom) are extremely busy, still writing things like the Bluetooth support, however it makes for some unhappy customers when there are these gaps in info when first using a product.
I hope this isn't seen as unfair criticism of a new product, it's not that I dislike the creators or their work, I only hope it can be made more accessible for everyone, so everyone wins. I'm trying to see things from a new user's perspective and not just telling people they should be quiet and spend more time researching issues instead of complaining about them :-)
I must agree with geobike.
To many problems at start.
I also agree with Xykon that this is really fresh startup and can have problems at this point.
But i must say that IDE(Pymakr) without one sample project is a mistake.
I know that there is web page and i can dig it and find how to blink led
but this ample should be in IDE.
And blinking led at satart(blink every 4 seconds) is nowhere documented as pointed by geobike.
Hi, I kind of agree its not a great start for lopy. It seems its not ready for release, load of update problems etc. Now that I have my lopy running the latest firmware I don't see any example projects to help me get started.
If I was to compare this to the omega or omega2, they are way ahead. I had no idea why I wanted a lopy but thought I should get one and join the lora network but the forum lacks information on how to start programming/example codes/how to connect to the lora network.
I would really like to see this information added to the forum. One thing that got me exited about this device was the claim that it has a 1km wifi range - so how do I set this up - and are there any plans to introduce add-on boards such as mini relays and PIR sensors?
@Xykon FYI - I also backed the spartan project and agree with your sentiments...
Hi Xylon! Thanks for your reply. I appreciate your comments and was expecting such from the community. I've actually participated in a number (too many according to my wife...) of technical offerings. I love the environment and I'm well aware of the risks!
I think (hope) that I communicated that a number of the things I was bringing up are minor. But they do all mound up at some point. Because the update process does have issues (thanks for mentioning this), I would hope that the getting started page would try and short cycle this. If it doesn't function as written, why lead everybody down that path. I would think it would be more productive to send people to a FAQ first, where these types of teething issues are brought to the forefront. Just saying... I can, and will, be going through the forums to try and establish the true "state of the union".
Like I stated in my original post, I'm excited about the LoPy and am eager to put them to work. Over the past couple of days, I've had to readjust my expectations but I think I'm calibrated now. Thanks again Xylon!