NGConnect 0.3

It’s now with gray-coded encoders support on board. Sample config is included in package. Encoder’s common must be connected to the GND pin while A & B channels to successive digital pins (in example config – pins 6 and 7). Put first of two pins in configuration and never use other pin for any other inputs/outputs (anyway it’s not available physicaly).

Download it here

If you start with this version you still need to read installation manual here

Feedback is always highly appreciated.

NGConnect 0.2

First public release of NGConnect is available now.

Download here

Few words about this release

First of all, it’s still deep beta. Software can operate only as IOCP server now and it can be used with ProSim:737 and any other software, which has client abilities. FSUIPC is deeply experimental.

Arduino firmware now includes partly implemented ethernet support, but host software does not. So it’s useless and disabled by default.

Quick start

First of all you need to upload firmware into Arduino board. In my project I use Mega2560. I think, it will also work on Due (I have now one on order, will test soon). Uno requires some memory tweaking.

Download Arduino IDE 1.0.x, install it and open INO file from NGConnect folder. Select Board and Port under Service menu and upload firmware. Firmware will compile with IDE 1.0.x (tested with 1.0.5) only.

Please note that I’ve placed 3rd party LedControl library in project folder to avoid additional installation routines. If you have already installed LedControl, simply remove LedControl.h and LedControl.cpp from project directory.

NGConnect is built for .NET 3.5. Normally it will work under Windows 7 and higher without any extra downloads. For XP and Vista you may need to get .NET Framework 3.5 from Microsoft’s website.

I have included simple configuration file in archive. You’ll find there examples of IN, OUT and ANALOG variables. Theese types can be used without any extra circuity, so you can simply connect your switches and leds to all 54 pins of your board.

IN type uses internal PULLUP’s, so you don’t need to use any external resistors. All you need to do is to connect your switch between necessary pin and GND.

Sample config includes script for ANALOG pin variable, that converts 10K resistor value to 0…250 range.

About modules

Modules is very special feature, that I designed firstly for my project. Each module prototype is associated with physical configuration. You can’t just create new configuration under modules directory – it must be also supported in firmware. Under Modules page you can create custom configuration (pinouts) for each of 4 currently available prototypes.

SHIFT OUT is for shift registers. I use 74HC595 paired with ULN2803. This allows me to use just 3 Arduino board pins for lots of outputs (my MCP has 24 outs using 3 ICs).

7-SEG DRIVER is for MAX7219 ICs – very efficient driver for 7-segment displays.

MCP23S17 INPUTS is for MCP23S17 IC, that is used for inputs only in this configuration. You can use up to 8 ICs on device selection pin.

ROTARY ENCODERS is based on ATTINY2313 with custom firmware.

Connect with IOCP client

Use port 8811 to connect.

Routing Software

I’ve started routing software project when decided to use Arduino’s as IO. The main goal is to make software/firmware bunch as flexible as it’s possible.

When I’ve finished MCP it became easier to brush up software as I got huge testing facility.

NGConnect (draft software title) provides linkage between two desinations: hardware and software. That’s base concept. Nevertheless it allows virtually to link many sources and destinations of different types using built-in JavaScript support.

It has four standart types for variables: IN (hardware input), OUT (hardware output), ANALOG (analog input) and PWM (analog output). It also has (at the moment) four predefined configurations for hardware modules: ENCODERS, SHIFTOUT, MAX7219 and MCP23S17 (all of them are used in my MCP and will be used in further cockpit hardware).

Modules Page
Modules Page

New hardware module configurations may be added as simple XML files. But also they must be supported by Arduino firmware.

For hardware link is now supported serial communication only. Later I plan to add TCP/IP support.

For software IOCP (fully) and FSUIPC (partly) are supported.

As I already mentioned above, NGConnect supports JavaScript. Custom scenario can be assigned for each variable.

Dimmer Scenario
Dimmer Scenario

The above scenario takes value from 10K pot and converts it to PWM value which range is 0..255 and 7-segment display dimming value which range is 0..15.

The software is now in deep alpha stage. However do not hesitate to contact me if you’d like to test it for you application.