diff --git a/Config_Detector.md b/Config_Detector.md
index 15f3e51..db54f7a 100644
--- a/Config_Detector.md
+++ b/Config_Detector.md
@@ -85,12 +85,24 @@ Further configuration parameters are type-dependent.
## Epics
+Simple, single-valued EPICS detectors only need to provide a channel name, for example:
+```json
+ "voltage" : {
+ "active" : 1,
+ "type" : "Epics",
+ "channel": "X07DA-ES1-USER:AI0",
+ },
+```
+An Epics type detector will cause _Pixelator_ to wait for a response from EPICS at each scan point. An alternative is to configure a **readOnly** positioner with the [**orchestraDetector** parameter](Config_Positioner#orchestra-detector), which will sample the most recent value of the EPICS channel without waiting for anything.
+
+However, detectors that provide multiple values, e.g. area detectors, tend to also have significant read-out times and so require a bit more work to coordinate. Communication of the dwell time, pixel/scan-point index, triggering and file path/names can all be communicated via EPICS channels.
+
**channel**::
String value that defines the EPICS channel that the detector will source data from.
**Default**: empty string
**channeldetails**::
- String value that defines ???.
+ String value that defines the EPICS channel where _Pixelator_ should expect to read the _data_detail_ values.
**Default**: empty string
**setTimeChannel**::
@@ -98,7 +110,7 @@ Further configuration parameters are type-dependent.
**Default**: empty string
**channelStart**::
- String value that defines the EPICS channel where ???
+ String value that defines the EPICS channel that _Pixelator_ should use to communicate a trigger for the detector to begin a measurement. _Pixelator_ will set this channel to `1` when it wants to trigger the detector and then will monitor the channel for a change in value, upon which _Pixelator_ will move the instrument to the next scan point. (i.e. the detector should change the channel value to indicate it has finished the measurement.)
**Default**: empty string
**channelCtr**::
@@ -126,17 +138,17 @@ Further configuration parameters are type-dependent.
**Default**: 0.15
**details**::
- Integer value that defines the length of the data array (always 1D and zero-based) that will be returned by an "Epics" detector. Note that Pixelator requires detectors to additionally return a summary of the data array as a single value per scan point.
+ Integer value that defines the length of the data array (always 1D) that will be returned by an "Epics" detector. Note that Pixelator requires detectors to additionally return a summary of the data array as a single value per scan point.
**Default**: 0
## Zmq
**zmqPublisher**::
- String value that defines the ZMQ network address for .
+ String value that defines the ZMQ network address and port that _Pixelator_ should subscribe to in order to receive the detector data. For example `"tcp://x07da-qutag-1.psi.ch:5563"`.
**Default**: empty string
**zmqRequester**::
- String value that defines
+ String value that defines the ZMQ network address and port that _Pixelator_ should use to communicate measurement parameters and scheduling details with the detector. For example `"tcp://x07da-qutag-1.psi.ch:5564"`.
**Default**: empty string
**getDataTimeout**::
@@ -144,7 +156,7 @@ Further configuration parameters are type-dependent.
**Default**: 0.15
**details**::
- Integer value that defines the length of the data array (always 1D and zero-based) that will be returned by an "Epics" detector. Note that Pixelator requires detectors to additionally return a summary of the data array as a single value per scan point.
+ Integer value that defines the length of the data array (always 1D) that will be returned by an "Epics" detector. Note that Pixelator requires detectors to additionally return a summary of the data array as a single value per scan point.
**Default**: 0
****::
@@ -157,5 +169,4 @@ Further configuration parameters are type-dependent.
****::
Integer value that defines
- **Default**: ?
-
+ **Default**: ?
\ No newline at end of file