top of page

Features of the EMB-DAQ1 and pinout
(updated on 6/4/2025)

 General Information â€‹

The EMB-DAQ1 is based on the EASYIO platform from Zeltom. For more information regarding the board, visit the following links from Zeltom's webstite.

1) Link to the EASYIO platform from Zeltom: https://zeltom.com/easyio.html

2) Link to the EASYIO Quick Reference Document from Zeltom: https://zeltom.com/documents/easyio_qr_21.pdf

​

We have wired the peripherals of the EASYIO with our industrial connectors and EMB-DAQ1 features, such as the user LED, PWR LED, E-STOP button, encoders, and USB port.​​​

​

We designed the EMB-DAQ1 to be flexible and provide comprehensive capabilities. Our standard configuration comes plug-and-play to support two actuators (one on PORT A and one on PORT B), two encoders (one on each encoder port), E-STOP (included with the DAQ), and additional I/O.

 

MATLAB® and Simulink® are used to interface with the EMB-DAQ1 via Simulink Desktop Real-Time®. Please visit our Tutorial EMB-DAQ1 Software Installation for details on setting up the software before using the EMB-DAQ1.

​​

An external power supply is included with the EMB-DAQ1. It plugs to the PWR connector on the back of the DAQ. The use of this external power supply is optional, as the EMB-DAQ1 can be powered by the USB cable.

The only limitation of using the USB cable to power the DAQ (no external power supply), is the analog input reference voltage might fluctuate depending on the DAQ loading. This could potentially lead to less accurate voltage readings on the analog inputs (PORT A - pin 5, PORT B - pin 5)

 

If the analog inputs are critical for your experiment, powering the DAQ by the external power supply is recommended.

​

Important: If you choose to power the DAQ by the USB cable, unplug the external power supply from the DAQ (PWR connector).

​

Important: Do not short-circuit any power connections from the DAQ as it will likely permanently damage the DAQ and potentially your computer!

​​

EMB-DAQ1.bip.602.png
EMB-DAQ1.bip.601.png

 PORT A â€‹

​

This port is used to connect an actuator via the Maxon ESCON amplifier (other amplifiers can also be used).

​

  • Pin1: PWM signal. It is wired to pin 1 of the EASYIO connector 4. In Simulink®, you can use the General Pulse Output (Pulse Output Channel N0), with mode "frequency and duty". Input the PWM frequency, for example 2000Hz (first terminal of the N# block) and input the PWM signal (second terminal of the N# block). Note that the ESCON PWM input range is from 10% to 90% (0.1 to 0.9).​​

​

  • Pin 2: Enable signal to the amplifier. It is the return of the E-STOP and a Digital Output. The digital output is wired to the pin 1 of  EASYIO connector 1. In Simulink®, use the Digital Output block (G#), select "g0" and the corresponding gain is 1 for this signal. This pin is also wired PORT B pin 2, and it is pulled-down with a 10K Ohm resistor. Note, only one Digital Output block is used in Simulink®, add all the outputs and send the sum to the Digital Output block "G#".

​

  • Pin 3: Direction signal to the amplifier. This digital output is wired to the pin 2 of  EASYIO connector 1. In Simulink®, use the Digital Output block (G#), select "g1" and the corresponding gain is 2. Note, only one Digital Output block is used in Simulink®, add all the outputs and send the sum to the Digital Output block "G#".

​

  • Pin 4: GND.

​

  • Pin 5: User configurable. It is wired to pin 7 of the EASYIO connector 1. We recommend using it to read an analog input, for example, the current measurement of the ESCON or the EMB-Accelerometer (or another sensor). If you purchased a plant with the ESCON amplifier, we pre-wire it to the ESCON analog output (Pin 6 of J6, green wire). In Simulink®, for analog input reading, use the analog block A# and select the analog input channel A6. The standard configuration of the ESCON is 0V=-5A, 2V=0A, 4V=5A.

​

  • Pin 6: Analog Output. It is wired to pin 1 of the EASYIO connector 3 (B0).  In Simulink®, for analog output, use the analog output block B# and select the analog output channel B0.

​

  • Pin 7: GND.

​

  • Pin 8: 5V. To be used as reference voltage and power small loads such as sensors. Do not power motors, H-bridges or loads over 50 mA.

EMB-DAQ1_PORTA.png

 PORT B â€‹

​

This port is used to connect an actuator via the Maxon ESCON amplifier (other amplifiers can also be used).

​

  • Pin1: PWM signal. It is wired to pin 3 of the EASYIO connector 4. In Simulink®, you can use the General Pulse Output (Pulse Output Channel N1), with mode "frequency and duty". Input the PWM frequency, for example 2000Hz (first terminal of the N# block) and input the PWM signal (second terminal of the N# block). Note that the ESCON PWM input range is from 10% to 90% (0.1 to 0.9). This pin is also wired to the user LED on front of the EMB-DAQ1.​​

​

  • Pin 2: Enable signal to the amplifier. It is the return of the E-STOP and a Digital Output. The digital output is wired to the pin 1 of  EASYIO connector 1. In Simulink®, use the Digital Output block (G#), select "g0" and the corresponding gain is 1 for this signal. This pin is also wired PORT A pin 2, and it is pulled-down with a 10K Ohm resistor. Note, only one Digital Output block is used in Simulink®, add all the outputs and send the sum to the Digital Output block "G#".

​

  • Pin 3: Direction signal to the amplifier. This digital output is wired to the pin 3 of  EASYIO connector 1. In Simulink®, use the Digital Output block (G#), select "g1" and the corresponding gain is 4. Note, only one Digital Output block is used in Simulink®, add all the outputs and send the sum to the Digital Output block "G#".

​

  • Pin 4: GND.

​

  • Pin 5: User configurable. It is wired to pin 8 of the EASYIO connector 1. We recommend using it to read an analog input, for example, the current measurement of the ESCON or the EMB-Accelerometer (or another sensor). If you purchased a plant with the ESCON amplifier, we pre-wire it to the ESCON analog output (Pin 6 of J6, green wire). In Simulink®, for analog input reading, use the analog block A# and select the analog input channel A7. The standard configuration of the ESCON is 0V=-5A, 2V=0A, 4V=5A.

​

  • Pin 6: Analog Output. It is wired to pin 3 of the EASYIO connector 3 (B1).  In Simulink®, for analog output, use the analog output block B# and select the analog output channel B1.

​

  • Pin 7: GND.

​

  • Pin 8: 5V. To be used as reference voltage and power small loads such as sensors. Do not power motors, H-bridges or loads over 50 mA.

EMB-DAQ1_PORTB.png

 PORT C â€‹

​

This port is used for extra connections.

​

  • Pin1: 5V for the End of Travel Switch(s), abbreviated as EoTS in our documentation.

​

  • Pin 2: Return of EoTS. It is wired to pin 5 of the EASYIO connector 1. This pin is pulled-down with a 10K Ohm resistor. To read the digital input in Simulink®, use the Digital Input block (D#), select "d4".  Note, only one Digital Input block is used in Simulink®, and you can monitor the output of this block to check the status of each selected digital input (based on the gains (1d0, 2d1, 4d2, 8d3...128d7)). Refer to Zeltom's datasheet for more detailed information.

​

  • Pin 3: User configurable. It is wired to pin 6 of the EASYIO connector 1. Can be analog input or digital input/output. 

​

  • Pin 4: User configurable. It is wired to pin 1 of the EASYIO connector 5 (L0). In Simulink®, you can use the Pulse Output (Pulse Output Channel H0).

​

  • Pin 5: GND.

​

  • Pin 6: User configurable. It is wired to pin 3 of the EASYIO connector 5 (L1). In Simulink®, you can use the Pulse Output (Pulse Output Channel H1).

​

  • Pin 7: GND.

​

  • Pin 8: 5V. To be used as reference voltage and power small loads such as sensors. Do not power motors, H-bridges or loads over 50 mA.

EMB-DAQ1_PORTC.png

 Encoders â€‹

​

There are 2 encoder ports on the front of the EMB-DAQ1 that can be used to read rotary and/or linear encoders (EMB-SM1 and/or EMB-LM1).  These encoders are wired to the EASYIO connector 2. 

​

To read the encoders in Simulink®, use the Encoder Input block (E#). For resolution, our rotary encoder has 2048 CPR (cycles per revolution) and our linear encoder 2000 LPI (lines per inch).

​

The specification of the EASYIO encoder input are 16-bit resolution per sampling interval and scan rate 307.0833 KHz. 

For higher encoder speeds, note that due to the scan rate limitation, the maximum angular speed is 153541.6667 π/n rad/s, where n is the encoder resolution.

​

EMB-DAQ1_ENCODER.png.png

 E-STOP â€‹

​

The EMB-DAQ1 comes standard with an E-STOP. It has a dual circuitry, with 1 circuit (normally connected) wired to 5V and the return the EASYIO connector 1 pin 4. To read this digital input in Simulink®, use the Digital Input block (D#), select "d3".  

​

The other circuit (normally connected) wired to a digital output on the EASYIO connector 1 pin 1 and the return enable pins of PORT A (pin 2) and PORT B (pin 2).  In Simulink®, use the Digital Output block (G#), select "g0" and the corresponding gain is 1 for this signal. It is pulled-down with a 10K Ohm resistor. 

​

With this configuration, we offer multiple levels of safety. If the E-STOP is pressed, both circuits are opened, the enable signals are low (pulled down by the 10K Ohm resistor) disabling the amplifier(s).

The user can also read the status of the E-STOP in Simulink® (digital input), and also disable the amplifier (digital output).

 Potentiometer â€‹

​

Our typical EMB-DAQ1 is configured with the connectors for 2 potentiometers, but they are not wired. We allocate the two analog inputs to PORT A and PORT B pins 5.

We can provide step-by-step instructions to add this capability to the DAQ or perform the change here at our facility, free of charge. We can also pre-configure it is the EMB-DAQ1 is purchased with our potentiometer module (EMB-SM2).

​​​

General Simulink® Model (all peripherals in one model)
(updated on 4/11/2025)

 General Information â€‹

​

This model contains most of the functionality of the EMB-DAQ1 in one Simulink® model that runs in real-time, so it serves as a solid starting point as can "Save As" and adapt to fit your application.

​

You can download the model by clicking here: R5_EMB_GENERAL.ZIP (218KB)​ or from our GitHub. Make sure to always use the latest version and to fully validate that your EMB-DAQ1 and plant are working as expected, especially the safety features.

​

If the model stops immediately after running it, check the Simulation STOP condition, driven by the Digital Input block.

We configured it to read the End of Travel Switches (EoTS) and E-STOP. If the EoTS are not installed (they are an optional add-on), the digital input "d4" will read 0, therefore, the switch block in Simulink® should be updated for a Threshold of "8" with a Criteria for passing first input to: u2 >= Threshold. We provide more information regarding the Digital Input in the Digital Input section below.

​

simulink_general_code.PNG

​​To run the model:

 

  •  In the MATLAB® Command Window, enter the sampling time (T=0.004, for example) and simulation Stop Time (S=5, for example). These variables can be incorporated into a MATLAB® Script (.m file) that runs before the Simulink® model. The maximum real-time sampling rate of this board is up to 1024 Hz. We recommend using sampling time between 0.001s to 0.010, depending on your model. Be careful with signal noise due to spatial quantization and excessive phase lag. We find a sampling time of about 0.004s is a good balance for our electro-mechanical plants.

​

​

​

​

​

​

​

​

​

  • In Simulink®, open R5_EMB_GENERAL model open, enter the DESKTOP REAL-TIME tab, and click Run in Real-Time. If you run the model from the SIMULATION tab (green Run button), it won't work properly, and the EMB-DAQ1 will need to be reset. To reset the DAQ, power cycling the board is required by unplugging the USB cable and plugging back into the computer. 

​

​

​

​

​

​

​

  • After clicking in Run in Real-Time, many processes take place, including building, code generation, and deployment of code to the target. These processes take between 5s and 20s.

​

  • If the model doesn't run, check if the E-STOP or one of the End-of-Travel-Switches are pressed.

​

  • To stop the model from running, you can click Stop in Simulink®, press the E-STOP (if configured), press the End-of-Travel-Switch (optional), or any logic fed into the Stop Simulation Block in Simulink®. We strongly recommend the use of these features to keep operation of EMB safe!

simulink_general_code.PNG
matlab_script_example.PNG

 Digital Outputs â€‹

​

More information regarding the implementation of the Digital Output block can be found in Zeltom's EASYIO manual.​

 Digital Inputs â€‹

​

Reading the Digital Inputs is likely the most confusing part of using the EMB-DAQ1.

The confusing part of this block, is that the output of the Digital Input block (D0) output is influenced by the Digital Input and Digital Output of the Zeltom board. More information regarding the implementation of the Digital Input block can be found in Zeltom's EASYIO manual.

​

We use the Digital Input to read the E-STOP and the EoTS (optional add-on). In Simulink®, under the Digital Input block from the Easyio Library, we check the d3 and d4 boxes (d3 for E-STOP and d4 for EoTS).

Without the EoTS, d4 yields a 0 value, with the E-STOP yielding 0 when pressed (disabled) and 8 when released (enable).

As mentioned above, the Digital Output also influences the Digital Input state (we agree, confusing!).

The possibilities are:

​

- E-STOP disabled, all Digital Outputs low: 0  (DI influence = 0+0, DO influence = 0+0+0; DI+DO = 0)

- E-STOP disabled, all Digital Outputs high:  (DI influence = 0+0, DO influence = 1+2+4; DI+DO = 7)

- ESTOP enabled, all Digital Outputs low:  (DI influence = 8+0, DO influence = 0+0+0; DI+DO = 8)

- ESTOP enabled, all Digital Outputs high: 15  (DI influence = 8+0, DO influence = 1+2+4; DI+DO = 15)

​

If your system is not using EoTS and only the E-STOP, the switch block  right before the Simulation STOP block in Simulink® should be updated for a Threshold of "8" with a Criteria for passing first input to: u2 >= Threshold. ​

This ensures that the E-STOP state is read and if pressed (disabled), the model stops.

​​

With the EoTS, d4 yields a 0 or 16 value and the E-STOP yielding 0 or 8. To detect either the E-STOP or the EoTS, the Threshold should be set to 24, when the EoTS is installed.

​

Pictured below is for E-STOP with EoTS:

simulink_digital_input.PNG

 PWM â€‹

​

More information regarding the implementation of the PWM block can be found in Zeltom's EASYIO manual. We recommend using a PWM frequency of 2KHz for the ESCON. Using a higher frequency, 3K to 5K, can lead to the actuator "singing" (high pitch whining noise). Choosing a frequency lower than 1KHz can lead to lack of dynamic response.​

​

simulink_pwm.PNG

 Encoders (Linear and/or Rotary) â€‹

​

More information regarding the implementation of the Encoder block can be found in Zeltom's EASYIO manual.​

In the image below we are using our EMB-LM1 linear encoder with 2000 lines per inch (LPI). The output of the encoder block is in Radians (same block used for rotary and linear encoder). To convert from [rad] to [m], we multiply by (0.0254)/(2*π):

simulink_encoder.PNG

 Analog Inputs â€‹

More information regarding the implementation of the Analog Input block can be found in Zeltom's EASYIO manual.​

simulink_analog_input.PNG

 Real-Time Clock â€‹â€‹

simulink_clock.PNG

 Simulink® Hardware Settings â€‹

These settings should come already implemented from the model downloaded above, but for completeness, we'll include more information here.

simulink_config2.PNG
simulink_config.PNG

Example: Blink the user LED
(updated on 4/13/2025)

 EXAMPLE: Blink user LED â€‹

​

This Simulink® model blinks the EMB-DAQ1 user LED.

​

You can download the model by clicking here: R5_EMB_EXAMPLE_LED.ZIP (50KB)​ or from our GitHub. Make sure to always use the latest version.

​​To run the model:

 

  •  In the MATLAB® Command Window, enter the sampling time (T=0.002, for example) and simulation Stop Time (S=inf, for example). 

​​​​​​​​​​

  • In Simulink®, open R5_EMB_EXAMPLE_LED model, enter the DESKTOP REAL-TIME tab, and click Run in Real-Time. If you run the model from the SIMULATION tab (green Run button), it won't work properly, and the EMB-DAQ1 will need to be reset. To reset the DAQ, power cycling the board is required by unplugging the USB cable and plugging back into the computer. 

​

  • After clicking in Run in Real-Time, many processes take place, including building, code generation, and deployment of code to the target. These processes take between 5s and 20s.

​​​

  • To stop the model from running, you can click Stop in Simulink®.

bottom of page