A prototype is a preliminary model of something. Projects that offer physical products need to show backers documentation of a working prototype. This gallery features photos, videos, and other visual documentation that will give backers a sense of what’s been accomplished so far and what’s left to do. Though the development process can vary for each project, these are the stages we typically see:
Proof of Concept
Explorations that test ideas and functionality.
Demonstrates the functionality of the final product, but looks different.
Looks like the final product, but is not functional.
Appearance and function match the final product, but is made with different manufacturing methods.
Appearance, function, and manufacturing methods match the final product.
About this project
Home Automation 101
This project started with the challenge to integrate as many Home Automation functions as possible into a Raspberry Pi platform. The requirements were rather simple technically, but challenging due to the sheer number of I/O's required:
Eight relays for zone heating.
Eight relays for zone cooling.
Eight relays for irrigation.
Eight analog inputs for measuring zone temperatures
Eight analog inputs for measuring soil humidity
Eight digital inputs for presence detectors
Sixteen digital inputs for security sensors
An off the shelf solution was possible, but required too many components:
The cost was not the main concern, but the implementation. The first prototype used to develop the software resembled a small jungle.
Raspberry Pi in the lower left corner, two USB IO cards from eBay, two 16 relay boards from eBay also. Needed to add ADC channels, but we ran out of space. So we built the Mega-IO card.
The small tower gives all the relays needed, and more than enough analog and digital channels. It also leaves the Raspberry Pi connector available for another card, if we ever need one.
Technically, the Mega-IO card is not a HAT, because it's form factor is too big - it occupies all the real estate on top of the Pi. In all other aspects is HAT-compliant, so we'll call it an X-HAT (eXpanded HAT).
We developed a command line utility which accesses all the IO functions, available for download HERE.
The easiest way to develop browser software for the Mega-IO card is using the Node Red, a drag and drop visual tool which runs on the Raspberry Pi and can be used for wiring the internet of Things. Click HERE to download a Raspbian operating system image which includes Node-Red and the following examples for accessing Mega-IO functions.
In order to show the Analog to Digital input function, we implemented a heating and cooling thermostat.
The User Interface consists of a text input for setting the target temperature, an analog gauge for displaying the current temperature, a fan switch and an on off system switch.
A status box shows if the system is cooling, heating or on standby.
A thermistor connected to an analog input of the Mega-IO card is used to measure the ambient temperature.
Relays are activated for controlling the fan and the heating and cooling functions.
Multiple thermostat can be implemented using a single Mega-IO card.
3. Reading optically isolated inputs
The workflow consists of an inject node which sends a periodical signal to a function node which in turn sends a command to
the Mega-IO card.
The card response is parsed and displayed by text nodes.
4. Testing the Relays
The Relay Test workflow consist of Button Nodes for turning on and off a relay, and Numeric Nodes for selecting the card stack and the relay number.
Function Nodes are used for storing variables received from the Numeric Nodes and for passing the command line parameters to the Execution node, which in turn is passing the command line to Raspberry Pi.
A debug node is checking for error messages.
The User Interface has buttons for turning the relays on and off, and select boxes for the stack and relay number.
We hope to build a community which develops and shares applications for the Mega I O card. Please join this community by supporting this project and letting your friends know about it.
SIX GPIO pins
Operating voltage: 3.3V
CPU frequency: 16 MHz
Touch sensing capability
Max. input voltage on any pin: 4V
Series protection resistor on IO pins: 51 Ohms
Output Low Level Voltage on I/O pins: Max. 0.45V
Output High Level Voltage on I/O pins: Min. 2.6V
FOUR OPEN COLLECTOR OUTPUTS:
Output Low Voltage: 0.6V
Max Pull Up Voltage: 20V
Max sink per channel: 100mA @ 3.3V Logic Input
140mA @ 5.0V Logic Input
ESD: 4kV HBM, 1kV CDM
EIGHT 12 bit ADC
Sample rate: Up to 1 Msps
Input low pass filter: 0.22µF/51 Ohms
LED current limit resistor: 1 Kohm
Input Forward Current: Typ. 5 mA, Max 50 mA
Input Reverse Voltage: 5V
Input Forward Voltage: 1.25V @ 10 mA
Isolation Resistance: Min 10 exp(12) Ohms
Isolation Voltage: Typ 10,000 V
Relay max current/voltage: 10A/25V
PCB max current/voltage: 2.5A/24V
Risks and challenges
Assuming enough backers are interested, the risk of not completing this project is very limited. All the software is functional, and potential bugs will be easy to deal with. We have under development a boot-loader which will permit updating the firmware either to fix bugs, or to add new features.
We are, of course, counting on China to be able to supply low cost manufacturing. If this trend continues through our promised delivery date, we strongly believe we'll be able to fulfill all orders.
We have room for a few more features on this packed card. Tell us what you want and if a few people suggest it, we'll do our best to add it.
PWM? Timers? Stepper controller? Differential A/D? Other sensors?