-
-
Notifications
You must be signed in to change notification settings - Fork 323
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ISpindel doesn't work with gyros which test OK with wire.h #512
Comments
Hi, not using a pcb, using gyros soldered directly to wemos. Rest of circuit working fine, eg ds18b20 recognised correctly. |
Just to close the loop: There are a few issues:
Most people say, that up to 50% of the gyros are just broken.. The mpu6050 lib was already extend by an second who am i response: I have the same issue with my gyro, see the |
Is there a need for the identification of the attached device in the iSpindel ? By design it's present and data will come from 0x68 from all gyros including the common non-compliant ones |
@Colin66 and may be my reply below that comment |
@peterschrott Are you sure that these x,y and z values are correct? And are they always correct for every single reading? iSpindel requires quite precise and consistent data/values from gyro, thats why it has been decided to keep away from such dodgy accel modules. |
@pppedrillo, no I don't know if they are correct. I just see some delivery, but as I said: I don't know how broken they are. But I guess, no one could say. The wrong WHO AM I is an indicator that it is somehow broken. I just wanted to point @Colin66 to those discussions if she/he is interested in reading up. For myself: I just both 5 at once and i ll find out which one works. |
Exactly!
Right. Myself I usually buy from trusted sources or, if it is just random seller on Aliexpress, I always test them with Arduino/bread board before soldering. https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050 Usually if 1 in the batch is dodgy, then all the rest are the same crap as well. :( |
@peterschrott @pppedrillo yes there are lots of posts with people having the same problem. |
@Colin66
Have you tried to disable this check and test with yours? |
@Colin66, I was also quite frustrated about the broken gyro after assembling my first one. Esp. as it is soldered there and can not be easily removed and not easy tested if you don't have the tools. Thought about adjusting the fw (similar as you proposed above) and using my build of it. But after reading more about it I ended up just buying 5 of them. Especially, as @pppedrillo said: one can never know if it provides continously correct values. Those checksums are there to ensure the proper functioning of those kind of parts. And to go with @pppedrillo again: It will never be "user-friendly" if all WHO AM Is are accepted. Not only to ensure a user-friendly use of the iSpindle for me the user-friendly assembling is the problem here. Two points:
Fist issue can be solved by just ordering again - might be a bit annoying to wait and pay again the shipping fee again. But I am still kinda clueless how to "user-friendly" test those lille brats before soldering them on the board. 🤷 To "solve" those issue, the readme here could be updated with an hint to just buy more of the gyros and if someone who has an idea for a straight forward way to test the gyro before soldering this could be added to. I guess this would be an appropriated solution to avoid frustration. |
The most straight forward or easy way to test is what I described here: #429 (comment) |
@ErikdBr thanks for the details test description. As you say, additional stuff is needed which is not at stock for most the iSpindel builders. |
He has built one iSpindel without the wemos and gyro, just with the headers for them, so he can clip on and off without soldering the wemos and gyro in order to test these. When you build iSpindels in bulk for fellow homebrewers these tests of gyros and also wemos(only nescesary if you use wemos clones, I only use the originals, see wemos.cc) are paying for itself |
@ErikdBr cool, thanks for clarifying. Not an hw-guy here. How do you "clip on and off without soldering"? |
https://www.wemos.cc/en/latest/d1/d1_mini.html works better. Directly beneath the pictures on that page there is a link 'Buy it' which will redirect to aliexpress. These are the original wemos(now Lolin) and the only ones where I did not have any issues with. Clones that I have tried because they where half the price, all had issues themselves and/or in combination with the gyro. Just lay it loose on the headers and make sure they make good contact by pressing with your finger. This an example with a breadboard but it can be done with a partially build iSpindel like @thegreatgunbantoad did. |
@peterschrott Does this make sense? Solder some pins into the gyro or Wemos and fit headers to a testing pcb. There is no need to test temp sensors, they are almost never duff. Ignore the small purple pressure sensor board. It just doesn't really read sensibly when it's been tubed, was just an experiment that stalled as I had no way to properly test it over and above how hard I can blow. Also ignore the black reed switch on the Wemos. That was so you can reset by waving a magnet at the tube, it works OK if you remember where you left the magnet. |
@ErikdBr thanks again for the explanation. I bought my from a trustworthy reseller in Germany (reichelt.de). Did not have a problem either – just crashed 2 out of stupidity. My corners are not round, they are flat which are according to opensourcedistilling bad. Buy my pins are also flipped from right left. So I had to solder it up side down. @thegreatgunbantoad thanks 2! I could have just translated "headers" before asking dump questions. Sorry for that! I actually have in mind soldering the headers onto the board and just plug the gyro in for permanent use. I still could fit into the tube. For 2 reasons: I don't have all the spare parts 2) if I solder it there once I can no de-solder it. Do you think this is a good idea? So basically this two options are very clear and straight forward. For 1-time-iSpindel-builders like me who just want to "buy the kit" and solder it together not really doable (no offence). |
@peterschrott |
Inspired by @thegreatgunbantoad I also soldered headers to my PCB and pins to the gyro. So I can just plug the gyro in and see if its working on a fully assembled iSpindel.
In case, the gyro was bad, I could have just plugged in another one. As the pins of it are under the battery holder de-soldering it is quite a pain and messes up the PCB if it needs to be done several times. |
@peterschrott |
@pppedrillo very cool! Thanks. The high ones came with the d1 mini. :) |
Hello everyone, The following isn't an attack on anyone. That is a user feedback from a newbie: Remove the ban and replace it by a warning: The device already checks for the gyro's ID so it could certainly report not getting one (faulty part or solder), a wrong ID (then check if it gets values and tell the user that it might not be reliable) or the right ID and go on. That would allow people facing this to know if they have to go in with scissors or if they have to triple check the measurements at first to see if it's a bad but working part. If measurements are not good then no need to come here to ask as the red warning banner on the config page already told you. (By the way, it is also valid for the "no sensor, no wifi" problem. Why not allow the wifi and config mode to get up and report to the user "the sensors are not found, check your soldering". Instead of a simple stuck device which could be due to anything?) I believe this would provide a much better user experience, no? |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Bug report.
iSpindel (tested with F/w 6.2 and 7.0) doesn't see any of a large batch of gyros & reports "Acc Test Connection ERROR!"
When I test the gyros with an Arduino sketch to scan addresses using wire.h they show up correctly on 0x68 and when I query them with wire.write (code as below) they appear to return valid values, e.g. :
AcX = 65 | AcY = -28583 | AcZ = 13966 | Tmp = 78.57 | GyX = 22354 | GyY = 6463 | GyZ = 29868
ISpindel code uses MPU6050.h and MPUoffset.h
Is there a compatibility issue between these MPU libraries and some (many..most?) generic MPU6050 GY521s ?
If so can they be dropped from the code and use wire.h instead for improved compatibility ?
The Issues log has similar reports and online discussions widely report non-working gyros, possibly due to the same compatibility issue.
Thanks.
code used to scan for device addresses
{
Wire.begin(0,2);
Serial.begin(9600);
}
void loop()
{
byte error, address;
int nDevices;
Serial.println("Scanning...");
nDevices = 0;
for(address = 1; address < 127; address++ )
{
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0)
{
Serial.print("I2C device found at address 0x");
if (address<16)
Serial.print("0");
Serial.print(address,HEX);
Serial.println(" !");
nDevices++;
}
etc...
The text was updated successfully, but these errors were encountered: