Remote I/O Expansion Board

rioThere is massive production of cheap and miniature ARM based Linux/Android computers and tablets within past years. Devices are usually based on Allwinner, Rockchip, Samsung or other ARM platforms. They have HDMI and audio output, audio input, USB-A, USB-OTG, RJ45 connectors and WiFi or Bluetooth connectivity. They are powerful and fully operational Linux/Android systems. Mainly used for entertainment or as a smart TV centers. Smart phone devices falls into this category too.

But can they be used for something more interactive than gaming, film watching or making calls? And answer is “Yes, they certainly can!”

ARM – RIO expansion boards

ARM-RIO is family of expansion I/O (Input/Output) boards to increase flexibility of small or big embedded devices based on Win/Linux/Android/MacOS operation systems. Our aim is to increase professional usability, put more fun into it and allow parents to fulfill dreams of their technically talented kids.

When I was small kid playing with Atari 800XL I always wanted something more than Donkey Kong, Boulder Dash or PacMan. I wanted to program real stuff, I wanted toggle multiple LED, close relays, read push buttons. Atari Basic and Parallel port was answer that time. 

Today technology is far, far ahead, more accessible and economical. We want to start hardware and software Open Source project called ARM-RIO – Remote Input/Output for ARM based computers and the rest… Our target is to develop stand alone Remote Input/Output modules, with different functionality which can be connected to ANY control hardware like PC, tablet, phone, laptop, etc.

Every module will have DC/DC converter to accommodate wide range of power supply voltage from +12V to +24VDC and additional functions, dependent on type of the module.

ARM – RIO how it works

Each module could be connected to laptop, tablet, phone, PC, router, etc. via WiFi (wireless), Ethernet RJ45 port, USB port or COM port. User program (example snippets or code made by you) running on computer will take care of module control, relays, LED, read buttons, temperatures, etc. Very wide functionality of this solution is limited only by your imagination.       

For people with low technical background, easy control interface is provided. And this interface is WWW. Each module is able to act as embedded HTTP server and can be easily accessed from your favorite WEB browser. All you need to do is to type module address into web browser. It is simple like that. One mouse click will change relays on module or read actual temperature & humidity data form your green house for example. If module will be connected to public WWW address, then you can control/monitor stuff in your home from other side of the globe… Exciting, isn’t it?

ARM – RIO first board - RIO-8800-WIFI

To start with, one control board was developed so far as concept proof. Configuration of board is 8xDI (digital input)-isolated, 8xDO (digital output)–isolated with relay, WiFi connection, RS232 and +24VDC power supply input.

Board is fully equipped, stand alone remote I/O module with wireless communication towards control machine. Core is running WEB or TCP/IP server for connection to arbitrary computer or Modbus TCP server for connection to industrial grade control HMI (Human Machine Interface) unit like Proface, Omron, Siemens, Maple, Schneider, etc.

There are roughly 15 different boards in pipeline, if project will be successful. Each board will cover particular functionality (digital Inputs like buttons, switches, digital outputs like Relays, LED, Analog values like Voltage, Current, Temperature, Humidity, Pressure, etc.) Preferred configurations will be open for discussion and can be easily changed as per response from our user forum.

Digital I/O and power specification - RIO-8800-WIFI

8 x DI – +5…+24VDC galvanic isolated, opto couplers
8 x DO – +24VDC    galvanic isolated, relay (max. load 230VAC/3A)
Power  - +24VDC
Comm   - Wifi / RS232

Communication support

RIO-8800-WIFI module will support either Generic TCP/IP server, Modbus TCP or HTTP server. Possibility exists that all of them will be supported at the same time. Embedded RS232 port for general use is included too.

In future products we are planning to extend communication interfaces. Plan is to integrate RS232/485, CAN bus, HID USB, together with WIFI or RJ45 Ethernet. Galvanic isolated interfaces will be also available if needed. 

Modbus and CAN bus protocols were chosen as they are industrial standards. Basically any additional Control Module can be connected to ARM-RIO to extend its own I/O range.

Software support

Win/Linux/Android code snippets or full examples for each module will be provided to public domain. Language used will be Visual C/C++/Basic and maybe Lazarus Pascal or others. Android code examples for each module will be will be available at Android Market for free.

Source code in C will be also available for each module. Advanced user can make his own control program and run even module as stand alone control or monitoring unit or PLC if you will. In this configuration Generic TCP/IP client or Modbus TCP client will be running on board, so module will be able to act as Master and read data from other ARM-PLC modules configured as slave and connected to the same network. Possibilities are wide open.

Board installation – RIO-8800-WIFI

Connect power supply cable to module, power it up, wait for module to get DHCP address from your router, start WEB browser, Android app or code examples provided and have a fun! If you want to configure your board with static IP address or different name, RS232 tool will be available.

rio-8800-bot

Video examples:

1. RIO + Http server
2. RIO + General TCP server
3. RIO + HMI + Modbus TCP server
4. RIO + Linux/Win/Android connection
5. RIO + PLC function
6. RIO + PLC function Server/Client