## 2 Challenges, Trends and Constraints in WSAN Hardware Design
### Multi-Board Architectures Expandability Mechanisms  
In order to connect two printed-circuit boards (PCBs), it is necessary to use board-to-board connectors. On the other hand, in order to connect more than two boards, a solution that ensures boards to be stackable has to be used. Multi-board platforms, such as Arduino, adopted the pass-through pin-headers (see Figure 6a). There is not an established name for these headers. Sometimes, one refers  
Figure 5: Expandable open-source single-board-computers (SBCs) platforms: (a) Raspberry Pi 2; (b) BeagleBone Black; (c) Intel Galileof Gen2.  
to them as pin-headers with long pins, or just as Arduino headers. In this work, the term _\"boards-expansion-connectors\"_ (BECs) is proposed. BECs are placed and soldered on boards and they usually have a male and a female side, so as to allow for boards stackability. Initially, Arduino architecture used four BECs in total (Arduino Uno Rev. 3) [77; 78], in order to connect, in a somewhat random way, all the pins of its MCU (Figure 6b). Practically, the Arduino BECs provide a mechanical and physical access to the on-board MCU. Whilst this technique seems quite simple, in terms of state-of-the-art microelectronics, it freed engineers by giving them a convenient way to design expandable and reusable hardware. Further, this technique is particularly used in radio communication modules that come with BECs, in order to be placed on different MCU-based boards. This capability allows systems designers to plug in and test several alternatives for wireless communication, using the same MCU-based main-board.  
Besides its easy way of firmware applications development through high level APIs, Arduino owes its popularity in the BECs approach for expandability. Any third-party board, which hosts the four Arduino BECs in the exact physical places, it can be considered as an Arduino expansion shield. This way, designers are free to develop the application shields for their particular applications.  
With regard to the applications in agriculture, the typical architecture of WSAN nodes can take a stackable form, allowing, as much as possible, for facilitating the dramatic technological changes (see Figure 3).  
In Figure 7a, an illustration of the physical transformation of a WSAN node keeping all the functional parts of the typical architecture together, but mechanically separated from each other, is given. This approach has started to become popular in WSAN applications development in the agricultural domain and appears to be the solution for the sought reconfigurable WSAN nodes [79; 80; 81; 82]. Figure 7b shows a WSAN node built on one Arduino main-board and two expansion shields, one with Ethernet networking circuitry [83], and a second one with a IEEE 802.15.4/ZigBee radio module (in particular, XBee module [84]). In parallel with the increase of acceptance of the expandable platforms, there has been an expansion of the requirements and expectations to be fulfilled by this approach. Consequently, all the key-player electronics industries have launched boards that keep the mechanical compatibility with the Arduino platform, but they have also put more powerful processing units and extra BECs (even Arduino does so). Of course, the mandated increasing need for systems' expansion negatively impacts any attempt for mechanical and functional standardization. Others provide development platforms that are mechanically compatible with more than one platforms, e.g., the Arduino and Mbed [66; 68], or Arduino and Launchpad [85].  
In general, there is a race in the industry to provide expandable solutions. In practice, their efforts are focusing on the physical layer design through the introduction of different mechanical expansion mechanisms.  
Figure 6: **(a)** An 8-pin boards expansion connector (BEC); **(b)** Arduino Uno Rev. 3 microcontroller’s pin and its four BECs.