The LinkIt 7697 is a development board equipped with the MT7697 from MediaTek and at first glance it looks a bit like a twin of the ESP32. It comes with Bluetooth Low Energy, has a WiFi module and plenty of RAM (compared to the ESP8266) to write nasty memory consuming applications.
One of the perks of being a blogger is that from time to time you get some cool new hardware to review. Seeedstudio asked me if I would like to play around with their brand new LinkIt 7697 and hey, I can almost never say NO to a shiny new gadget!
The module has a luxurious set of available pins and just like the ESP8266 and the ESP32 many of them have more than one function. Starting with regular GPIO pins with PWM support (18 pins) to UARTs, ADC, hardware I2C and SPI and some more exotic ones like IrDA and I2S. The Cortex-M4 core is running with 192MHz which should give you plenty of power for more complex operations and also has a floating point unit (FPU) in case you need to do extensive math operations.
With 4MB of flash memory it can take your regular programs and art work without any problems, telling from my experience with the ESP8266 connected to displays.
If you want more details about the specs go to the product page.
Something practical – Controlling LED over Bluetooth
The LinkIt 7697 can currently programmed by three different platforms: One is based on FreeRTOS which aims at professional embedded developers, one for the Arduino IDE and one for a graphical editor called BlocklyDuino editor, ideal for kids. In the following examples I chose the Arduino IDE since it is a good mix between removing complexity while still having access to all the hardware features.
Installation is easy and painless when you follow this guide and very similar to the ESP8266 setup:
- Add the JSON Url to the Arduino preferences
- Pick the LinkIt board from the board manager
- Select the LinkIt board from the available boards in the Tools menu
After choosing the LinkIt 7697 board new examples show up in the file menu. And these examples, especially the ones for Bluetooth Low Energy (BLE) are very helpful. For the following demo I opened File > Examples > LBLE > Simple Peripheral, connected the module over USB and uploaded the sketch to the module.
This sketch advertises a BLE LED service which allows other devices to turn one of the on-board LEDs on and off. To test that I installed a iOS app called LightBlue which immediately displayed the service.
In the LightBlue app (and in many other BLE discovery tools) you can then send values to the device. Sending a “1” turns on the LED, a “0” turns it of. Simple as that! I have to say, this was very easy to accomplish!
I tried another experiment, but didn’t succeed. I probably don’t understand enough of the BLE protocol. I have some bluetooth devices like a Sensirion SHT31 BLE “Humigadget”. And I couldn’t get the LinkIt 7697 to see it. While I see the device on the iOS app I cannot see it in the output of the test devices. It also seems not to update the list of discovered devices once it has taken them into the list. You can tell this because the RSSI should be fluctuating…
Comparison of the LinkIt 7697 and the ESP32
As mentioned initially the two chips have many things in common, GPIO pins and types, memory, connectivity (BLE and WiFi). While the LinkIt’s development platform for the Arduino looks really mature the ESP32’s is far from this state. You have to install it with a git checkout (instead of just pasting the URL in the Arduino preferences) and some APIs like the one for BLE are not even implemented yet.
The LinkIt is certainly an interesting option if you want to get started with a development module and BLE right away. I would like to find out why my BLE gadgets didn’t show up in the scan. It might be due to a bug in the BLE API or the represent a type of Bluetooth device which cannot be seen the by the LinkIt module. The quality of the examples is really good and it is really easy to setup the Arduino IDE to develop with the LinkIt module. I would like to see the ESP8266 lend some ideas from here. For instance the Serial baud rate seems to get detected automatically with the LinkIt setup, while I have to set this manually in the ESP8266 setup. And I have tested this with ESP8266 modules which also had a CP2102 serial-to-usb converter just like the LinkIt 7697. So give this Seeedstudio/MediaTek module a shot. You can buy it from Seeedstudio here.
A ridiculous amount of coffee was consumed in the process of building this project. Add some fuel if you'd like to keep me going!