Grove Connector Shield for Adafruit Boards, part 1
We thought it would again be the time for some custom hardware, so here's an update on what we've been building. For prototyping purposes we're making use of the Grove system with it's sensors, actuators and easy to use connectors.
IoT and embedded development roughly consist of two main titles: Hardware and software. On the software side, thanks to PlatformIO, the programming of the "things" is extremely practical as always. PlatformIO wraps the whole programming process as a powerful environment and lighten our burden by preventing us downloading every single tool like firmware, compiler, CLI tools and so on. The good thing is, if you are still old-school enough to write every single command on terminal, you do love PlatformIO CLI tool. Otherwise it has compatibility with most famous editors like Atom and Visual Studio Code. If you are curious about all the features of PIO as unified debugger, remote testing or continuous integration, please refer to our former blogposts under www.thingforward.io/techblog.
When it comes to hardware design of an IoT system, MCU selection and assembling the components are the processes which need big attention. For the MCU choice, there is no denying low power consumption, robustness and price are mainly important. Another key consideration for MCU selection is compatibility with sensor-actuator connectors, which are also called "connector shields". With these shields, the connections of the sensors and actuators to the MCU becomes simpler. The image below shows some professional Grove connector shields that can be bought:
Speaking of practicality, the Grove system makes connecting sensors to boards really easy. The dozens of Grove sensors and actuators can be attached directly to the Grove sockets, by only using Grove connector cables. On the following image, you will see an MCU, a Grove connector shield on top and a sensor attached to that. If you search for Grove system, you can see lots of sensors and actuators like servo/dc motors, LEDs, temperature sensors, motion sensors, buzzers, cameras, microphones, RFID modules etc. Just because there are hundreds of different MCUs in the market these days, it is not possible to find compatible shields for all of them. If you are following our blogposts regularly, you will recall that we already designed a shield for NodeMCU in the past. Here is the blogpost about our very first shield design for ESP32 boards:
Much of our current work and research is about LPWANs, and there you'd typically not need the WiFi and BLE functionality of the ESP boards. So we've been looking for prototyping/maker boards with a wider range of options. Adafruit Feather boards are complete development boards and can be powered by using LiPo batteries on-the-go. These boards can be flashed on micro-USB port. Here you see a Adafruit Feather M0 Express board. It is powered with Amtel's 48 MHz ATSAM Cortex M0 CPU, 256KB of FLASH + 32KB of RAM, 20 GPIO pins, hardware serial, hardware I2C and hardware SPI support.
The very first idea of bringing practicality to the prototyping with Feather M0 Express was connecting Grove-type narrowband adapters to this MCU. The main reason of choosing a board with ARM Cortex M0 for NB-IoT prototyping is to have a good ration of processing power and energy consumption, not already having connectivity on board (such as WiFi), and to have separate receiver/transmitter serial ports in order to being capable of doing bi-directional communications.
Narrowband is a LPWAN technology which is specified for IoT solutions, thanks to its limited bandwidth, smaller data packages, better penetration indoor and low power consumption advantages. All these benefits make narrowband a perfect solution for IoT projects. If you need more information about narrowband IoT or other LPWAN technologies around, or basically learn how to choose the right narrowband module for your existing project, you can find blogposts we've already written looking e.g. NB-Iot, LoRaWAN and SigFox under www.thingforward.io/techblog
All these features make this board a very nice solution for IoT projects and prototyping. So, as ThingForward, we decided to produce a Grove Connector Shield for Feather boards.
This shield has:
- 1 Socket for hardware I2C connection for i.e. BME280 Temperature/Humidity/Pressure sensor
- 1 Socket for hardware UART connection i.e. Grove XBee Socket for narrowband module, which can be also used for digital sensors and actuators.
- 1 Socket for Digital/Analog sensors/actuators like LED, motion sensor, servo motor, rotary switch etc.
The dimensions will be also the same as M0 Express and here is the current design:
By adding the I2C port, device-to-device communications and special sensors like BME280 can be used directly. The third port helps to connect some analog/digital sensors and actuators easily. Here are the PCB designs on the following images:
So far, so good, we're able to connect Grove Sensors and our Dragino NB-IoT Shield using a Grove/Xbee adapter. In the next post, we're going to put everything together for a nice NB-IoT demo, so stay tuned :)