Seeed Studio: W600 Module, Wio Lite W600, and Wio Lite MG126

Seeed_01_580

A short while ago I was contacted by Seeed Studios to see if I was interested in receiving some of their product for review. They would give me US $50 to spend in their shop on anything I wanted and in return I would review and write about the items I received. I have been offered stuff before and generally don’t accept. Many of the things offered are not really relevant to this site or the things I play with. I also get guilty because few things I did receive I never got time to actually write about. A few years ago I received some of the very first ESP32 development boards and they are still in the box they came in. Ironically I have bought many more ESP32 modules since and haven’t used those either (I’m still learning ESP8266). Any way, after some back and forth with Seeed by email I agreed and started looking at the items in the Seeed shop.

At first I thought about buying Arduino compatible boards or IOT devices such as Bluetooth and wifi modules. However, I could buy these elsewhere. I live in Hong Kong, work some of the time in Shenzhen and have access to the Shenzhen electronic markets and taobao. This means I can buy electronics very cheap and I initially found some of the items I was looking at in the Seed shop slightly expensive (at least more than I could get on taobao). I then thought the best option was to pick things that were made by Seeed and not available elsewhere. This lead me to the Grove system (I had seen these before, they are available on taobao).

I have taught (probably better to say tried to teach) basic Arduino and IOT and the Grove would have been ideally for this. There are many modules and they all have a standard connection. Unfortunately I got busy at work and never got round to actually placing an order. A couple of weeks later I see a Seeed advert on facebook for the Wio modules and the W600 modules. The prices aren’t bad, they fit well with other things on this site and also the projects I am doing at the moment. So I changed the order to:

2 x W600 Module
2 x Wio Lite W600
2 x Wio Lite MG126

Once I had made up my mind and reestablished contact with Seeed the boards arrived fairly quickly.

This is a very first look and not much more than a “look what I have just received post”.

 

W600 Module

W600Modules_007_W600_Module_01_800

From the Seeed website:

The W600 Module is a cost-effective 2.4GHz WiFi module support 802.11b/g/n. Seeed W600 Module is based on the W600 chip which features ARM Cortex-M3 with 1MB on-chip flash and freeRTOS kernel.

We take the pins of the W600 chip out and put them on the back of the board, including I2S/I2C/SPI/GPIO. In addition, this module has an on-board PCB Antenna, no need to design the antenna separately, so you can quickly deploy the module to your own board. We also have made CE/FCC certification for this module and you can use it directly for business projects.

Features
Support IEEE802.11 b/g/n
Support 2.4~2.4835 GHz
Support Wi-Fi WMM/WMM-PS/WPA/WPA2/WPS
Support multiple network protocols: TCP/UDP/ICMP/DHCP/DNS/HTTP
Support Ap & Station mode
Integrated GPIO device controller
Support for user‐programmable GPIO control
Supports AT+ instruction protocol based on ASCII encoding (UART interface)

It’s basically an advert I know, sorry.

The W600 Module is a small SMD wifi module that is controlled via AT commands. It is also available on a development board that has Grove connectors. My initial thought (before using it) is that is would be similar to how the ESP8266 was when that first came out with the AT commands firmware; possible to use but clunky and not the best solution. There is a boards addon for the Arduino IDE though and I will be trying that in the near future.

If these can be programmed using the Arduino IDE then I think they will be useful, having a small 80MHz chip with wifi has a lot of uses. Just look at how popular the ESP8266 is (of course one of the reasons the ESP8266 has done well is due to the support and the many guides online). If programing the W600 with the Arduino IDE fails then the specs don’t really mean much. 80MHz isn’t important if you have to use AT commands. It looks like it is smd only which doesn’t help hobbyists like myself. I do realize I am not the target market for this module, may have been better with the development board version, but it will be interesting to see how I get on.

W600 Module product page
W600 Module wiki
W600 Arduino boards addon at github
W600 Arduino Library at github

 

Wio Lite W600

W600Modules_002_WioLiteW600_01_800

The Wio Lite W600 is an Arduino compatible development board with a built W600 wifi chip. The main chip (the Arduino part) is a SMART™ SAM D21 ARM Cortex-M0+. The same chip found on the Arduino Zero and Seeed claim it should be fully compatible with the Zero. They do provide their own boards addon though. EDIT Have since been informed they have the same pin definitions as the Adafruit Feather.

From the Seeed website (another advert):

Wio Lite W600 is a cost-effective Arduino compatible board with the W600 WiFi module. The Wio Lite W600 features Atmel® | SMART™ SAM D21 ARM Cortex-M0+ based microcontroller and the W600 WiFi core is a 2.4GHz WiFi module features ARM Cortex-M3. Since the Wio Lite W600 uses SAM D21(the same chip used in Arduino Zero) as its Arduino Core, in theory, it is fully compatible with Arduino zero.

We’ve broken out the SAM D21 pins, the I/O level of this board is 3.3V. There are 6 analog pins and 14 digital pins, and also one UART, one I2C, one ICSP port is available. You can power this board with 5V USB Type C and 3.5V~4.2V Lipo battery.

As for the WiFi core, it’s our old friend – W600 Module. We’ve already released the W600 Module and Grove – W600, Wio Lite W600 is a new member of the W600 family. W600 Module features ARM Cortex-M3 with 1MB on-chip flash and freeRTOS kernel. It is CE/FCC certificated and supports 802.11 b/g/n. We also provide a full Arduino W600 library including demos for Ap/Station/Ap-Station/Transparent Transmission/TCP, etc.

This one interests me, even if the wifi side is not that good (at first glance it doesn’t look like the W600 pins are broken out so reprogramming it may be an issue, no idea yet) this is a Arduino Zero compatible board, bread board friendly (mostly, you get one row of pins either side. Same size as the Adafruit Feather I think) for ten US dollars. The official Arduino Zero is over $40. Seeed also provide their own boards addon. Check the wiki.

Wio Lite W600 product page
Wio Lite W600 wiki
Wio Lite W600 Arduino IDE board addon available through the Arduino IDE boards manger*.
W600 Arduino Library at github

*You will need to add an additional board manager URL in Arduino IDE -> Preferences. See the wiki for details.

 

Wio Lite MG126

W600Modules_004_WioLiteMG126_01_T&B_800

This is another Arduino compatible board using the ATSAMD21 chip this time with BLE Bluetooth. The BLE is provided via a MG126 chip by Macro Giga Electronics Ltd.Co. A chip manufacturer from Shanghai. Can’t find much about the chip. This is another board that interests me. 48MHz bread board friendly with BLE.

From the Seeed website:

Wio Lite MG126 is a cost-effective SAMD21 based development board with the on-board MG126 Bluetooth Module. SAM D21 is an ARM Cortex-M0+ based microcontroller and the MG126 is a 2.4GHz single-mode Bluetooth transceiver module. The same with Wio Lite W600, this board is also compatible with Arduino zero( Used the same Arduino Core SAM D21) and has the same compatible form factor with Adafruit Feather series.

We break out the 3.3V I/O pins of SAM D21, SAM D21 chip has rich I / O resources, including 14 digital pins, 6 analog pins, 1 UART port, 1 I2C port, and 1 ICSP port. More and more boards in Seeed use type C interfaces to supply power and transmit data, so does the Wio Lite MG126. Meanwhile, there is a JST2.0 Li-Po battery port, you can use 3.5V or 4.2V Li-Po battery to power this board.

Now, let’s talk about the Bluetooth Core, the MG126. MG126 is a 2.4GHz BLE RF transceiver with software configurable registers, embedded packet handling engine. It can work with ultra-low power. The Bluetooth air data rate of MG126 is 1Mbps and MG126 can talks with Arduino core at the speed of 4Mbps via the SPI interface.

Wio Lite MG126 product page
Wio Lite MG126 wiki. No entry yet. Should be on the wiki in about a week. Now online but no information on how to use the Bluetooth.
Wio Lite MG126 Arduino IDE board addon available for direct download from github or through the Arduino IDE boards manger. Check the wiki for details.
Wio Lite MG126 on github (same as the wiki)

 
 
Over the next couple of weeks I will try out the boards and post about how I get on.

Minor initial problem. I am on my Windows 8.1 laptop and cannot find a usb driver for the Wio Lite W600 or the Wio Lite MG126.

 
2019-09-04 Update
Seeed have emailed the usb driver for the Wio Lite W600 and the Wio Lite MG126. The drivers work on my Windos 8.1 laptop but haven’t had time to try out the modules yet.

 

2019-09-08 Small update
I had planned a first use update for the Wio Lite MG126 but didn’t get very far. I get an error when I try to compile. I re-downloaded the Arduino IDE board addon but it has not been updated and still does not include the driver. Left a message on the Seeed forum.

Not getting very with the Wio Lite MG126 I moved on to the Wio Lite W600.

 
Wio Lite W600
I have found that I need to reset the device after an upload. The error message says I may need to do this but it is not mentioned in the wiki.

1 – open IDE
2 – attach the board to the computer
3 – select board
4 – upload sketch
5 – upload is confirmed
6 – get an error saying could not find the board

Verify 10536 bytes of flash with checksum.
Verify successful
done in 0.009 seconds
CPU reset.
Couldn't find a Board on the selected port. Check that you have the correct port selected.  If it is correct, try pressing the board's reset button after initiating the upload.

I have had the COM port change a couple of times when resting the board. Started as COM port 16 and has jump to port 12 and back.

Wio Lite W600 library.
To do anything with the W600 module you need to use the W600 library. This is available on github at https://github.com/Seeed-Studio/Grove_w600.
Download the zip file and add it to the Arduino IDE using the library manager or unpack it and copy the libraries folder in the Arduino IDE folder. See the How_to_install_Arduino_Library.

Because of how I use the Arduino IDE I downloaded the library and manually copied to the libraries folder.
Seeed_1005_LibariesFolder

After adding the libaray restart the IDE and you should now have examples.
Seeed_1006_WioLiteW600Examples

And that is far as I have got. Basic sketches that do not use the wifi library compile but I get errors with all the examples.

Arduino: 1.8.9 (Windows 8.1), Board: "Seeeduino Wio Lite W600"

WARNING: library Wire claims to run on (samd) architecture(s) and may be incompatible with your current board which runs on (Seeeduino_SAMD_zero) architecture(s).
D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master\examples\Uart_send_AT_demo\Uart_send_AT_demo.ino:45:62: note: #pragma message: Defined architecture for ARDUINO_ARCH_SAMD.

 #pragma message("Defined architecture for ARDUINO_ARCH_SAMD.") 

                                                              ^

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::begin(HardwareSerial&, unsigned long)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:35: multiple definition of `AtWifi::begin(HardwareSerial&, unsigned long)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:35: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::recvData(unsigned char*, unsigned long&)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:45: multiple definition of `AtWifi::scan(String&)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:45: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::setBaudrate(unsigned long)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:60: multiple definition of `AtWifi::wifiSetMode(WifiMode)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:60: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiGetMode(String&)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:68: multiple definition of `AtWifi::wifiGetMode(String&)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:68: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiStaSetTargetApSsid(String&)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:82: multiple definition of `AtWifi::wifiStaSetTargetApSsid(String&)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:82: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiStaGetTargetApSsid(String&)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:91: multiple definition of `AtWifi::wifiStaGetTargetApSsid(String&)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:91: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiStaSetTargetApPswd(String&)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:105: multiple definition of `AtWifi::wifiStaSetTargetApPswd(String&)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:105: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiStaGetTargetApPswd(String&)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:113: multiple definition of `AtWifi::wifiStaGetTargetApPswd(String&)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:113: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiApSetSsid(String&)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:128: multiple definition of `AtWifi::wifiApSetSsid(String&)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:128: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiApGetSsid(String&)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:136: multiple definition of `AtWifi::wifiApGetSsid(String&)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:136: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiApSetPswd(String&, Key_format)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:152: multiple definition of `AtWifi::wifiApSetPswd(String&, Key_format)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:152: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiApGetPswd(String&)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:160: multiple definition of `AtWifi::wifiApGetPswd(String&)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:160: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiApSetEncry()':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:183: multiple definition of `AtWifi::wifiApSetEncry()'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:183: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiApGetEncry(String&)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:192: multiple definition of `AtWifi::wifiApGetEncry(String&)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:192: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiApSetIpAndMask(Get_ip_approach, char*, char*, char*, char*)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:211: multiple definition of `AtWifi::wifiApSetIpAndMask(Get_ip_approach, char*, char*, char*, char*)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:211: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiApGetIpAndMask(String&)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:220: multiple definition of `AtWifi::wifiApGetIpAndMask(String&)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:220: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiReset()':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:233: multiple definition of `AtWifi::wifiReset()'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:233: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::enterTcMode()':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:241: multiple definition of `AtWifi::enterTcMode()'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:241: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::exit_Tc_mode()':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:249: multiple definition of `AtWifi::exit_Tc_mode()'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:249: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::resetTofactorySettings()':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:258: multiple definition of `AtWifi::resetTofactorySettings()'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:258: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::saveSettingsToFlash()':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:266: multiple definition of `AtWifi::saveSettingsToFlash()'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:266: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::getStaMac(String&)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:275: multiple definition of `AtWifi::getStaMac(String&)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:275: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::getApMac(String&)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:288: multiple definition of `AtWifi::getApMac(String&)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:288: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiStaGetIp(String&)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:301: multiple definition of `AtWifi::wifiStaGetIp(String&)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:301: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiCreateSocket(String&, NetProtocol, NetMode, char const*, unsigned short, unsigned short)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:324: multiple definition of `AtWifi::wifiCreateSocket(String&, NetProtocol, NetMode, char const*, unsigned short, unsigned short)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:324: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiCreateSocket(String&, NetProtocol, NetMode, unsigned long, unsigned short, unsigned short)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:345: multiple definition of `AtWifi::wifiCreateSocket(String&, NetProtocol, NetMode, unsigned long, unsigned short, unsigned short)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:345: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiSocketSend(String&, long, String&)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:363: multiple definition of `AtWifi::wifiSocketSend(String&, long, String&)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:363: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiSocketRead(String&, long, unsigned long)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:384: multiple definition of `AtWifi::wifiSocketRead(String&, long, unsigned long)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:384: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::broadcastApSsidSet(bool)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:400: multiple definition of `AtWifi::broadcastApSsidSet(bool)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:400: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::setBaudrate(unsigned long)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:408: multiple definition of `AtWifi::setBaudrate(unsigned long)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:408: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::getBaudrate(String&)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:416: multiple definition of `AtWifi::getBaudrate(String&)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:416: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiGetOneshotInfo(String&)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:430: multiple definition of `AtWifi::wifiGetOneshotInfo(String&)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:430: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::joinNetwork()':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:443: multiple definition of `AtWifi::joinNetwork()'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:443: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiStaDisconnect()':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:451: multiple definition of `AtWifi::wifiStaDisconnect()'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:451: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiApDisconnect()':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:459: multiple definition of `AtWifi::wifiApDisconnect()'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:459: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::getWifiConnectStatus(String&)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:467: multiple definition of `AtWifi::getWifiConnectStatus(String&)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:467: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiApGetStationsInfo(String&)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:481: multiple definition of `AtWifi::wifiApGetStationsInfo(String&)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:481: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiSendMsgWithSocket(String&, long, unsigned char*, int)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:494: multiple definition of `AtWifi::wifiSendMsgWithSocket(String&, long, unsigned char*, int)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:494: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::getSpecSocketInfo(String&, long)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:513: multiple definition of `AtWifi::getSpecSocketInfo(String&, long)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:513: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiCloseSpecSocket(long)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:527: multiple definition of `AtWifi::wifiCloseSpecSocket(long)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:527: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::wifiSetDefaultSocket(long)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:535: multiple definition of `AtWifi::wifiSetDefaultSocket(long)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:535: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::setWifiConfigMode(WifiConfig)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:544: multiple definition of `AtWifi::setWifiConfigMode(WifiConfig)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:544: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::setWifiConfigEnable(bool)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:552: multiple definition of `AtWifi::setWifiConfigEnable(bool)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:552: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::sendBinaryMsg(unsigned char*, unsigned long)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:574: multiple definition of `AtWifi::sendBinaryMsg(unsigned char*, unsigned long)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:574: first defined here

libraries\Grove_w600-master\seeed_w600.cpp.o: In function `AtWifi::recvData(unsigned char*, unsigned long&)':

D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_w600.cpp:581: multiple definition of `AtWifi::recvData(unsigned char*, unsigned long&)'

libraries\Grove_w600-master\seeed_air602.cpp.o:D:\__Progs\arduino-1.8.9_Seeed2\libraries\Grove_w600-master/seeed_air602.cpp:581: first defined here

collect2.exe: error: ld returned 1 exit status

exit status 1
Error compiling for board Seeeduino Wio Lite W600.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
                                                        ^

 
It does feel the software is not ready for release lets hope Seeed develope the board addon further.

 
 
 
 

6 thoughts on “Seeed Studio: W600 Module, Wio Lite W600, and Wio Lite MG126”

  1. Did you get any further with these? I came across the Seeed boards while searching for information on the Ada Fruit boards. They look very similar and cheaper.

    Reply
    • Not yet due to limited time. However, I believe Seeed are working on the Lite W600 issues and I think the issues I have with the Lite MG126 are due to me not following the wiki.

      Reply
    • Yes and no.

      I have used the Wio Lite modules but not with wifi or Bluetooth. As non wireless Arduino replacements there are very good. Haven’t done much with the wireless side though.

      I became a little disappointed with the wireless side of the modules. The wifi module is OK but it is controlled with AT commands which are a little clunky when used with an Arduino (it’s like when the the ESP8266 first came out. It was fun to play with but nobody took it seriously).

      I did some playing with the Bluetooth module but didn’t take it very far. To use the Wio Lite MG126 you need to change files in the IDE installation which i was never totally happy about.

      All-in-all, the ESP chips are easier to use, especially when using with the Arduino IDE, and there are tons of resources and help online.

      Reply

Leave a Comment