## 2 Challenges, Trends and Constraints in WSAN Hardware Design
### Open-Source-Hardware Architectures versus Open-Architecture Systems
#### 2.3.1 Signals Management Constraints  
1. [label=()]
2. _Signal conflicts and short-circuits:_ According to the expandable multi-board architectures, all the input and output pins (i.e., digital, analog, buses and ports pins) are coming directly from the main-board's MCU and, through the BECs, are available for use by the rest of the expansion shields. The MCU solely manages every pin regarding its signal direction (i.e., input or output), its function, and its frequency of operation. Expansion shields cannot change the characteristics of the BECs signal-pins. On the other hand, if a pin is declared, for example, as output from the MCU, then, this signal must be an input for the rest of the shields, otherwise serious problems will appear due to electrical short-circuits. 3. _Limited multi-MCU development:_ The egocentric style of pins management by the main-boards does not allow for real multi-processor designs. Thus, it is very difficult to have two or more shields with a MCU in each of them, which, at the same time, are managing some of the signals of the common BECs. 4. _Waste of existing system's resources:_ In the OSEP-based WSAN hardware implementations it is very common to plug-in a wireless communication module on a MCU-based main-board shield. In this case, the MCU just reads and writes data from/to the wireless module through an embedded serial port or bus (e.g., UART port, I2C-bus, or SPI-bus). In practice, the majority of the wireless modules have their own MCU into which the communication stack is running, while several input and output pins and ports are available to the developer for application use. This means that, in this design, there are two MCUs, but, in practice, just one MCU can be used for the  
Figure 7: (a) The typical WSAN node architecture implementation following the stackable boards fashion; (b) an Arduino Uno Rev. 3 expanded with two application shields, one for Ethernet networking and one for wireless communication using an IEEE 802.15.4/ZigBee radio module. application's scenario (that of the main-board), so the distribution of processing power among the shields is rather limited and several development resources are left unused. 4. _Signal voltage level incompatibilities_: Several times, there is incompatibility in terms of the logic levels of the signal pins among the various expansion shields. In the embedded systems circuits, there are two typical logic families, that of +5 Vdc and that of the +3.3 Vdc. In cases where two or more expansion shields, with different voltage logic levels, have to be interconnected through common BECs, then, specific extra logic level translators circuits must be in place. Depending on the direction of the signal pins, i.e., inputs or outputs or both, the voltage level translators should be single-directional or bi-directional. This issue cause extra cost, more physical space on the shields' boards, and degradation in energy efficiency, as well as reduction of reusability of shields. 5. _Unused signal pin conditioning_: When the application does not need all of the available pins from the BECs, then, these pins are left floating, in terms of circuit termination. Each particular MCU explicitly defines the signals conditioning for its unused signal pins. The lack of unused pins management can cause significant problems related to the loss of energy, poor electromagnetic noise immunity, low ESD and EMI performance [86], and application scenario intermittent execution caused by erroneous interrupts activation in the MCU's firmware. The definition of the unused pins level can be done either by enabling the MCU's internal pull-up resistors or by connecting external pull-up or pull-down resistors. In both cases, there are energy balance disorders. On the other hand, there is no provision for the external resistors in the main-boards or in the rest of the expansion shield boards [87]. 6. _Signal routing inflexibility_: There is no mechanism to terminate the route of the BECs signals at the shields level.