DHT22 Slave Board for the Mercury System
SKU 7305-SB330EAN 8219671102261Item type: Assembled, Shields & add-onsIoT (Internet of Things)
Description
| Hardware features | |||||||||||||
![]() |
|||||||||||||
|
|||||||||||||
| Microcontroller features | |||||||||||||
|
|||||||||||||
| Block diagram | |||||||||||||
![]() |
|||||||||||||
| Mercury System | |||||||||||||
| Mercury System (MS for short) is a modular system for developing connettività and IoT applications. The system uses several types of electronic board (logic unit, modem, slave board with sensors and actuators, power boards and so on) together with a complete software framework for building complex applications. Scalability, ease of use and modularity are the key points, and they come from a mixed set of components that let you assemble the system like a model built out of LEGO© bricks.
The set of boards that makes up the Mercury System is organised into the following “families”: • Base Board (BB): This is the “brain” of the whole Mercury System and holds the main logic unit, several communication buses and the connectors for the slaves. It also carries a simple power supply and a charger for a single LiPo cell (enough for the power needs of simpler systems). It comes in different versions, depending on the microcontroller unit used. • Modem Board (MB): this is the board that provides network connectivity. It comes in different versions, depending on the network interface (GSM / GPRS, Wi-Fi, BT, Radio and so on). It is connected to the base board over a dedicated serial line. • Power Board (PB): this is the board that covers the specific power needs of the system, when they arise. They vary according to the power requirement to be met (high power, solar harvesting, piezoelectric harvesting, and so on). • Slave Board (SB): these are the peripherals of the system and vary according to the particular sensor or actuator fitted. Typical examples are SBs with relays, temperature sensors, RGB LED controllers, servo controller, accelerometer, and so on. They talk to the BB over I2C or UART with a dedicated command set. • Expansion Board (EB): these are the boards that allow Mercury boards to be connected side by side. Some versions can carry a display, a battery holder, and so on. • Brain-Less Board (BL): these are the boards without a controller. They generally hold very simple sensors or actuators that do not need the bus interface. They are an alternative to slave boards for applications that have to keep costs down. The Slave Boards and the Modem Boards come pre-programmed with firmware that implements a dedicated command set for high-level control, while the Base Boards carry a software framework that provides all the low-level services (operating system, peripheral drivers, system services, and so on), leaving the user only the application-level logic to write. |
|||||||||||||
![]() |
|||||||||||||
| Mercury System Framework | |||||||||||||
| Mercury System Framework (MSF) is a layered software framework designed to support application development on the Mercury System. It gives the user a complete set of basic functions to interface easily with the Slave Boards (SB) and the Modem Boards (MB), as well as a number of software and infrastructure system services. | |||||||||||||
![]() |
|||||||||||||
| The framework is made up of the following components:
HAL (Hardware Abstraction Layer): the purpose of this layer is to hide the hardware dependencies from the layers above.
OSL (Operative System Layer): this layer is a lightweight RTOS that provides the basic system services, such as scheduling tables for the various tasks, events, software timers, alarms, and so on. |
|||||||||||||
![]() |
|||||||||||||
| The Slave Boards of the Mercury System | |||||||||||||
| The layout of the Mercury Slave boards is standardised, to simplify the interface with the Base Board and to guarantee a high level of modularity and scalability. Every slave board carries an I2C (Inter Integrated Circuit) communication line and a four-position dip switch to set the slave board’s bus address dynamically. Addresses from 0x01 to 0x0F are available for the Slaves, while address 0x00 is reserved for broadcast communication. In this way up to 15 devices can be connected to the Base Board using the dynamic addressing scheme. That number can be increased further by reprogramming the Slave with an address supplied by software. In addition, two open collector digital lines connected to the external interrupts of the base board are provided for slave boards that have to raise asynchronous interrupts. Slave boards that need more bandwidth and peer-to-peer communication can also be interfaced over a further UART channel.
There are several sub-families of Slave Board:
The table below gives some examples for each sub-family:
|
|||||||||||||
| Documentation and useful links | |||||||||||||
Technical details
| Board type | Slave Board (SB) |
|---|---|
| Bus | I²C |
| Addressing | 4 Dip Switches |
| Peripheral description | temperature and humidity sensor input (DHT22) |
| Temperature and humidity sensor | DHT22 |
| MCU | PIC16F1829 main controller board |
| Programmer Connector | Microchip PicKit 3 programmer/debugger connector |
| Microcontroller | PIC16F1829 |
| Memory type | Flash |
| Memory | 14 KB |
| CPU Speed (MIPS) | 8 |
| RAM Bytes | 1,024 |
| Data EEPROM (bytes) | 256 |
| Digital Communication Peripherals | 1-UART, 1-A/E/USART, 1-SPI, 1-I2C1-MSSP(SPI/I2C) |
















