Building Automation 8-Layer Stackable HAT for Raspberry Pi
Bring all the IOs needed for building automation systems to the Raspberry Pi. Eight universal inputs can be software-selected to process 0-10V signals, read 1K or 10K temperature sensors, or dry contact counters. Four TRIAC outputs can drive loads up to 1A at 24VAC. Four 0-10V outputs can control light dimmers. Status LEDs display the state of all outputs. Use the Real Time Clock with battery backup to keep time indefinitely even during power failure. Connect up to 16 DS18B20 temperature measurement devices on the 1-Wire interface. Activate the hardware watchdog to monitor and power cycle the Raspberry Pi in case of software lockup. TVS diodes on all inputs protect the card from external ESD, and the on-board resettable fuse protects it from accidental shorts.
Driving Additional Loads:Â Adding one or more 4-RELAYS cards can drive heavy loads of up to 8A and 250VAC. Adding one or more 8-MOSFET cards can drive high DC loads of up to 10A and 250V, with fast response time and unlimited endurance.
1-Wire Interface:Â The latest version of the HAT also has a standard 1-Wire interface. Up to 16 DS18B20 temperature measurement devices can be connected in parallel. Devices can be accessed from the command line or the MODBUS interface.
Compatibility:Â The card shares the I2C bus using only two Raspberry Pi’s GPIO pins to manage all eight cards. This feature leaves the remaining 24 GPIOs available for the user. The card is compatible with all Raspberry Pi versions from Zero to 5 and has all the necessary I/Os for your Building Automation projects.
Power Requirements:Â The card requires a 24VAC/1A external transformer to operate and must be powered from its pluggable connector. It supplies 5V and 3A to the Raspberry Pi on the GPIO bus. A local 3.3V regulator powers the rest of the circuitry. The card needs 50mA to operate.
Pluggable Connectors:Â All the IOs are connected to heavy-duty (8A), 3.5mm pitch pluggable connectors, which make field wiring very convenient for installation and debugging.
DIP Switch Configuration:Â If multiple cards are used, a six-position DIP switch selects the source of the RS485 port and the card’s position in the stack.
Stacking Multiple Cards:Â Up to eight cards can be stacked on your Raspberry Pi. The three positions of the configuration DIP Switch, labeled ID0, ID1, and ID2, select the stack level. Cards can be stacked in any order.
RS485/MODBUS Port:Â The card has an RS485 port that can be driven from the Raspberry Pi or the local processor. Leave the TX and RX switches OFF to connect the port to the local processor. Set both to ON to connect to USART1 on the Raspberry Pi GPIO connector. When DIP Switches are ON, Raspberry Pi can communicate with any device with an RS485 interface. In this configuration, the card is a passive bridge that implements only the hardware levels required by the RS485 protocol. To use this configuration, you need to tell the local processor to release control of the RS485 bus:
~$ megabas [0]Â rs485wr 0 0 0 0 0
When DIP Switches are OFF, the card operates as a MODBUS slave and implements the MODBUS RTU protocol. Any MODBUS master can access all the cards’ input sets and all the outputs using standard MODBUS commands. A detailed list of commands implemented and parameter addresses can be found on GitHub:
In both configurations, the local processor must be programmed to release (jumpers installed) or control (jumpers removed) the RS485 signals. For further information, see the command-line online help.
RS485 Terminator:Â The RS485 line terminator is the last position on the DIP switch. If the card is last on the RS485 chain, set it to ON.
Card Layout
Electrical Specifications
- Power supply:Â 3.5mm Pluggable Connector, 24V/1A
- Power consumption: 50mA @ 24V
- On board resettable fuse: 1A
- 0-10V Inputs:
- Maximum Input Voltage: 12V
- Input Impedance: 20KΩ
- Resolution: 12 bits
- Sample rate: 500 sps
- Full scale linearity: 0.15%
- Contact closure inputs max. frequency: 100Hz
- 0-10V Outputs:
- Minimum Output Load: 1KΩ
- Resolution:Â 0.1%
- Full scale linearity: 0.1%
- Triac Outputs;
- Maximum Output Current: 1A
- Output Voltage: 24VAC
Mechanical Specifications
Features
- NEW:Â Software selectable Universal Inputs. No DIP Switches!
- NEW:Â Redesigned 24V step-down delivers up to 5V/5A to Raspberry Pi
- Eight Level Stackable
- Works with any Raspberry Pi from ZERO to 5
- Eight Universal Inputs:
- 1K or 10K thermistors
- 0-10V analog inputs, 500Hz sample rate
- Dry contact/counter inputs
- Four AC TRIAC Outputs, 1A/24VAC
- Four 0-10V Outputs
- 1-Wire interface
- Four General-Purpose LEDs
- 24VAC or DC Power Supply
- Real Time Clock with Battery Backup
- On board Hardware Watchdog
- TVS protection on all Inputs
- Software configurable universal inputs
- Pluggable Connectors 26-16 AWG wires
- Status LEDs on all Digital Inputs and Outputs
- RS485/MODBUS Port with dual connectors
- Uses only I2C port (address 0x48 to 0x4f), all GPIO pins available
- ECCN Code EAR99
- Building Automation for Raspberry Pi
- All mounting hardware included: standoffs, screws and nuts
- Open source hardware and schematics
- Command line
- Python Library
- Node-Red nodes
- CODESYS driver
- OpenPLC module
- Home Assistant Integration
Building Automation Downloads
- Schematic V3.0
- Schematic V4.1
- Schematic V4.2
- Schematic V5.1
- 2D CAD drawing
- 3D STEP Model
- User’s Guide V3
- User’s Guide V4
- Command Line
- Python Library
- Node-Red nodes
- MODBUS interface
- CODESYS driver
- Home Assistant Integration
- RoHS and REACH Compliance Declaration
Software
Selecting The Universal Inputs
The default setting of the Universal Inputs is 0-10V. To change it:
- Make sure you have the latest software installed, and instructions in the readme
- Run the command “megabas 0 incfgwr <channel> <value>“, where
- channel = 1-8
- value = 0 for 0-10V, 1 for 1K Thermistor, 2 for 10K Thermistor
- value = 1 for Dry contact/Counter
For more info on the commands, type “megabas -h incfgwr” and “megabas -h incfgrd”
Software Interfaces: You can write your application using the Command Line or Python Libraries provided. No programming is required if you use the Node-Red nodes provided. You can drag-and-drop the functional blocks to design your application. Examples are provided at GitHub. CODESYS drivers are also provided.
Field Calibration:Â All the analog inputs and outputs are calibrated at the factory, but firmware commands permit the user to recalibrate the board or to calibrate it to better precision. All inputs and outputs are calibrated at two points; select the two points as close as possible to the two ends of the scale. To calibrate the inputs, the user must provide analog signals. (Example: to calibrate 0-10V inputs, the user must provide a 10V adjustable power supply.) To calibrate the outputs, the user must issue a command to set the output to a desired value, measure the result, and issue the calibration command to store the value. The calibration process can be done using the command line interface provided; type “megabas -h” for a complete list of command options.
Hardware Watchdog:Â The card contains a built-in watchdog that guarantees that your mission-critical project will recover and continue running even if the Raspberry Pi software hangs up. After powering up, the watchdog is disabled and becomes active after it receives the first reset or first period set. The default timeout is 120 seconds. Once activated, if it does not receive a subsequent reset from the Raspberry Pi within 2 minutes, the watchdog cuts the power and restores it after 10 seconds.
Raspberry Pi must issue a reset command on the I2C port before the watchdog’s timer expires. The timer period after power up and the active timer period can be set from the command line. The number of resets is stored in flash and can be accessed or cleared from the command line. The online help function describes all the watchdog commands.
Firmware Update: A command can update the card firmware in the field. The update is made with the latest firmware version located on our servers. More instructions about the process can be found on GitHub. Please make sure there is no process, like Node-Red or Python scripts, that tries to access the card during the update process.
It Includes:
When you purchase the Building Automation Card, you will receive the following items:
Building Automation Card for Raspberry Pi
Mounting hardware
- Four M2.5x18mm male-female brass standoffs
- Four M2.5x5mm brass screws
- Four M2.5 brass nuts
All required connector plugs
- Four 8-pin female mating connector plugs for IOs.
- One 5-pin female mating connector plug for RS485 and 1-Wire.
- One 2-pin female mating connector plug for power.
Quick Start
- Plug your card on top of your Raspberry Pi and power up the system
- Enable I2C communication on Raspberry Pi using raspi-config.
- Install the software from github.com:
~$ git clone https://github.com/SequentMicrosystems/megabas-rpi.git
~$ cd /home/pi/megabas-rpi
~/megabas-rpi$ sudo make install
~/megabas-rpi$ megabas
The program will respond with a list of available commands.
Reviews
There are no reviews yet.