Share this project

Done

Share this project

Done
Raspberry Pi Mega-IO Expansion Card project video thumbnail
Replay with sound
Play with
sound
$14,019 pledged of $10,000 goal
backers
Back this project
Share
Share

All or nothing. This project will only be funded if it reaches its goal by .

By Mihai Beffa
$14,019 pledged of $10,000 goal
backers
Back this project
Share
Share

All or nothing. This project will only be funded if it reaches its goal by .

What is a prototype?

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.

Functional Prototype

Demonstrates the functionality of the final product, but looks different.

Appearance Prototype

Looks like the final product, but is not functional.

Design Prototype

Appearance and function match the final product, but is made with different manufacturing methods.

Production Prototype

Appearance, function, and manufacturing methods match the final product.

Dd67b4fbbf284cc6f9efad4bd1c9ae3c original

Prototype Gallery

These photos and videos provide a detailed look at this project’s development.

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:

Off-the-shelf possible solution
Off-the-shelf possible solution

 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.

Stack of three Mega-IO cards
Stack of three Mega-IO cards

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.

(Alternately, you can download and install Node-Red yourself following the instructions at https://nodered.org/docs/hardware/raspberrypi )

1. Setting the D/A output

 project video thumbnail
Replay with sound
Play with
sound

2. Testing the A/D input

In order to show the Analog to Digital input function, we implemented a heating and cooling thermostat.

Node-red workflow for heating and cooling thermostat
Node-red workflow for 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. 

Thermostat User Interface
Thermostat User Interface

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. 

Opto-inputs Workflow
Opto-inputs Workflow

The card response is parsed and displayed by text nodes.

Opto-inputs Dashboard
Opto-inputs Dashboard

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.

Relay Test Workflow
Relay Test Workflow

The User Interface has buttons for turning the relays on and off, and select boxes for the stack and relay number.

Relay Test Dashboard
Relay Test Dashboard

Source code download

D/A Output;   A/D Input;   Opto-Isolated Inputs;   Relays;

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.

Mega-IO Website
Mega-IO Website

 IO SPECIFICATIONS

MICROCONTROLLER: STM8L151C3T6  
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: 

  • Driver: ULN2003F12FN-7  
  • 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

OPTOISOLATORS: TLP293-4

  • 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

RELAYS: SRD-05VDC-SL-C

  • 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.

Learn about accountability on Kickstarter

Questions about this project? Check out the FAQ

Support this project

  1. Make a pledge without a reward

    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  2. Select this reward

    Pledge $5 or more About $5

    Make a Wish

    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?

    Less
    Estimated delivery
    0 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  3. Select this reward

    Pledge $10 or more About $10

    LED Display Board for Mega-IO Card

    One 32-LED add-on board for your Mega-IO
    Free shipping with your Mega-IO card.

    Please check the project updates for description.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    4 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  4. Select this reward

    Pledge $29 or more About $29

    MEGA-IO Expansion Card

    One fully functional, assembled and tested Mega-IO expansion card for your Raspberry Pi.
    Save $10 off the final retail price.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    Limited (175 left of 200) 25 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  5. Select this reward

    Pledge $34 or more About $34

    MEGA-IO Expansion Card

    One fully functional, assembled and tested Mega-IO expansion card for your Raspberry Pi.
    Save $5 off the final retail price.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    2 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  6. Select this reward

    Pledge $96 or more About $96

    Set of four Mega-IO Expansion Cards

    Full Home Automation set with one card to spare. Save $50 of the final retail price.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    Limited (46 left of 100) 54 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  7. All gone!
  8. Reward no longer available

    Pledge $25 or more About $25

    Early Backer

    One fully functional, assembled and tested Mega-IO expansion card for your Raspberry Pi.
    Save $14 off the final retail price.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    Reward no longer available 200 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.