Quantcast
Channel: Wicked Device Support - Latest posts

Corrupt firmware detected

$
0
0

We resolved this issue over a phone call. It turned out that partially complete firmware update apparently left the Egg in a peculiar state in which it was not possible to enter configuration mode. The solution was ultimately to reprogram the Egg over USB and restore it to the appropriate firmware via an over-the-air update.

The Egg is able to perform unattended updates, and it checks for them during it’s power-on self-testing sequence. While the Serial Configurator application supports invoking a over-the-air firmware update manually, it’s really only meant for unusual circumstances. As a matter of course, most users should not need to use that functionality.


Query - problem connecting egg to App

$
0
0

Hi! I have inherited an egg from someone (I purchased his air purifier and he gifted it to me). I have connected it to my WiFi (and I just checked, the egg is connected to my WiFi router)… however I appear unable to connect the egg to my App. The serial number of the egg is egg-cbbbb1 and the claim code is cd3ws76w. I am located in HK and am using a VPN (ExpressVPN) in my router that connects to a U.K. based server (I am from the U.K.). Can you please help me with this. Thanks Alex

Query - problem connecting egg to App

$
0
0

Hi Alex, it’s a bit hard to triangulate from the information you have provided. For a start, an Egg serial number looks like the word “egg” followed by 16 characters [0-9] + [a-f]. Generally the first three are “008”.

If you use the Egg Serial Configurator desktop application and do some action with it (like set wifi) it will tell you the serial number whether it succeeds or fails. You can download that program from airqualityegg.com/setup.

A basic serial terminal program can tell you the same thing using 11500 baud 8n1 settings. If that doesn’t mean anything to you, forget I said it :slight_smile:.

Combined Dashboard?

$
0
0

Is there any functionality on the web portal to create a dashboard of sorts that combines last reading of multiple sensors? Or would it be better to look into a custom API to set this up?

As an example: if I have 2 eggs I have to look at each individually for latest data. Is there a way to get both readouts on a single page?

Combined Dashboard?

$
0
0

Hi @NT1, good to hear from you! We don’t have a dashboard builder at this time, but I like the sound of that :). At the moment, yes, you might want to try your hand at using the API to create one for your self.

One relatively simple alternative way to accomplish what you want for that would be to make a web page that just has two iframes in it with each one pointing at the share-able link for one Egg’s dashboard. Know what I mean?

Combined Dashboard?

$
0
0

Ok, thanks! I’ll give the API a shot.

Bluetooth instead of R/C OmniBot- Kiwi Robot

$
0
0

@Zagadata Did you get the Bluetooth controlled Omnibot to work? What type of bluetooth module did you use? I was thinking of trying something similar but with a Actobatics Runt Rover.

MOTO4 Hard vs Soft Brake

$
0
0

I have been studying the WickedMotorShield library for use a MOTO4. What exactly is meant by “hard brake” versus “soft brake” since I don’t have an actual brake on the motors. Is one of these dynamic braking with the two motor leads connected electrically? If so, which one?

In studying the documentation, I created a fork of the library which can be viewed at https://bradleyross.github.io/WickedMotorShield with the actual repository at https://githb.com/BradleyRoss/WickedMotorShield. Could somebody take a look and see my notes are correct. Thank you for any assistance.


MOTO4 Hard vs Soft Brake

$
0
0

I would invite you to take a look at the H-Bridge IC datasheet, most notably the schematics and diagrams on page 4 of the PDF.

Hard braking generates a “wheels locked” condition on the H-bridge. This amounts to the H-bridge being configured in such a way that the H-Bridge outputs are both driven low. They refer to this as a “Brake” condition in the datasheet. A DC motor shaft will not turn in this condition, and it resists external attempts to force it to turn.

Soft braking generates a “free wheeling” condition on the H-bridge. This amounts to the motor being disconnected from Power and GND altogether. Stated differently, the H-bridge is configured in such a way that the H-Bridge outputs are both high-impedance. They refer to this as a “Stop” condition in the datasheet. A DC motor shaft will freely rotate if external forces are applied to it.

MOTO4 Hard vs Soft Brake

$
0
0

The unknown pair of pins next to “M1 A0” in the “9x2 Header strip” are both GND, available for whatever you want as you surmised.

The unknown pair of pins next to “Power interconnect” in the “9x2 Header strip” are both +5V (from Arduino), available for whatever you want as you surmised.

The middle pin of all the Servo headers is +5V (from Arduino).

The top pin of all the Servo headers connect to an Arduino PWM pin corresponding to the speed control for the various motor channels. The associated motor channels are labeled on the PCB under the headers (left to right: M3, M5, M4, M2, M1, M6). The corresponding Digital pins on the Arduino are correspondingly labelled for ease of reference (noting that M1 and M6 are select-able by way of the first two columns of the 3x5 header J1; where wM1 and wM6 correspond to J1 column 1 in the “up” position and J1 column 2 in the “up” position respectively).

By the way, thanks for doing this. I’ll include a link your docs to our README if you’d permit me, and when you think that would be useful to do.

Bluetooth instead of R/C OmniBot- Kiwi Robot

MOTO4 Hard vs Soft Brake

$
0
0

If both outputs are driven low, that sounds like electrically connecting the two outputs, which would be another way of saying dynamic braking. As I understand it, “hard brake”, which is marked as a “Brake” condition in the datasheet, is dynamic braking. A “soft brake”, which is listed as “stop” in the datasheet, is equivalent to turning off the power. In addition, I think that you mean that a “hard brake” will cause the rotation to slow until it stops by creating torque in the motor that is opposite to the direction the motor is rotating.

As I’m going through the information, it appears that there are four states: brake hard, brake soft, clockwise, and counterclockwise. To me, this indicates that setting the direction (CW/CCW) should also result in a BRAKE OFF operation with the bit for the direction being copied to old_dir. Executing BRAKE_OFF should copy the value from old_dir back to the direction bit as well as changing the brake bit. Switching to BRAKE HARD or BRAKE SOFT should change both bits but not change old_dir. This is a little different from the way the code acts now. It looks like the current code will allow some inconsistent states.

I would also like to change the code to allow the use of bluetooth. This might mean another constructor for WickedMotorShield.

You will notice the Doxygen comments. These comments make the code much more understandable.

What I would therefore like to do is to improve the fork until everyone finds it acceptable. You can then merge the fork with the original if you desire.

Having a documentation page on GitHub at https://wickeddevice.github.io would be a very useful item as it provides a way of presenting all of the material on the repository in an organized fashion.

For a number of comments that I have seen in the forum, it seems that people have a hard time finding understandable and usable documentation. Attempting to battle this problem seems a worthwhile goal and I intend to proceed on this quest.

Airquality Egg v 2.0 Offline Mode - Showing Readings on Display

$
0
0

@vicatcu Thank you for your support. I have recently bought 2 eggs. They were working well. However, I wiish to reprogram it through arduino.

I followed all the steps of your re-programming post. I took the AQEV2FW_PM_CO_NO2_ESP and flashed the code. unfortunately, I was getting a corrupted software message. Luckily, I was able to revert back and update to the latest firmware through the conventional approach of egg serial configuration software. There I saw that the update file name was AQEV2FW_PM_CO_NO2B_ESP. I did not find the corresponding .ino file.

Why I am doing this is, when I bought the eggs, I did not know that there was a data logger. Now I don’t have the money or the time to purchase the data logger. So I added an sd card to the egg and it is logging successfully (but without timestamp). But I saw an RTC on GPS logger, and I want to use the data logger also. Is this possible? If so please help with the reprogramming?

Airquality Egg v 2.0 Offline Mode - Showing Readings on Display

$
0
0

You can comment out the line that has
#define INCLUDE_FIRMWARE_INTEGRITY_SELF_CHECK and it won’t verify the SPI flash against the internal flash.

Airquality Egg v 2.0 Offline Mode - Showing Readings on Display

$
0
0

I’ve also just posted the firmware you referred to at https://github.com/vicatcu/AQEV2FW_PM_CO_NO2B_ESP. The NO2B is because at some point the NO2 sensor manufacturer changes to the sensor that required changes to the bias voltages applied. So if your updatefile says no2b in it, you should use the NO2B ino file. Best of luck!


Airquality Egg v 2.0 Offline Mode - Showing Readings on Display

$
0
0

Regarding accessing the rtc on the GPs logger for time stamp, is it possible ?

Airquality Egg v 2.0 Offline Mode - Showing Readings on Display

$
0
0

I would think so, yes… .we use the TinyGPS library in the code. So in principle you could pull the time in the same place we pull the latitude / longitude, save it in a variable and use it in the printCsvDataLine (?) function. Or better might be to use it as the Sync provider for the Time lib.

I think there is an example of doing exactly that. Take a look at this, it should be useful: https://github.com/PaulStoffregen/Time/blob/master/examples/TimeGPS/TimeGPS.ino

Please can you let me know if you have success with this? I don’t really have the bandwidth available to integrate and test this code for you myself. And for Air Quality Egg in general, there are questions of priority to consider, if there is both an RTC and a GPS present…

Airquality Egg v 2.0 Offline Mode - Showing Readings on Display

$
0
0

@vicatcu Thank you very much. You made my day.

"Please can you let me know if you have success with this? I don’t really have the bandwidth available to integrate and test this code for you myself. " — Sure I will test it and let you know.

Power consumption

$
0
0

Hi I’m looking at getting a air quality egg, with particle 03 NO2 and Gps, does anyone have an idea of total power consumption? I would like to use a solar panel for powering so am interested in the required size of panel.

Many Thanks.

Power consumption

$
0
0

The power consumption of an Egg depends, at a first order approximation, on the electronics / sensor payload configuration, and on the operating mode (online or offline). The Egg operates on a 5V power supply, and (just to give a course estimate, without measuring the demand of that particular payload configuration) I would budget about 200mA of current for that payload in offline mode. Perhaps another 100mA of headroom for online mode.

So if I’m doing my math correctly, that would mean a 1W solar panel for Offline mode and a 1.5W solar panel to support online mode. Your mileage may vary :-). I’m probably being overly conservative as well, but again, would have to measure to be sure.

Stink Bug causing high CO readings

$
0
0

Just wanted to mention an interesting occurrence. My Egg started indicating high CO that kept creeping up. I have multiple CO sensors and none of the others were indicating any CO. When I opened my egg I found a bug. A literal dead stink bug. I removed the bug and the CO dropped to normal slowly over a few days.

Stink Bug causing high CO readings

$
0
0

That’s is extremely cool (and funny). Do you a lab (or time period) so I can take a look at the data?


Stink Bug causing high CO readings

AQEV2 LoRa conversion

$
0
0

Hello -

I am looking for a schematic or pin map indicating the AQEV2 sensor shield to Wildfire connections (CC3000 based version). Is this available?

I “restored” an AQE V1 using a TTN Uno for LoRaWAN access, I am now attempting to do the same on a V2 egg. Why? Much of my sensor network is LoRa, but yea… could have upgraded the Wildfire too.

Please and thanks! (And if not - no worries, seems clear enough from the FW and visual inspection to give it a go.)

-l280

AQEV2 LoRa conversion

$
0
0

That’s awesome, love it. If you go to http://wildfire.wickeddevice.com you can get to the older version with the cc3000. You will end up here: https://shop.wickeddevice.com/resources/wildfire-v2v3/.

From there, search for WildFire Pinout and click the link appropriate for the version of the board you have. You should find schematics in the same place. That should get you where you want to be, just ask if you have more question.

I hope the next version of Air Quality Egg hardware will have LoRaWAN capability built in, when I get some time to get back to it!

AQEV2 LoRa conversion

$
0
0

Thanks for the fast response! The “TTN Uno” arrived, and I have the AQEv2 working over LoRaWAN. I found the schematic for the Wildfire, but I still have questions on the AQEv2 shield.

The Wildfire v3 has analog pins A6 and A7. The TTN Uno (a Leonardo in reality) does not. It appears the shield uses A6 for the LCD, and A7 is unused? I just left them hanging for now.

A second question on the shield is about the dust sensor. I have a SENSIRION dust sensor that I would like to add. I suspect the 4 pads are SPI or I2C, could you confirm?

The CO/NO2 readings are still not correct. I used the calibration factors from the donor AQEV2/Wildfire. The readings are negative which probably goes to the offset. Do these values seem correct? (egg serial # egg0080217e80080150)

#define NO2_SENSITIVITY 36.149997711
#define NO2_CAL_SLOPE 79035.773437500
#define NO2_CAL_OFFSET -0.829424476

#define CO_SENSITIVITY 6.900000095
#define CO_CAL_SLOPE 414.078674316
#define CO_CAL_OFFSET -1.995584487

With the zero check disabled, the moving averages yield:

NO2(ppb): -29.290802
CO(ppm): -2.511319
NO2(raw): -0.829155
CO(raw): -1.993324

I sample every 20s over 2 minutes for each reported measurement. A bit of “noise” is present on the NO2/CO readings so I believe the ADC’s are working. NO2 can be variable, CO is fairly constant. Temp and Humidity are correct.

To squeeze the code into a Leonardo took a fair bit of surgery. The utilization is pretty high, 87% flash and 72% for sram (if I understand the Arduino IDE correctly). I could have munged something important as well.

Thanks again for any insights.

AQEV2 LoRa conversion

$
0
0

Happy to help in any way I can. What is the version number printed on the AQEv2 Interface Shield? From what I can tell, A6 is the LCD backlight control signal. Depending on the shield version, it’s not unreasonable to believe A7 is not connected. In the most current version of the shield, A7 is used as the SoftwareSerial RX pin for our particulate sensors.

The four pads you are referring to (below the LCD contrast potentiometer and above the LCD connector) is labelled G, 5V, ck, dt. That’s a (5V) I2C header, and the they are, left-to-right, GND, 5V, SCK, and SDA.

The voltage values you are getting are in the ballpark of what I expect from those sensor types. For the conversion of the voltage to a concentration, it is pretty important to include the characterized response to temperature to get an accurate reading (ref1, ref2). So it’s not just as simple as concentration = voltage * slope + offset (I wish!). We’ve come a long way in sophistication since that Egg was built.

The code on github has temperature baseline compensation, but unfortunately it’s not going to do you much good unless you have the means put the unit through a temperature profile and then program in the results. Failing that, yes, you can adjust the CAL_OFFSET values to bring the readings into the positive. Just use your favorite calculator / excel to determine what the offset needs to be to get you a positive result. You can basically ignore the sensitivity as it’s just used to determine the slope.

AQEV2 LoRa conversion

$
0
0

AQEv2 Interface Shield v1.3. Thanks for the notes on the I2C/dust sensor. Hopefully I can squeeze in the code to run it…

I retained the temperature compensation code in the firmware as-is. (I tried to leave anything related to the sensor value untouched.)

The links on temp compensation will be a great help. (no doubt lessons learned the hard way). I will map out the response and see where it leads. I was doing the conversion for the challenge, more than the science, if that makes any sense. But somewhat accurate measurements would be icing on the cake.

Thanks again.

AQEV2 LoRa conversion


Arduino Motor shield questions?

$
0
0

I have down loaded the Wicked_Stepper motor library and installed it. I have loaded the example of code to confirm that it works with my stepper motor. I have installed a second stepper motor and it rotates at the same rate as the other and the same direction. I have almost Zero coding experience but a lot of tenacity. After numerous attemps to get the steppers to operate in different directions and speeds I have come up with some questions.
Question #1) Does the Wicked Shield use the same commands as the Arduino?
#2) If it requires different coding and or words where can I find reference to these
#3) What all needs to be instructed in the (setup) portion of the code and can any of
that be changed further into the program (loop).
#4) Is there a complete list of the command words and syntax for the Arduino and
Wicked Shield
Insight into any of these questions would be greatly appreciated. Also if I am asking these questions without proper focus please let me know what I actually be looking at! Thanks all in advance for your assistance!

Terry Cummins

Arduino Motor shield questions?

$
0
0

Does the Wicked Shield use the same commands as the Arduino?

It’s doubtful that the library is compatible with any other product on the market as it is a unique design using hardware that is distinct from that used on any official Arduino Shield that I am aware of.

If it requires different coding and or words where can I find reference to these

WickedMotorShield library is designed specifically for use with the Wicked Motor Shield product. Assuming that is the product you are using, there’s a bunch of documentation available by way of that link under the heading Documentation. I would start with the User’s Guide and then take a look at the examples in the library.

What all needs to be instructed in the (setup) portion of the code and can any of
that be changed further into the program (loop).

The examples in the Library should give you a very good idea about how this works.

Is there a complete list of the command words and syntax for the Arduino and
Wicked Shield

Not really, again look at the examples and dig into the c++ library files on Github.