Posts Tagged ‘seeed studio’

Rock960 Board is a 96Boards Compliant Board Powered by Rockchip RK3399 SoC

September 29th, 2017 23 comments

So it looks like Rockchip is soon going to join 96Boards family with Rock960 board. Developed by a Guangzhou based startup called Varms, the board will be powered by Rockchip RK3399 hexa-core SoC, and comply with 96Boards CE specifications.

Rock960 board preliminary specifications:

  • SoC – Rochchip RK3399 hexa-core big.LITTLE processor with two ARM Cortex A72 cores up to 1.8/2.0 GHz, four Cortex A53 cores @ 1.4 GHz, and  ARM Mali-T860 MP4 GPU with OpenGL ES 1.1 to 3.2 support, OpenVG1.1, OpenCL 1.2 and DX 11 support
  • System Memory – 2 or 4GB RAM
  • Storage – 16 or 32GB eMMC flash + micro SD card
  • Video Output – 1x HDMI 2.0 up to [email protected] Hz with CEC and HDCP
  • Connectivity – WiFi 802.11ac 2×2 MIMO up to 867 Mbps, and Bluetooth 4.1 LE (AP6356S module) with two on-board antennas, two u.FL antenna connectors
  • USB – 1x USB 2.0 host port, 1x USB 3.0 port, 1x USB 3.0 type C port with DP 1.2 support
  • Expansion
    • 1x 40 pin low speed expansion connector – UART, SPI, I2C, GPIO, I2S
    • 1x 60 pin high speed expansion connector – MIPI DSI, USB, MIPI CSI, HSIC, SDIO
    • 1x M.2 key M PCIe connector with support for up to 4-lane PCIe 2.1 (max bandwidth: 2.0 GB)
  • Misc – Power & u-boot buttons. 6 LEDS (4x user, 1x Wifi, 1x Bluetooth)
  • Power Supply – 8 to 18V DC input (12V typical) as per 96Boards CE specs; Battery header
  • Dimensions – 85 x 54 mm (96Boards CE form factor)

The board will support Android (AOSP), Ubuntu, the Yocto Project, and Armbian. The website shows the word “official” for the first three, and lists Canonical as partner. The company will also offer various at least one expansion board, and starter kit based on Seeed Studio Grove system with a mezzanine board with plenty of Grove headers, an LCD display, and various Grove modules like buzzers, relays, buttons, LEDs, temperature sensors, and so on.

Rock960 is both simpler and smaller than other RK3399 boards such as Firefly-RK3399 and VS-RK3399, so I’d expect it to be cheaper, hopefully below $100, once it becomes available. The website is still very much under construction, but you may find few more details there.

Thanks to mininodes for the tip.

Wio LTE GPS Tracker Board Comes with a 4G Modem, Supports Espruino Firmware (JavaScript Programming)

September 6th, 2017 6 comments

Seeed Studio launched Wio GPS tracker with a 2G GSM module a few months ago, and while it should work in some countries, others are phasing out 2G networks, and only support 3G or 4G. The company has now launched an update with Wio LTE board with the same form factor, and most of the same features except they replaced the 2G/Bluetooth/GNSS module with a 4G LTE/GNSS module, and Atmel SAMD21 ARM Cortex M0+ microcontroller by an STMicro STM32 ARM Cortex-M4F MCU.

Wio LTE board specifications:

  • MCU – STMicro STM32F405RG ARM Cortex M4F MCU @ 168 MHz with 1MB flash, 192+4KB SRAM
  • Storage – micro SD slot
  • Connectivity via Quectel EC21-A (America) module
    • LTE Cat.1 modem:
      • FDD LTE: B2/B4/B12 WCDMA: B2/B4/B5
      • AT Command: 3GPP TS27.007 and enhanced AT Commands
      • Data – LTE-FDD Max 10Mbps(DL) Max 5Mbps (UL)
      • NanoSIM card
      • 2x u.FL antenna connectors
    • GNSS – GPS/BeiDou/GLONASS/Galileo/QZSS with 1x u.FL GNSS antenna connector
  • Audio – 3.5mm audio jack with mic and stereo audio
  • Expansion – 6x Grove Connectors (2x Digital, 2x Analog, 1x UART, 1x I2C)
  • USB – 1x micro USB port for power and firmware update
  • Misc – RGB LED, LTE power button, MCU reset button
  • Power Supply – 5V via micro USB port, 2-pin JST 1.0 header for battery
  • Dimensions – 54.7mm x 48.2mm

When I reviewed Wio GPS Tracker, the instructions provided to use with the Arduino IDE did not work very well. So let’s hope they will come up with a better and up-to-date getting started guide for Wio LTE board in their Wiki. Alternatively, the new board also supports Espruino for JavaScript programming for the I/Os, micro SD card, 4G, SMS, and GPS, and shown in Espruino Wio LTE page.

Seeed Studio is now taking pre-order for Wio LTE US Version for $97.50 plus shipping. Quectel also has other EC21 modules like EC21-E (EMEA, Korea, Thailand, India), EC21-AUT (Australia), and others, so I’d expect Seeed Studio to also launch variants of Wio LTE board that work in other countries.

ReSpeaker 4-Mic Array is $25 Quad Microphone Add-on Board for Raspberry Pi

August 29th, 2017 4 comments

Last year, Seeed Studio launched ReSpeaker WiFi Audio / IoT board based on Mediatek MT7688, as well as an optional microphone array board with 7 microphones and 12 LEDs. Later on, they introduced a $10 2-mic array board for Raspberry Pi Zero (W), and today the company has started to take orders for ReSpeaker 4-Mic Array for Raspberry Pi board for $24.50 plus shipping.

Click to Enlarge

Respeaker 4-Mic Array board specifications:

  • Audio
    • X-Powers AC108 quad-channel ADC with I2S/TDM output transition
    • 4 Microphones
  • Expansion
    • 2x Grove interfaces (1x I2C, 1x GPIO port using pins 12 & 13)
    • 40-pin Raspberry Pi compatible header
  • Misc – 12 LEDs (APA102) connected over SPI, GPIO5 enables power
  • Dimensions – 65mm x 65mm x 9mm
  • Weight – ~20 grams

The board will give Raspberry Pi board the ability to do Voice Activity Detection (VAD) aka “hot word” detection, estimate Direction of Arrival (DoA) and show the direction via the LED ring, just like Amazon Echo or Google Home. I’m using an Orange Pi Zero board with a single microphone with Google Assistant and while it works fine most of the times range is limited to about 5 meters, and “OK Google” detection may be a problem with background noise like music. For example, I’ve found out it may be tricky to turn off the alarm with “OK Google. Stop” while it is ringing. Such board should help.

You’ll find a getting started guide & Google Assistant tutorial on Github, where you can also download the hardware design files (PDF and Eagle), and X-Power AC108 datasheet (currently wrongly? linking to “AC101 user manual”).

Buy Raspberry Pi 2 Board for Just $19.50 (Promo)

July 31st, 2017 12 comments

With the launch of Raspberry Pi 3 last year, there’s been much less interest for the Raspberry Pi 2 board, especially there has not been any official price cut. But Seeed Studio has an interesting promotion right now where the company sells Raspberry Pi 2 board for just $19.50, or $20 off the normal price on their website.

That price does not include shipping, but this can apparently be combined with TENOFFSHIP coupon to bring the total price with shipping to Germany to $21.66. If the same laws are still in place, it’s below the 22 Euros limit in Europe meaning you won’t need to pay for VAT or custom duties on the board. You need to use the coupon before July 31, midnight (GMT+8), so there are only a few hours left.

The main downside is that only 10 are available on backorder with shipping scheduled for August 11.

Getting Started with MediaTek X20 Android Development Board

July 17th, 2017 No comments

Thanks to CNX for helping me get a hand on the 96Boards compliant Mediatek X20 board that was generously donated by Seeed Studio. In this article, I will walk through the steps to get the board up and running and also compile Android from the source code. The current Android is version 6.

Unboxing the Beast

Figure-1 : DHL Packet

Figure-2 : MediaTek X20 Box

Figure-3 : Standoff, board and instructions

Figure-4 : Front Facing

Figure-5 : Powerful tiny MediateTek chip

Figure-6 : Side Shot

Figure-7 : Backside Shot

Figure-8 : Multiple Antenna

First Boot Up

The board boots up from the eMMC, and the first time you boot up you will get Android screen as shown in Figure-9. This is the default Android image from the factory, which surprisingly looks like it was setup for a phone screen mode, which is not sufficient for a HDMI monitor. It would be better to install the images that are made available at Linaro website or build your own. See the other section to flash the board with different images.

Figure-9 : Out-of-the-box Android

Figure-10 : Partition mount information

Switching to Fastboot Mode

Flashing image files are done using fastboot tool in bootloader mode. There are 2 ways to switch to bootloader mode. To prepare the board to be flashed it will need pin 3 (USB Host Set) located at the back of the board as shown in Figure-11 to be set to OFF

Figure-11 : Switch OFF pin 3

Method 1

The first method requires that you boot your board into Android. Power the board and let it boot to Android. Once it boots to Android you can switch to bootloader mode by typing

Once it switch to bootloader mode you can use the fastboot to flash the image

Method 2

The 2nd method require the xflash tool which can be downloaded from the following link Unzip the file and you will see something like Figure-12.

Figure-12 : Tools and Image files

Extract xflash.tar.gz and you will see something like Figure-13.

Figure-13 : Inside xflash.tar.gz

Unplug the power supply, and plug your computer USB cable to the micro USB cable of the board and run the xflash tool as follow

The location of MT6797_Android_scatter.txt can be found inside the <your_unzip_mediatek>/Images/Normal Image/ as shown in Figure-14

Figure-14: Scatter File

Power up your board after running the xflash tool. You will see print out on the screen as shown below.

Once you see the text ‘END’ the board has been switched to bootloader mode, and is ready to be flashed.

Flashing Android Image

Before flashing the new Android image make sure your board is indeed in bootloader mode by running the following command

You know that you are in bootloader mode, once you get a reply like the following

You can either flash using the image files provided by Linaro or build your own custom image. You can download a ready made image file from (the image file are inside the <directory>/Images/Normal Image).

The extracted mediatek-x20-aosp-16.10.tar.xz wil look like Figure-15.

Figure-15: All image files

Copy all the different files inside /Normal Image and /Special Image to a separate folder and flash the files using the fastboot command as follows:

Building From Source

Android 6.0 is supported on the X20 board. Use the following command to checkout the AOSP source code

You will need to download the binary drivers from Linaro website. The driver binary can be downloaded from Download the file called sla.tar.gz and unzip it. You will see something like Figure-16.

Figure-16 : Content of sla.tar.gz

Copy the contents of device/, prebuilts/ and vendor/ into the AOSP directory. After completing the copy steps follow the steps below to start compiling

  1. source build/
  2. lunch
  3. You will be shown the selection like Figure-17

    Figure-17 : Lunch menu

  4. Select 8 (or even 9)
  5. make -j10

Once the build process is complete, you will see list of files as shown in Figure-18.

Figure-18 : Local image files

The image files are now ready to be flashed to the board. Use the same flashboot commands as above to flash the new compiled image.

Mediatek X20 Board Info and Antutu Benchmark

I’ll complete this guide by showing the info provided by CPU-Z and Antutu benchmark for the board for people wanting such details.

Click to Enlarge

Click to Enlarge

Click to Enlarge

If you’re interested in the board, you can purchase it for $199 plus shipping on Seeed Studio.



Review of Wio Tracker with GPS, Bluetooth 3.0 and GSM Connectivity

June 11th, 2017 4 comments

Wio GPS – also called Wio Tracker – is an Arduino compatible board based on Microchip Atmel SAMD21 MCU with GPS, Bluetooth, GSM/GPRS connectivity, as well as several Grove connectors to connect sensors and modules for your IoT project. SeeedStudio sent me a sample for evaluation, so I’ve tested it, and reported my experience below by testing some of the Arduino sketches.

Wio Tracker Unboxing

All I got in the package was Wio GPS tracker v1.1 board. The top includes the Atmel MCU, an RGB LED, a microphone and 3.5mm AUX jack to make phone calls, a user and power button, a micro USB port for power and programming, a small 2-pin connector for a battery, and 6 Grove connectors for digital, serial, I2C and analog modules.

Click to Enlarge

The other side of the board comes with Quectel MC20 module that handles Bluetooth, GPS and GSM, a dual use micro SD card and nano SIM slot, and the GPS, 2G, and Bluetooth antennas. We can also see -/+ footprints close to connect speakers close to the OSHW logo.

Click to Enlarge

Getting Started with Wio GPS Tracker with Arduino IDE

I’ve been following Wio GPS Board Wiki for this part of the review, and as we’ll soon discovered I’ve had a rather mixed experience.

First, you’ll need a micro USB to USB cable to connect the board to Windows/Linux/Mac computer. This is the kernel output I got from Ubuntu 16.04:

After installing Arduino IDE for your operating system, we can add Seeduino boards to the IDE, by going to File->Preferences and pasting the link into Additional Boards Manager URL field, and clicking OK.Now go to Tools->Boards->Boards Manager search for wio, and install Seeduino SAMD by Seeed Studio.

You can also install Adafruit Neopixel by going to to Sketch->Manage Libraries->Include Library, or importing the zip file. After that point, I decided to check whether I could find “Wio Tracker” in the list of boards as indicated in the Wiki, but there was no such board so I selected Wio GPS Board, and selected port /dev/ttyACM0 (Wio GPS Board) port.

Then I went to check for sample sketches, and found some in Examples->Seeed_Wio_GPS_Board for the all key features of the board. So I tried a bunch of them including RGB_LED, Bluetooth, GNSS (GPS), and GSM (Send SMS), and only the Bluetooth sample would work.

Click to Enlarge

By I went back to the Wiki, and found out I add to import Wio Tracker library too, which I did, and I had another very similar sets of samples for MC20_GPS_Traker-master.

I’m not exactly sure we have two separate sets of nearly identical samples, but let’s see if I have more like with samples in MC20_GPS_Tracker-master folder.

Blink.ino is supposed to blink the RGB using blue color:

I could upload the program to the board with the following warning messages:

The RGB LED did not work. So I tried to remove Adafruit Neopixel library, same results. Finally I checked schematics to confirm the RGB LED is indeed connected to D10, and inserted some println debug code to make sure the program is running properly. Everything seems right, but the RGB LED would not blink. I’ve contacted the company, but unsurprinsgly they don’t work during the week-end.

Let’s move on with BT_CLientHandle.ino sketch that should allow us to pair the board with your phone. The code is relatively simple for this task:

I could see QUECTEL-BT with my Android phone, and had no problem to pair the board.

The serial output with pairing, and disconnecting events shows some of the AT commands used:

I also tried to connect a speaker to the AUX port of the board to see if I could use it as Bluetooth speaker, but it did not work, so some more code and a different Bluetooth audio profile (not HF_PROFILE) are likely required. All I could hear was dial-up modem sounds from the speakers. But still, we can tick this Bluetooth test as success.

Time for a GPS test. GNSS_Show_Coordinate.ino sketch is supposed to  output latitude and longitude to the serial console, and again the code to achieve this is still fairly simple:

But all I got in the serial output was the following:

With +CREG: 0,0 shown over and over. We can find the different AT Command sets (and EAGLE schematics) in the resources directory in Github. One of the document reports that AT+CREG? is a read command to retrieve network registration status, and the two numbers referred as <n> and <stat> are set to 0,0 meaning that:

  1. Disable network registration unsolicited result code
  2. Not registered, ME is not currently searching a new network to register on

I firstly did the test indoors, and although previously I could get a signal indoors with NavSpark mini board, I still went outside in case it was a signal problem, but the result was just the same. So maybe the program is stuck somewhere because I had not inserted a SIM card yet. Since I was not sure whether my operator still supported 2G, I forced my Android phone to use 2G, and the phone did get a signal using “E” instead of the usual 3G, and I could send an SMS and make a phone call over 2G network (I think).

So I took out the SIM card from my phone, and …. I could not insert right away simply because my SIM card was cut out as a micro SIM, but the board requires a nano SIM. Luckily, I purchased nano/micro SIM card adapters a while ago as I knew sooner or later I would have this little first world problem. You can find those for less than $1 on eBay, so even if you don’t need them right now, it might be a good idea to get some.

Click to Enlarge

Once I cut out my SIM card so that it fits into the micro SIM to nano SIM adapter that I will need to use when I put back the SIM card into my smartphone, I inserted  the nano SIM and a micro SD card at the same time, as the picture below shows with the white band right above the 4GB micro SD card being the nano SIM card. I did not know they made those, as I’ve only seen shared slots in the past.

I reran the GPS sample program, and the serial output changes a bit, but still no longitude and latitude info:

+QGNSSC:1 means the GNSS module is powered on so that’s good news I guess.

+CREG: 0,2 means the SIM card is registered, and in home network, but then it will switch to +CREG:0,5 meaning the SIM card is registered and roaming. Not really re-assuring.

They also have a more complex sample called GNSS_Google_KML.ino, that will get coordinate display them in OLED display attached to the board, and save data into a gps.txt into the SD card with raw longitude and latitude data that can be inserted into a Google KML file. A GoogleMapDemo.ino sketch will upload your coordinates to website. That’s provided it works of course… and considering the simplest sample GNSS would not work. I gave up on GPS/GNSS tests.

Last try was with the GSM function with the send SMS sample (MC20_SMSSend.ino) that will send “Hello MC20!!” message to the phone number of your choice”. Again it’s very easy to program:

But sadly I could not send an SMS, as the function waitForNetworkRegister failed:

I had to end my testing there. I could not remove the nano SIM card with my hands, and I had to use a pair  tweezers to get it out by pushing those the small holes on top of the slot mechanism.

So overall my experience with the board was quite catastrophic with only Bluetooth working,  and GPS, 2G GSM, and even the RGB LED sample all failing. I also often had trouble uploading the code to the board with messages like:

or (even after having close to the serial terminal for a while):

So I often had to re-try and re-try to successfully upload the code to the board. I’m sure there must be an explanation for all the issues I had. I can see they tested it in Windows, but I’m using Ubuntu 16.04, so maybe that could be one reason?

Having said that, if the board actually worked, I really like what SeeedStudio has done, as it looks really easy to program the board with GPS, Bluetooth, or 2G data, SMS, calls, and you can add Grove Sensors to make pretty more advanced IoT projects. The company also provides a more practical sample with their “Wild Adventure Tracker” demo reporting sending GPS coordinates over SMS when a shock occurs. The source code on Github with a video showing the results below.

The company is also working on a 4G version, and I’ll probably have a chance to give it another try once it is released. If you are interested in Wio GPS Tracker board, you can pre-order it for $24.95 including all three antennas.

$14 LinkIt 7697 Bluetooth 4.2 LE and WiFi IoT Board is Powered by Mediatek MT7697 ARM Cortex-M4 MCU

April 26th, 2017 5 comments

Mediatek Labs has launched a new IoT development, which on the surface looks similar to LinkIt Smart 7688 board, but the internal design is quite different as the MIPS processor and Linux OS, have been replaced by Mediatek MT7697 ARM Cortex-M4 processor running FreeRTOS, and beside WiFi, also includes support for Bluetooth 4.2 LE.

LinkIt 7697 board specifications:

  • Wireless SoC – Mediatek MT7697 ARM Cortex M4F MCU @ 192 MHz with 352KB RAM, 4MB flash, 802.11 b/g/n WiFi, Bluetooth 4.2 LE and a PMU
  • Expansion – 2x 14-pin header with 18x GPIO, 2x UART, 1x I2C, 1x SPI, 18x PWM, 4x EINT, 4x ADC (0 to 2.5V), 1x IrDA, 1x I2S
  • Debugging – 1x SWD, CP2102 UART to USB chipset
  • Misc – Reset and user buttons; power and user LEDs
  • Power Supply – 5V via micro USB port
  • Dimensions – 48 x 26 mm

Pinout Diagram – Click to Enlarge

The board can be programmed with the Arduino IDE, or if you need more control LinkIt SK for RTOS. The documentation is available on Mediatek Labs LinkIt MT7697 page. We’ll note that the board is based on Wrtnode7 module, also found in the upcoming 96Boards WRTnode IE board. Mediatek MT7697 appears to competes directly with Espressif ESP32, and already comes with a 5GHz variant (MT7697D).

Mediatek MT7697 SoC Block Diagram

LinkIt 7697 board is up for pre-order for $13.90 on Seeed Studio, and there’s also a Grove Starter Kit for LinkIt 7697 selling with breakout board, and plenty of module for $150. The board and starter kit should ship on June 15, 2017…

Wio GPS is a $40 Grove & Arduino Compatible Bluetooth 3.0 + GSM/GPRS + GPS Tracker Board

April 21st, 2017 2 comments

After Wio Link and Wio Node boards, Seeed Studio has added a new board to their Wio (Wireless Input Output) family with Wio GPS board based on Microchip SAMD21 Cortex M0+ MCU for Arduino compatibility, and Mediatek MT2503 ARM7 processor for GPS, Bluetooth 3.0, and 2G (GPRS) connectivity.

Click to Enlarge

Wio GPS board specifications:

  • MCU – Microchip ATSAMD21G18A-MU ARM Cortex M0+ MCU @ 48 MHz with 256KB flash, 32KB SRAM
  • Wireless SoC – Mediatek MT2503 ARM7EJ-S processor @ 260 MHz
  • Storage – micro SD slot (shared with nano SIM slot)
  • Connectivity (built-in MT2503 in Quectel MC20 module)
    • Bluetooth 2.1 + EDR, 3.0 with SPP Profile and HFP-AG Profile; u.FL connector for external antenna
    • Quad band 2G GSM/GPRS  with u.FL connector for external antenna and nano SIM card slot
    • GNSS – GPS + BeiDou + QZSS with u.FL connector for external antenna
  • Audio – Speaker footprint (+/-), 3.5mm AUX jack with mic and stereo audio
  • Expansion – 6x Grove Connectors (2x Digital, 2x Analog, 1x UART, 1x I2C)
  • USB – 1x micro USB port for power and firmware update
  • Misc – RGB LED, GSM power button, reset button
  • Power Supply – 5V via micro USB port, 2-pin JST 1.0 header for battery
  • Dimensions – 54.7mm x 48.2mm
  • Weight – 45 grams; antennas add 9 grams

While you can already do much of the things achieved with Wio GPS using an Arduino board, and corresponding GPRS/GPS shields, Seeed Studio’s board offers a more compact solution, and access to over 180 modules via the grove connectors. The board can be programmed with the Arduino IDE, and in due time a Wiki will be setup showing how to get started with the board.

Wio GPS Board with tis three antennas (GPS, Bt, GSM) is available for pre-order for $39.90 on Seeed Studio, and shipping is scheduled for June 1st. The company also plans to released an 4G /LTE version in Q3 2017.