EthConGateway - LSP/Vixen/DMX/Renard

j1sys

There are no rules, and those are the rules.
Community project designer
Joined
May 19, 2010
Messages
242
Location
Knoxville TN USA
We are proud to announce that EthConGateway was introduced last weekend at Light-Up-Ohio (USA).

EthConGateway is a large original project that includes:

1) A New Open-Source Vixen E1.31 (Streaming DMX over Ethernet) Plugin

2) A New Open-Source/Open-Schematic 10/100Base-T Ethernet 40MIPS 16 bit PIC processor board called ECG-M24H with HTML management and E1.31 processing capabilities

3) A New Open-Source/Open-Schematic 8 Slave RS-485 I/O board with a 40MIPS 16 bit PIC processor PER slave called ECG-DMXRen8 that supports DMX and Renard protocols and cable wiring.

Please see attachments for screen shots and photos of pre-production boards.

All parts of the project are Open-Source/Open-Schematic under BSD Simple licensing. We will be producing printed circuit boards for sale to the community. Both hardware items will be available bare board, kits, or assembled. We recommend considering purchasing the ECG-M24H in assembled form since it required the use of surface mount technology since the chips used in its design are not available in DIP form.

We are currently building up three additional units and sending them off for beta testing with three DIYC members and expect to have production boards and assembled ECG-M24H available on or before 1 Jul 2010.

Costs for the ECG-M24H are expected to be:

$10 USD bare board
$35 USD board + parts
$40 USD assembled and tested unit

Costs for the ECG-DMXRen8 are expected to be:

$15 USD bare board
$20 USD board + base parts needed for the board (power, oscillator, connector)
$30 USD parts per TWO slaves

So an ECG-DMXRen8 board, base parts, and parts for 8 slaves would be $140 USD. One for only 4 slaves would be $80 USD. Add the assembled ECG-M24H and you have $180 USD and $120 USD respectively.

All of these costs are estimates. We hope to get them lower. They could go a little higher if beta testing finds needed revisions that require additional circuitry.

Now some more details on each part of the project:

J1Sys E1.31 Vixen Plugin

An integral part of this project is a new plugin for Vixen 2.1 and 2.5. This plugin allows the user to transmit events via their Ethernet connection to any (subject to testing) E1.31 compliant listener. E1.31 is the ESTA standard for streaming DMX over Ethernet. The plugin has been written from the ground up to natively implement this protocol and does not depend on any other DLLs or modules. It directly uses the Sockets capability of .Net and is written in C#. The plugin is Open-Source under the BSD Simple license and can be used with our hardware or any other E1.31 hardware. It supports an unlimited number of universes and configurations subject only to the memory and processing power of your computer. It is currently limited to a maximum of 9999 events per instance by Vixen but multiple instances of the plugin can be configured. It allows for transmission via Multicast or Unicast (directly to a static IP) as called for in the E1.31 specification.

ECG-M24H

ECG-M24H is a small 10/100Base-T master controller board designed for the E1.31 protocol and control of slave I/O boards. The design philosophy is to use this board to communicate via HTML for configuration and via UDP for packet reception/transmission. The board includes a powerful PIC24HJ256GP206A 16 bit processor with 256KB of flash and 16KB of RAM. An additional 1MB of flash is supplied in an external SPI flash chip for HTML and configuration storage. It uses an ENC624J600 Ethernet controller chip and communicates with that chip in Parallel Master/Slave mode for speed. The board includes an onboard 3.3V LDO regulator, indicator LEDs, and option jumpers. An ICSP connector is provided for firmware updates. We expect to include a TFTP updating capability in future releases but initially it will require a PICkit 2, PICkit 3, or ICD 3 for updating the firmware.

All software is written in Microchip C30 and can be compiled with the free student/evaluation version of the compiler. All code is currently in C. In future some of the interrupt handlers may be optimized in assembler if needed. The software uses Microchip's free TCP/IP stack. The HTML, CSS, and Javascript needed to operate the system are all included.

Connection to our slave boards is through two 2x8 .100in connectors. These connectors bring 15 unbuffered signals from the processor to the outside world as well as interleaved grounds, 5VDC, and 3.3VDC. As used for our ECG-DMXRen8 boards the signals are configured as 8 slave select lines and the 3 signals (SCLK, MISO, MOSI) for a 9Mbps SPI connection. Initially the boards were built with 2x8 headers that require ribbon cables to connect to the slave board. We will be providing them with headers on the top of the board or with sockets on the bottom of the board so the user can either connect via cables or mount the board as a daughter board on top of their slave board. Our ECG-DMXRen8 is being redesigned for the top mounted daughter board model.

The 15 unbuffered signals can be used by other board designs by us or other people in the future for any applicable interface needs. When we publish our initial schematics you will be able to see the signals available. Care will be needed in designing your board. Most of these signals are 3.3V levels and can only drive minimal loads. Level conversion or buffering would be supplied on the slave board. We hope to work with other people to develop more slave boards for things like RGB LED panel driving etc that could benefit from an Ethernet connection with the capability of supplying over 12 universes (6,144 slots) of data at a 25ms update rate. It could do more but we have tested it at this level for hours with little or no UDP packet loss in a noisy Ethernet environment. If more power is needed we will be developing a 32 bit version (ECG-M32MX) in the future that will be footprint compatible.

The software currently supports E1.31 reception. We will be adding Art-Net II support as well as E1.33 RDM support as it becomes available. Other protocols can be supported as needed.

Power is supplied as either 5VDC or 3.3VDC at either a terminal strip or through one of the slave connectors. If supplied on the 3.3VDC terminals the onboard LDO regulator should be disconnected via jumpers. Measured power usage is approximately .25amp @ 5VDC. This is easily provided by inexpensive wall-wart power supplies.

ECG-DMXRen8

Our ECG-DMXRen8 board is a slave board that can contain up to 8 DMX/Renard slaves. With software updates it should be able to support any RS-485 protocol. Each slave is a dedicated 40MIPS 16 bit PIC128GP202 processor with 128KB of flash and 8KB of RAM. Configuration and universe data is sent to the slaves via a 9Mbps SPI connection. Each slave then independently controls a single RS-485 connection and transmits the data out an RJ-45 connector using the configured protocol and speed to the attached controllers. The hardware includes jumpers to configure the RJ-45 to the DMX or Renard cabling specifications and to enable/disable a terminator and an RDM biasing circuit. Also included is a 1x8 terminal strip next to the RJ-45 connector. This can be used it inject additional signals on unused wires in the cable or for hardwired connection to a different connector or directly to a cable. In our example photo we used this to inject 5VDC on pin 3 to supply power to some modified Renard SS-8 boards for testing.

Even though all chips are mounted in machined sockets we have include ICSP connectors next to each slave. Initial firmware updates will require a PICkit 2, PICkit 3, or ICD 3. We expect to allow remote firmware update via HTML screens on the ECG-M24H in a future release.

All software is written in Microchip C30 and can be compiled with the free student/evaluation version of the compiler. All code is currently in C. In future some of the interrupt handlers may be optimized in assembler if needed.

The current software supports DMX at 250Kbps or Renard at 9.6Kbps, 19.2Kbps, 38.4Kbps, 57.6Kbps, or 115.2Kbps. The hardware is capable of transmitting or receiving RS-485 and the software will include full Remote Device Management (RDM) in a future release.

Power is supplied as either 5VDC or 5VDC and 3.3VDC. If 3.3VDC is supplied then the onboard LDO regulator should be disable with jumpers. Observed power usage is approximately .75amp @ 5VDC. If supplying the ECG-M24H through the 2x8 header the total usage would be approximately 1amp @ 5VDC.

The initial production release will be rearranged from the current board to mount the ECG-M24H as a daughter board rather than connect via ribbon cables.

Release Information

We expect to release all source code and schematics by the end of May 2010 with boards available by the end of June 2010.

We are also in discussions with other lighting control software authors to provide E1.31 plugins for other systems. Please contact us with information on lighting software that you would like to see supported.

Please watch this thread or visit our website www.j1sys.com for further updates.

-Ed

Edward D. Bryson
Joshua 1 Systems Inc.
Knoxville TN USA
 

Attachments

  • VixenPlugin.png
    VixenPlugin.png
    185.4 KB · Views: 97
  • HTMLMain.png
    HTMLMain.png
    417.2 KB · Views: 100
  • HTMLConfig.png
    HTMLConfig.png
    492.5 KB · Views: 90
  • HTMLSlaveStats.png
    HTMLSlaveStats.png
    368.5 KB · Views: 72
  • MasterSlave.png
    MasterSlave.png
    1.7 MB · Views: 250
Re: Vixen/DMX/Renard EthConGateway

This looks awsome, This is exactly the type of hardware that will be needed to help take this hobby to the next level. Some great advancements this year. Cant wait to see what people do with these advancements at the end of the year when its show time.
 
Re: Vixen/DMX/Renard EthConGateway

Ed

As i said over at DIYC, this is an awesome step forward. It is a direction I was heading in for next year and you have now solved a major development effort.
I'm not one for re-inventing the wheel and look forward to working with you to promote and utilise this to it's best. The oppurtunities are limitied only by imagination and mine is already working in 2011-2012 season.

This allows for the easy implementation of what i would term Extreme Channel Count (ECC) Controllers and displays.

Whilst we are purely DMX I also recognise the huge benefit it brings to the Renard platform.

Cheers
Phil
 
As the thread name now says - it is for LSP or Vixen now!!!

David has announced that LightShow Pro now has a plugin for E1.31. We expect he will be beta testing it with some of you high channel count users. Expect more news on that soon.

We've released initial source code for the Vixen Plugin and the initial schematics for both the master and slave boards.

We've also made two tutorials that you can view. They are self contained flash movies and need to download fully before the display starts. We suggest right-clicking on the link and saving the file on your computer for viewing at your leisure.

We are working very hard to have initial production quantities of the boards available on or before 15 July 2010. So keep an eye out for more news.

-Ed

http://www.j1sys.com/Tutorials/Vixen/J1SysE131_Vixen_Install.swf

http://www.j1sys.com/Tutorials/Vixen/J1SysE131_Vixen_Config101.swf
 

Attachments

  • J1SysE131_VixenPlugin_v1_0_0_1.zip
    735.7 KB · Views: 46
  • ECG-M24H-sch-prelim.pdf
    57.7 KB · Views: 37
  • ECG-DMXRen8-sch.pdf
    177.5 KB · Views: 32
This is great news for the community especially now that there is a cheap rersource for pixel lighting out of China. Channel counts are about to explode. (shame i already ordered 2 of RPM dongles)
 
I want to point out that this is a solution that was designed to meet its own goals. As a gateway to slower (250kbps for DMX and less for Renard) serial protocols there is an inherent 8 universe at 25ms update design criteria. We believe we've met that and done a lot of load testing at 150% to assure that we have the head room for final tuning. I just don't want to get people's expectations too high that they can use this to move 100s of universe at high update rates. I'm targeting the above update needs or a faster update but for only 2-4 universes for a dedicated controller.

We hope to release the preliminary source code for the ECG-M24H and ECG-DMXRen8 next week for study. Again it is tailored to its design needs and can be reworked or enhanced for other uses. So far we are only doing some simple interrupt and state driven machines streamlined to its environment. The processors we chose include other features (including DMA) that we expect to make use of to enhance throughput in the future.

-Ed
 
fathead45 et al -

I know I've been a little quiet. Things are progressing rapidly. I have had a few design problems with the ECG-M24H that did not show up until I tried to build up 4 beta units. With the help of AussiePhil (thanx Phil) I think I have them all ironed out.

I turned over a first set of beta boards to Beta #1 on Thursday. I am doing final testing on a second set right now and expect to express ship on Monday to Beta #2 (AussiePhil). Knowing Phil's testing skills I expect to get a LOT of feedback real soon.

Even before getting their feedback I've already rolled all the observed hardware solutions into a new set of boards, reviewed them with Phil, and am placing a rush order for Qty 10 of a pre-production / gamma run to be ready ASAP. I am hoping by my target of 15 July 2010. I will test those boards in house and then ship them to 8 lucky pre-production buyers. They will have to pay for them but will get some added bonuses, replacements if hardware problems occur, and if really needed their money back (less shipping).

Then if all these appear to be functioning I will email the factory and get Qty 40 made by the end of July for shipment to customers. Larger quantity orders will be placed in August as needed.

At the same time I've been ironing out the fine points on the software and still have some work to do on that. But getting the hardware to work first time, every time is the focus for now. I can make 1000s of software changes in a very short period of time. But if I don't get the hardware right, software can't fix it.

I hope everyone is still excited. I know we will have large quantities available by early August and will be rolling out other board designs there after.

I know you don't have a track record with me to look at but please look at the quality of the Vixen plugin design as an example of my skill sets and know that we will have these units ASAP with plenty of time for this holiday season.

-Ed
 
Ed

Thanks for the update, i've let a couple of small updates out in the chat room :)

In working with Ed i believe we can all expect a high quality product that works as expected and a willingness to resolve any issues if they arise.

I would also like to publically thanks Ed for the huge amount of time and energy expended already to get this far and with the barest of glimpses at the future let me say it looks extremely bright.

Cheers
Phil
 
I would also be willing to buy a pre-production board if you need. Thanks Ed for doing this, looking forward to not having to use a whole lot of USB dongles. :D

Ryan
 
Alec

From everything that I have read, a fully populated ECG-DMXRen8 would control 4096 channels so 64 x ren64 boards.

Ed gave estimates for pricing in his first post.
 
Alec

I'm sure Ed will chip in if i'm wrong.....

I would say that the practical limit will depend on Ren firmware used. If it is the Classic Serial firmware then you will be limited on any one Ren daughter board to the limits imposed by the serial protocol stream versus time interval/data rate.
That is x channels at 56k at 25ms timing or y channels at 112k at 50ms timing etc.

If using the DMX firmware then DMX limits apply.

Phil
 
Let me see if I can answer all questions:

Simple Price: Approx $180 for assembled ECG-M24H and full kit to build 8 channel ECG-DMXRen8

Now for the fun: how many controllers can I attach?

Electrically (per slave, so multiply times 8 ) :

DMX should be 1 universe (512 channels), but could be 4 universes (2048 channels) with custom software. How??? you could use custom start codes and send 4 (or more) universes over a shared bus. remember this is open source. so you can do stuff like that. of course you couldn't do this with 25ms update rate.

Renard can be up to 1024 channels (so 64 x 16)

BUT!!!! - throughput is a different animal

DMX would be 1 full universe per approximately 25ms. With overhead and latency it may be REAL tight at 25ms and you may have to crank it up to 30ms. of course you should only use a full universe when you really need it. you should size your universe to your data. Example: 4 TigerDMX 120 would only need 480 channels so that would save 7% of throughput and allow for protocol latency.

Renard gets a little trickier. you have to refer to the usual charts of maximum throughput for a given refresh rate vs. a given baud rate. for simple math i use a guideline of 128 channels at 25ms update at 57600 and scale from there. if you are using 50ms and 115200 speed then you could do 512 channels.

All of these numbers are best guess estimates. There is a chance in a fully loaded system that the 1 or 2 ms of overhead latency may require a minor adjustment to accomodate. But I am confident you can pass 4096 channels of throughput at close to 25ms refresh rate with little or no packet loss or overruns. if you run smaller universes (let's say 16 TigerDMX 120, 2 per slave) then you could probably even crank refresh rate up to 15ms!!!

So, I know I've probably confused you more. But the answer is there are MANY parameters to take into account and your mileage may vary. I don't think it will ever be less than the throughput you could achieve with an equivalent number of USB dongles.

As the wandering wise man said on Fraggle Rock: There are no rules, and those are the rules.

-Ed
 
A question from the renard side of things. Since we are not limited by vixen is there any chance of upping the maximum baud rate transmitted to the renard controllers? I think the simple renard code would be able to do 250K for example.

im guessing being pic to pic the errors are almost eliminated as we can be both at the exact speed needed.
 
Back
Top