<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ElectricRock Blog &#187; Control 16</title>
	<atom:link href="http://www.electricrock.co.nz/blog/tag/control-16/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.electricrock.co.nz/blog</link>
	<description>Electronic Ramblings</description>
	<lastBuildDate>Tue, 10 Aug 2010 03:37:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Control 16 Firmware Replacement</title>
		<link>http://www.electricrock.co.nz/blog/2009/10/control-16-firmware-replacement/</link>
		<comments>http://www.electricrock.co.nz/blog/2009/10/control-16-firmware-replacement/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 01:26:56 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[at89s52]]></category>
		<category><![CDATA[Control 16]]></category>
		<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://www.electricrock.co.nz/blog/?p=64</guid>
		<description><![CDATA[As I have mentioned in my previous posts about the Ensoniq Control 16, it is a DAW control surface designed to interface to proprietary DAW software via a proprietary PCI card.  As I have the C16, but not the PCI card, I have been working on reverse engineering the interface so that I can build [...]]]></description>
			<content:encoded><![CDATA[<p>As I have mentioned in my previous posts about the <a href="http://www.electricrock.co.nz/blog/tag/control-16/">Ensoniq Control 16</a>, it is a DAW control surface designed to interface to proprietary DAW software via a proprietary PCI card.  As I have the C16, but not the PCI card, I have been working on reverse engineering the interface so that I can build a USB adaptor for it and use it with my PC.</p>
<p>I have previously written about how I built an RS-232 adaptor for the Control 16, but this alone did not allow me to communicate with the Control 16 as I did not know its communication protocol. As I did not have the PCI card to act as a master and provide something for the C16 to communicate with, I was not able to sniff the communications and reverse engineer them. My solution instead was to replace the firmware running on the C16&#8217;s microcontroller with one that I custom wrote, and which used my own communication protocol.</p>
<p><span id="more-64"></span></p>
<h3>Control 16 Architecture</h3>
<p>The Control 16 is based around an Atmel AT89C52 microcontoller.  I replaced this with an AT89S52 for development as I could then use its in-circuit serial programming feature.  Using a multimeter I traced some of the connections between the microcontroller and other ICs on the board, and inferred the rest.  The result was that I was able to map out a block diagram of the mainboard, as shown below.</p>
<div id="attachment_65" class="wp-caption alignnone" style="width: 560px"><a href="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/10/c16-blockdiagram.png"><img class="size-large wp-image-65" title="C16 Block Diagram" src="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/10/c16-blockdiagram-1024x791.png" alt="Control 16 Architecture Block Diagram" width="550" height="423" /></a><p class="wp-caption-text">Control 16 Architecture Block Diagram</p></div>
<p>I&#8217;m not going to go into a lengthy explanation of the architecture unless there is someone out there who it&#8217;s useful to, so if that is you then post a comment and let me know.</p>
<h3>Firmware Replacement</h3>
<p>I developed the firmware replacement using the <a href="http://sdcc.sourceforge.net/">SDCC</a> toolchain.  I have released the code under the GPL v3 license in case it may be of use to anyone. It can be downloaded here: <a href="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/10/c16firmware.zip">C16Firmware</a>. <i>Please not that there is a bug in the current version of the firmware code.  I will update it at some point, if you need it sooner let me know.</i></p>
<p>This firmware detects events from the sliders, buttons, jog wheel, and rotary encoders (though these have issues) and transmits their values via the serial port. It is also allows the values of the LEDs to be set via commands received on the serial port. So all-in-all it is almost fully functional.  The communication protocol is a fairly simple text-based protocol.</p>
<p>Now that the firmware is completed, the next stage in my C16 project is to develop software that runs on the host PC and converts between the simple text based protocol of the C16, and some other midi control protocol that can be used by DAW software.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.electricrock.co.nz/blog/2009/10/control-16-firmware-replacement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ensoniq Control 16 RJ-45 Connector Pinout</title>
		<link>http://www.electricrock.co.nz/blog/2009/09/ensoniq-control-16-rj-45-connector-pinout/</link>
		<comments>http://www.electricrock.co.nz/blog/2009/09/ensoniq-control-16-rj-45-connector-pinout/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 03:59:04 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Informational]]></category>
		<category><![CDATA[Control 16]]></category>
		<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://www.electricrock.co.nz/blog/?p=60</guid>
		<description><![CDATA[As I stated in my first Control 16 post, the C16 is meant to connect to a proprietary Ensoniq PCI card (which I don&#8217;t have.)  So instead I have been reverse engineering the C16 interface so that I can convert it for use with my PC.  The C16 has two connectors on the back a [...]]]></description>
			<content:encoded><![CDATA[<p>As I stated in my <a href="http://www.electricrock.co.nz/blog/2009/08/ensoniq-control-16-undressed/">first Control 16 post</a>, the C16 is meant to connect to a proprietary Ensoniq PCI card (which I don&#8217;t have.)  So instead I have been reverse engineering the C16 interface so that I can convert it for use with my PC.  The C16 has two connectors on the back a 1/4&#8243; jack, which is used to connect an optional footswitch; and an RJ-45 connector, which is proprietary.  Both connectors are mounted on a board called <em>PWR/SER_I/F</em>.</p>
<p><span id="more-60"></span></p>
<div id="attachment_27" class="wp-caption alignnone" style="width: 310px"><a href="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/08/control16-3.jpg"><img class="size-medium wp-image-27" title="Control 16 #3" src="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/08/control16-3-300x207.jpg" alt="Control 16 Regulator/IO Board" width="300" height="207" /></a><p class="wp-caption-text">Control 16 Regulator/IO Board</p></div>
<p>The pinout of the RJ-45 connector is as follows (pin 1 is on the left when looking into the connector, therefore on the right in the photo above):</p>
<table border="0">
<tbody>
<tr>
<td>1</td>
<td>RS-422 data in (+)</td>
</tr>
<tr>
<td>2</td>
<td>RS-422 data in (-)</td>
</tr>
<tr>
<td>3</td>
<td>RS-422 data out (+)</td>
</tr>
<tr>
<td>4</td>
<td>+12v</td>
</tr>
<tr>
<td>5</td>
<td>GND</td>
</tr>
<tr>
<td>6</td>
<td>RS-422 data out (-)</td>
</tr>
<tr>
<td>7</td>
<td>GND</td>
</tr>
<tr>
<td>8</td>
<td>+5v</td>
</tr>
</tbody>
</table>
<p>While the above pinout may appear a little random at first glance, when using standard CAT5 cable it means that the pairs are RS422 in; RS422 out; +5v and GND; and +12v and GND.</p>
<p>Here is a schematic for a RS422 to RS232 converter, similar to what I am using myself (though I have been providing power from a lab power supply at this stage.)</p>
<div id="attachment_61" class="wp-caption alignnone" style="width: 310px"><a href="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/09/c16-serial-adaptor.png"><img class="size-medium wp-image-61" title="Control16 - Adaptor" src="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/09/c16-serial-adaptor-300x160.png" alt="Control 16 - Proprietary interface to RS232 adaptor" width="300" height="160" /></a><p class="wp-caption-text">Control 16 - Proprietary interface to RS232 adaptor</p></div>
<p>Please note that while I have successfully connected power and data to my control 16 without blowing it up, this information is only provided as a guide and I recommend double checking it against your actual hardware before connecting anything to your control 16.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.electricrock.co.nz/blog/2009/09/ensoniq-control-16-rj-45-connector-pinout/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ensoniq Control 16 Undressed</title>
		<link>http://www.electricrock.co.nz/blog/2009/08/ensoniq-control-16-undressed/</link>
		<comments>http://www.electricrock.co.nz/blog/2009/08/ensoniq-control-16-undressed/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 07:51:21 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Hardware Pr0n]]></category>
		<category><![CDATA[Control 16]]></category>
		<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://www.electricrock.co.nz/blog/?p=18</guid>
		<description><![CDATA[I bought an Ensoniq Control 16 off Trademe cause it was going for fairly cheap relative to new control surfaces.  The problem with the Control 16 is that it is designed to only work with a proprietary PCI card from PARIS.  So I am planning on reverse engineering it and building a USB adaptor.  First [...]]]></description>
			<content:encoded><![CDATA[<p>I bought an Ensoniq Control 16 off Trademe cause it was going for fairly cheap relative to new control surfaces.  The problem with the Control 16 is that it is designed to only work with a proprietary PCI card from PARIS.  So I am planning on reverse engineering it and building a USB adaptor.  First things first, though, it needed to be disassembled so I can reverse engineer the circuit.  Here are some pix for those who are interested.</p>
<p><span id="more-18"></span></p>
<div id="attachment_19" class="wp-caption alignnone" style="width: 410px"><a href="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/08/control16-1.jpg"><img class="size-full wp-image-19" title="Control 16 #1" src="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/08/control16-1.jpg" alt="Control 16 - Before Disassembly" width="400" height="181" /></a><p class="wp-caption-text">Control 16 - Before Disassembly</p></div>
<div id="attachment_25" class="wp-caption alignnone" style="width: 410px"><a href="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/08/control16-2.jpg"><img class="size-large wp-image-25" title="Control 16 #2" src="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/08/control16-2-1024x707.jpg" alt="Control 16 - Rear panel" width="400" height="277" /></a><p class="wp-caption-text">Control 16 - Rear panel</p></div>
<div id="attachment_27" class="wp-caption alignnone" style="width: 410px"><a href="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/08/control16-3.jpg"><img class="size-full wp-image-27" title="Control 16 #3" src="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/08/control16-3.jpg" alt="Control 16 Regulator/IO Board" width="400" height="276" /></a><p class="wp-caption-text">Control 16 Regulator/IO Board</p></div>
<div id="attachment_28" class="wp-caption alignnone" style="width: 410px"><a href="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/08/control16-4.jpg"><img class="size-full wp-image-28" title="Control 16 #4" src="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/08/control16-4.jpg" alt="Control 16 - I/O Regulator Board (Underside)" width="400" height="274" /></a><p class="wp-caption-text">Control 16 - I/O Regulator Board (Underside)</p></div>
<div id="attachment_29" class="wp-caption alignnone" style="width: 410px"><a href="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/08/control16-5.jpg"><img class="size-full wp-image-29" title="Control 16 #5" src="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/08/control16-5.jpg" alt="Control 16 - Undressed" width="400" height="223" /></a><p class="wp-caption-text">Control 16 - Undressed</p></div>
<div id="attachment_30" class="wp-caption alignnone" style="width: 410px"><a href="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/08/control16-6.jpg"><img class="size-full wp-image-30" title="Control 16 #6" src="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/08/control16-6.jpg" alt="Control 16 - Up Close" width="400" height="266" /></a><p class="wp-caption-text">Control 16 - Up Close</p></div>
<div id="attachment_31" class="wp-caption alignnone" style="width: 410px"><a href="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/08/control16-7.jpg"><img class="size-full wp-image-31" title="Control 16 #7" src="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/08/control16-7.jpg" alt="Control 16 - The Brains" width="400" height="319" /></a><p class="wp-caption-text">Control 16 - The Brains </p></div>
<div id="attachment_32" class="wp-caption alignnone" style="width: 410px"><a href="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/08/control16-8.jpg"><img class="size-full wp-image-32" title="Control 16 #8" src="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/08/control16-8.jpg" alt="Control 16 Rotary Encoder" width="400" height="141" /></a><p class="wp-caption-text">Control 16 Rotary Encoder</p></div>
<div id="attachment_33" class="wp-caption alignnone" style="width: 410px"><a href="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/08/control16-9.jpg"><img class="size-full wp-image-33" title="Control 16 #9" src="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/08/control16-9.jpg" alt="Control 16 Slider ICs" width="400" height="266" /></a><p class="wp-caption-text">Control 16 Slider ICs</p></div>
<div id="attachment_34" class="wp-caption alignnone" style="width: 410px"><a href="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/08/control16-10.jpg"><img class="size-full wp-image-34" title="Control 16 #10" src="http://www.electricrock.co.nz/blog/wp-content/uploads/2009/08/control16-10.jpg" alt="Control 16 - Misc ICs" width="400" height="230" /></a><p class="wp-caption-text">Control 16 - Misc ICs</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.electricrock.co.nz/blog/2009/08/ensoniq-control-16-undressed/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
