Diagnostic Report icon Diagnostic Report Collects and sends ARC diagnostic reports to Synthiam to help troubleshoot EZ-B and robot connection issues Try it →
Asked — Edited
Resolved Resolved by Athena!
EZBv4 UART Voltage and Pin Map

Ezbv4 UART Voltage And Pin Map

@Athena,

I copied the following from the EZBv4 datasheet:

24 Multi-Use Digital Input/Output ports: D0-D23 Software configurable for servos, serial transmission, logical output 0V (Low) or 3.3V (High) voltage levels or PWM (Pulse width modulation)

Does this mean the UART-capable pins on the EZBv4 only transmit at 3.3V? If so, would there be no need for a voltage divider on the Teensy RX pin?

For context: this is about wiring the EZBv4 to a Teensy as a hardware-to-hardware connection in an ARC project (hardware connected to hardware via the EZB, not a PC-connected device). I’m specifically asking about the EZBv4’s physical port voltage levels used for serial communication.

Also, please consider making the next documentation/release a true pin map for this rover that includes:

  • specific EZBv4 port numbers (D0-D23)
  • specific Arduino Mega pins
  • specific Teensy pins
  • a refined 4-stepper CNC Shield pin map
  • a one-page wiring checklist for assembly and verification

Thanks, Jack



Related Hardware (view all EZB hardware)
EZ-B V4 by EZ-Robot
EZ-B v4/2 robot controller: dual Cortex ARM, Wi-Fi, audio/video, 24 servo/digital ports, I2C/UART, camera and Synthiam ARC control for custom robots
Wi-Fi / USB
Servos 24
Camera
Audio
UART 3
I2C
ADC 8
Digital 24

Related Robot Skills (view all robot skills)
EZB Connection by Synthiam
Connects EZ-B I/O controllers to ARC via COM or IP (5 connections). Supports init scripts, battery monitoring, TCP/EZ-Script server and serial/I2C.
Manage and execute multiple scripts in a single Script Manager using ControlCommand(), with Control Details showing available commands.

ARC Pro

Upgrade to ARC Pro

Synthiam ARC Pro is a new tool that will help unleash your creativity with programming robots in just seconds!

Author Avatar
PRO
Canada
Twitter YouTube GitHub
#1  

Yes - on the EZ-B v4, the digital I/O signal line is 3.3V logic when used for digital output/serial signaling, while the port power pin is a separate matter and can follow the board’s input voltage.

Short answer

  • UART/serial signal on the EZ-B digital pin = 3.3V logic
  • So for a Teensy RX pin, a voltage divider is generally not needed from EZ-B TX to Teensy RX if the Teensy input is 3.3V logic compatible.
  • You must share ground between the EZ-B and Teensy.
  • Be careful not to confuse the signal pin with the V pin on the 3-pin port - the V pin may be much higher depending on your EZ-B supply voltage.

Important distinction

On the EZ-B v4 GVS port:

  • G = Ground
  • V = Power (this can be battery voltage, not 3.3V)
  • S = Signal (the control/data line)

For serial communication, you care about the S pin, not the power pin.

For EZ-B v4 to Teensy wiring

Typical safe wiring is:

  • EZ-B TX (S pin) Teensy RX
  • EZ-B RX (S pin) Teensy TX
  • EZ-B GND Teensy GND

If your Teensy board is operating at 3.3V logic, this is usually fine directly.

One caution

If you are using a 5V Arduino board instead of a Teensy, then the Arduino TX EZ-B RX direction may need level shifting depending on the specific board and how it’s powered/configured.

Best reference for this

The most relevant Synthiam docs are:

About your documentation request

That’s a very reasonable suggestion. A true pin map that shows:

  • EZ-B D0-D23
  • Arduino Mega pins
  • Teensy pins
  • 4-stepper CNC shield mappings
  • plus a wiring checklist

would definitely help reduce wiring mistakes. If you want, I can help you draft a clean one-page pin map template for ARC projects that you could use immediately.

A couple quick questions

  1. Which Teensy model are you using?
  2. Are you wiring it as UART between EZ-B and Teensy, or using the Teensy as a USB device through ARC?
  3. Do you want me to sketch a wiring table for EZ-B v4 Teensy specifically?
I am a customer support AI and still learning. Please verify important answers in our support documentation. For advanced AI features, use the AI Script Agent built into ARC.
#2  

@Athena. Thank you for your continued support. Please provide a true pin map that shows:

  • EZ-B D0-D23
  • Arduino Mega pins
  • Teensy pins
  • 4-stepper CNC shield mappings
  • plus a wiring checklist
  • I am using a Teensy 4.1.
  • The Teensy will communicate with the EZBv4 via UART. The Arduino Mega also communicates with the EZBv4 via UART.
  • Please sketch a wiring table for the EZBv4 to the Teensy.
  • Please sketch a wiring table for the IR sensor to the Teensy.
  • Please sketch a wiring table for the servo to the Teensy.

Thanks, Jack

Author Avatar
PRO
Canada
Twitter YouTube GitHub
#3  

Absolutely - here’s a practical pin map / wiring sketch for an EZ-B v4 + Teensy 4.1 + Arduino Mega + CNC shield style project.

Important note: ARC does not use a fixed "pin map" for every hardware combination because the ports are configurable in software. So the most useful map is a project-specific wiring table based on the ports you choose in ARC.

1) EZ-B v4 port logic level for UART

For the EZ-B v4 signal pin (S), serial I/O is 3.3V logic.

So for EZ-B TX Teensy RX, a divider is typically not needed because the Teensy 4.1 is a 3.3V logic device.

Still required:

  • Common GND between EZ-B and Teensy
  • Correct TX RX crossover

2) EZ-B v4 to Teensy 4.1 UART wiring table

Here’s a clean example using one UART-style software serial link from the EZ-B to the Teensy.

EZ-B v4 Teensy 4.1 Notes
D18 (TX) RX1 / pin 0 EZ-B transmit to Teensy receive
D19 (RX) TX1 / pin 1 Teensy transmit to EZ-B receive
GND GND Must share common ground

If you are using UART on the EZ-B side, configure the ARC robot skill or script to use the selected port pair.

If your project is using hardware UART on another controller skill, make sure you match:

  • baud rate
  • parity
  • stop bits
  • device-specific framing

Better option for Teensy 4.1

The Teensy 4.1 has multiple UARTs, so you may want to use:

  • Serial1 on pins 0/1
  • Serial2 on pins 7/8
  • Serial3 on pins 14/15
  • etc.

If you tell me which Teensy serial port you want, I can make the table exact.


3) IR sensor to Teensy 4.1 wiring table

This depends on the type of IR sensor:

  • Digital IR obstacle sensor: has VCC, GND, OUT
  • Analog IR distance sensor: has VCC, GND, SIG
  • I2C IR sensor: has VCC, GND, SDA, SCL

Example: digital IR obstacle sensor

IR Sensor Teensy 4.1 Notes
VCC 3.3V or 5V (per sensor spec) Use sensor’s rated voltage
GND GND Common ground
OUT Any digital input pin, e.g. pin 2 Reads HIGH/LOW

Example ARC-style decision

If the IR sensor output is 5V, do not feed that directly into a 3.3V Teensy input unless the sensor is confirmed 3.3V-safe.

For the Teensy 4.1:

  • Prefer 3.3V sensors
  • If the sensor outputs 5V, use a level shifter or confirm the module’s output is already 3.3V compliant

If you want, I can make this table specific once you tell me the exact IR sensor model.


4) servo to Teensy 4.1 wiring table

A standard servo wiring table is:

Servo Teensy 4.1 Notes
Signal PWM-capable pin, e.g. pin 3 Control signal
V+ External servo power supply Do not power most servos from Teensy 3.3V
GND GND Must share ground with Teensy and power supply

Very important

Most servos should be powered from a separate 5V/6V servo supply depending on the servo’s rating.

  • Servo signal Teensy PWM-capable pin
  • Servo power external regulated supply
  • Servo ground common ground with Teensy

If you are using ARC to command the servo through the Teensy, then the Teensy would interpret the UART command and drive the servo pin accordingly.


5) Example combined wiring checklist

Use this as an assembly and verification checklist:

Power

  • Confirm EZ-B battery/power voltage is safe for all connected devices
  • Confirm Teensy is powered correctly
  • Confirm servo power is separate if required
  • Confirm all grounds are tied together

UART

  • EZ-B TX wired to Teensy RX
  • EZ-B RX wired to Teensy TX
  • Baud rate matches on both sides
  • UART port is configured in ARC
  • No 5V signal is accidentally feeding a 3.3V input

IR sensor

  • Sensor type identified: digital / analog / I2C
  • Sensor supply voltage matches module spec
  • Output level is safe for Teensy 4.1
  • Sensor ground tied to common ground

Servo

  • servo signal wire on correct Teensy pin
  • servo power is not coming from an undersized source
  • Common ground verified
  • servo pin choice supports the intended control method

6) Suggested project pin map template

Here’s a simple format you can reuse for the full project:

Function EZ-B v4 Port Arduino Mega Pin Teensy 4.1 Pin Notes
UART TX D18 18 0 / Serial1 RX Example mapping
UART RX D19 19 1 / Serial1 TX Example mapping
IR Sensor IN - - 2 Example digital input
Servo Signal - - 3 PWM-capable output
Stepper 1 STEP D0 22 4 Example only
Stepper 1 DIR D1 23 5 Example only

7) CNC shield mapping note

A 4-stepper CNC shield mapping depends on the specific driver board and whether you’re using:

  • a true Arduino Mega CNC shield
  • a custom driver board
  • direct step/dir control from Teensy

If you want, I can build you a clean 4-stepper table in the format:

  • Stepper A: STEP / DIR / EN
  • Stepper B: STEP / DIR / EN
  • Stepper C: STEP / DIR / EN
  • Stepper D: STEP / DIR / EN

But I’ll need to know whether the CNC shield is:

  1. Arduino Mega CNC shield, or
  2. Teensy-driven stepper controller, or
  3. EZ-B-controlled relay/driver interface

If you’re building custom behavior between the EZ-B and Teensy, ARC’s scripting can help a lot - and the ARC AI Assistant built into ARC can often help rewrite or organize the code right inside the editor: https://synthiam.com/Products/AI-Assistant


9) What I need from you to make this "true pin map" exact

To turn this into a precise one-page wiring map, please send:

  1. Exact IR sensor model
  2. Servo model
  3. Which Teensy pins you want to reserve for UART
  4. Which Arduino Mega role it has
    • motor control?
    • CNC shield only?
    • separate sensor hub?
  5. Whether the CNC shield is being driven by the Mega or the Teensy

Then I can produce a final pin-by-pin table for:

  • EZ-B v4 D0-D23
  • Arduino Mega
  • Teensy 4.1
  • 4-stepper CNC shield
  • assembly checklist

If you'd like, I can do the next reply as a finished one-page wiring sheet with placeholders removed and a clean printable format.

I am a customer support AI and still learning. Please verify important answers in our support documentation. For advanced AI features, use the AI Script Agent built into ARC.
#4  

@Athena. As per the last post:

To turn this into a precise one-page wiring map, please send:

  1. Exact IR sensor model
  2. Servo model
  3. Which Teensy pins you want to reserve for UART
  4. Which Arduino Mega role it has
    • motor control?
    • CNC shield only?
    • separate sensor hub?
  5. Whether the CNC shield is being driven by the Mega or the Teensy

Answers:

  1. The IR sensor is a Sharp Corp GP2Y0A02YK0F analog sensor.
  2. The servo model is a DS servo - RDS3225.
  3. The Teensy pins for UART would be Serial1 on pins 0/1.
  4. The single role for the Arduino Mega is only for motor control.
  5. The Arduino Mega is where the CNC shield is mounted.

Request:

Please produce a final pin-by-pin table for:

  • EZ-B v4 D0-D23
  • Arduino Mega
  • Teensy 4.1
  • 4-stepper CNC shield
  • assembly checklist

Please reply as a finished one-page wiring sheet with placeholders removed and a clean printable format.

Thanks, Jack

Author Avatar
PRO
Canada
Twitter YouTube GitHub
#5  

Absolutely - below is a clean, printable wiring sheet for your setup.

EZ-B v4 + Teensy 4.1 + Arduino Mega + 4-Stepper CNC Shield Wiring Sheet

System Roles

  • EZ-B v4: ARC connectivity / UART communication
  • Teensy 4.1: UART target, reads IR sensor, drives servo
  • Arduino Mega: motor control only
  • CNC Shield: mounted on the Mega for 4-stepper control

1) EZ-B v4 Teensy 4.1 UART Wiring

UART direction uses logic-level signal pins only.
EZ-B v4 digital signal output is 3.3V logic on the S pin, so this is compatible with the Teensy 4.1.

EZ-B v4 Port Teensy 4.1 Pin Function Notes
D18 Pin 0 / Serial1 RX EZ-B TX Teensy RX Direct connection OK
D19 Pin 1 / Serial1 TX Teensy TX EZ-B RX Direct connection OK
GND GND Common ground Required

UART checklist

  • TX RX crossed correctly
  • RX TX crossed correctly
  • GND tied together
  • Match baud rate in ARC and Teensy firmware

2) IR Sensor Wiring

Sensor: Sharp Corp GP2Y0A02YK0F analog IR distance sensor

This sensor is an analog output sensor, so it should go to a Teensy analog input.

GP2Y0A02YK0F Wire Teensy 4.1 Pin Function Notes
VCC 5V Sensor power Use 5V supply
GND GND Ground Common ground required
VO A0 Analog distance output ADC input on Teensy

IR sensor notes

  • The GP2Y0A02YK0F is an analog distance sensor, not digital.
  • Keep the output wired to a Teensy analog pin such as A0.
  • Ensure the Teensy ADC input range is respected by your firmware/code.

3) servo Wiring

Servo: DS servo - RDS3225

Servo Wire Teensy 4.1 Pin Function Notes
Signal Pin 3 PWM/servo control Recommended control pin
V+ External 5V/6V servo power Servo power Do not power from Teensy 3.3V
GND GND Ground Must share ground

Servo notes

  • Use a separate servo power supply sized for the load.
  • Tie servo power ground to Teensy ground.
  • Pin 3 is a good simple control pin for a servo signal.

4) Arduino Mega + 4-Stepper CNC Shield Mapping

Since the CNC shield is mounted on the Arduino Mega, the stepper mapping follows the Mega/CNC shield layout.

Note: CNC shield pin mappings can vary by shield design. The table below is the standard Mega + CNC shield style mapping commonly used for step/dir/enable control.

4-stepper control mapping

Function Arduino Mega Pin CNC Shield Signal Notes
Stepper 1 STEP D2 X STEP Axis 1 step pulse
Stepper 1 DIR D5 X DIR Axis 1 direction
Stepper 1 EN D8 ENABLE Shared enable line

| Stepper 2 STEP | D3 | Y STEP | Axis 2 step pulse | | Stepper 2 DIR | D6 | Y DIR | Axis 2 direction | | Stepper 2 EN | D8 | ENABLE | Shared enable line |

| Stepper 3 STEP | D4 | Z STEP | Axis 3 step pulse | | Stepper 3 DIR | D7 | Z DIR | Axis 3 direction | | Stepper 3 EN | D8 | ENABLE | Shared enable line |

| Stepper 4 STEP | D12 | A STEP | Axis 4 step pulse | | Stepper 4 DIR | D13 | A DIR | Axis 4 direction | | Stepper 4 EN | D8 | ENABLE | Shared enable line |

CNC shield notes

  • Confirm the shield’s exact pinout before final wiring.
  • Driver modules must be inserted in the correct orientation.
  • Motor power should be supplied according to the shield and driver specifications.

5) EZ-B v4 Port Reference Table

This is the port-number reference for the EZ-B v4.
Only a few ports are used in your current build, but this shows the full digital range.

EZ-B Port Use in This Project
D0 Reserved / available
D1 Reserved / available
D2 Reserved / available
D3 Reserved / available
D4 Reserved / available
D5 Reserved / available
D6 Reserved / available
D7 Reserved / available
D8 Reserved / available
D9 Reserved / available
D10 Reserved / available
D11 Reserved / available
D12 Reserved / available
D13 Reserved / available
D14 Reserved / available
D15 Reserved / available
D16 Reserved / available
D17 Reserved / available
D18 UART TX to Teensy RX
D19 UART RX from Teensy TX
D20 Reserved / available
D21 Reserved / available
D22 Reserved / available
D23 Reserved / available

6) Assembly Checklist

Power

  • EZ-B powered with correct battery/supply
  • Teensy powered correctly
  • CNC shield motor power connected correctly
  • servo powered from a separate supply
  • All grounds are common

UART

  • EZ-B D18 connected to Teensy pin 0
  • EZ-B D19 connected to Teensy pin 1
  • Baud rate matches on both sides
  • UART tested with a simple message first

IR Sensor

  • GP2Y0A02YK0F VCC to 5V
  • GP2Y0A02YK0F GND to ground
  • GP2Y0A02YK0F output to Teensy A0
  • Analog reading verified in code

Servo

  • servo signal to Teensy pin 3
  • servo power supply is adequate
  • servo GND tied to Teensy GND
  • servo motion tested at low travel first

CNC Shield / Mega

  • Shield seated correctly on the Mega
  • Stepper driver orientation verified
  • STEP/DIR/EN wiring matches the shield mapping
  • Motor supply verified before enabling motion

7) Practical Build Notes

  • The EZ-B v4 signal pin is 3.3V logic, so it is suitable for UART to the Teensy 4.1 without a divider on that line.
  • The GP2Y0A02YK0F is an analog sensor, so it does not go to a digital UART pin.
  • The servo should not be powered from the Teensy pin - use a proper servo supply.
  • The Mega + CNC shield should be treated as a separate motion subsystem.

8) Useful ARC References

If you’d like, I can turn this into a single compact ASCII wiring diagram next, or into a JavaScript/Python ARC script scaffold for the EZ-B Teensy UART exchange.

I am a customer support AI and still learning. Please verify important answers in our support documentation. For advanced AI features, use the AI Script Agent built into ARC.
#6  

@Athena.

I also want you to include EZBv4 communication via UART with the Arduino Mega. EZBv4 is using the TX and RX UART ports located near the ADC pins. Mega TX and RX are using UART 0 on the Mega. Can you rewrite the above Wiring Sheet to include the UART with the Arduino Mega? Can you please turn this into a single compact ASCII wiring diagram?

Thanks, Jack

Author Avatar
PRO
Canada
Twitter YouTube GitHub
#7  

Absolutely - here’s the revised wiring sheet with both UART links included, plus a single compact ASCII wiring diagram.

Important UART note:
UART is always TX to RX and RX to TX, with common ground between devices.
On the EZ-B v4, the UART lines are still 3.3V logic on the signal pins.


Revised Wiring Sheet

1) EZ-B v4 Teensy 4.1 UART

EZ-B v4 Teensy 4.1 Function Notes
D18 Pin 0 / Serial1 RX EZ-B TX Teensy RX Direct connect
D19 Pin 1 / Serial1 TX Teensy TX EZ-B RX Direct connect
GND GND Common ground Required

2) EZ-B v4 Arduino Mega UART 0

You said the Mega is using UART 0, which on the Arduino Mega is:

  • TX0 = pin 1
  • RX0 = pin 0
EZ-B v4 Arduino Mega Function Notes
D20 / UART TX near ADC area RX0 / pin 0 EZ-B TX Mega RX Direct connect if Mega input is 5V-tolerant through its logic stage
D21 / UART RX near ADC area TX0 / pin 1 Mega TX EZ-B RX Use caution if Mega TX is 5V logic
GND GND Common ground Required

UART level caution for the Mega

The Arduino Mega is a 5V logic board, while the EZ-B v4 signal line is 3.3V logic.

That means:

  • EZ-B TX Mega RX is usually fine
  • Mega TX EZ-B RX may require level shifting or a voltage divider to protect the EZ-B input

Use a simple divider like:

  • Mega TX0 (pin 1) 1k resistor junction EZ-B RX
  • junction 2k resistor GND

Or use a proper logic level shifter.


3) IR Sensor to Teensy 4.1

GP2Y0A02YK0F Teensy 4.1 Function Notes
VCC 5V Power Sensor supply
GND GND Ground Common ground
VO A0 Analog output Distance reading

4) servo to Teensy 4.1

Servo Teensy 4.1 Function Notes
Signal Pin 3 Servo control PWM/servo pin
V+ External 5V/6V supply Servo power Do not use Teensy 3.3V
GND GND Ground Must share ground

5) Arduino Mega + CNC Shield

Function Arduino Mega Pin CNC Shield Signal Notes
Stepper 1 STEP D2 X STEP Axis 1
Stepper 1 DIR D5 X DIR Axis 1
Stepper 1 EN D8 ENABLE Shared
Stepper 2 STEP D3 Y STEP Axis 2
Stepper 2 DIR D6 Y DIR Axis 2
Stepper 2 EN D8 ENABLE Shared
Stepper 3 STEP D4 Z STEP Axis 3
Stepper 3 DIR D7 Z DIR Axis 3
Stepper 3 EN D8 ENABLE Shared
Stepper 4 STEP D12 A STEP Axis 4
Stepper 4 DIR D13 A DIR Axis 4
Stepper 4 EN D8 ENABLE Shared

Compact ASCII Wiring Diagram

                           +-------------------+
                           |      EZ-B v4      |
                           |                   |
                           | D18 UART TX ------+------------------> Teensy 4.1 RX1 (pin 0)
                           | D19 UART RX <-----+------------------- Teensy 4.1 TX1 (pin 1)
                           |                   |
                           | D20 UART TX ------+------------------> Mega RX0 (pin 0)
                           | D21 UART RX <-----+----[level shift]--- Mega TX0 (pin 1)
                           |                   |
                           | GND --------------+-------------------+-------------------+
                           +-------------------+                   |                   |
                                                                   GND                 GND
                                                                    |                   |
                                                                    |                   |
                 +-------------------+                              |       +-------------------+
                 |     Teensy 4.1    |                              |       |   Arduino Mega    |
                 |                   |                              |       |                   |
                 | RX1 (pin 0) <-----+                              |       | RX0 (pin 0) <-----+
                 | TX1 (pin 1) ------>+                              |       | TX0 (pin 1) ----->+
                 | A0  <----- GP2Y0A02YK0F VO                       |       | D2/D5/D8  -> CNC  |
                 | Pin 3 -> servo signal                            |       | D3/D6/D8  -> CNC  |
                 | 5V  ---> GP2Y0A02YK0F VCC                        |       | D4/D7/D8  -> CNC  |
                 | GND  <--- GP2Y0A02YK0F GND                       |       | D12/D13/D8 -> CNC  |
                 | GND  <--- servo GND                              |       | GND --------------+
                 +-------------------+                              |       +-------------------+
                    |         |                                      |
                    |         +----> servo V+ from external 5V/6V ----+
                    |
                    +---- GP2Y0A02YK0F VCC from 5V

Recommended Final Notes

  • EZ-B Teensy UART: good directly
  • EZ-B Mega UART: Mega TX back to EZ-B RX should be level shifted
  • Teensy 4.1: 3.3V logic, so it is a better UART partner for the EZ-B
  • Servo power: always external if current draw is meaningful
  • All grounds must be common

If you want, I can do one more pass and turn this into a cleaner "printable one-page version" with tighter spacing, or into a project checklist formatted for assembly bench use.

I am a customer support AI and still learning. Please verify important answers in our support documentation. For advanced AI features, use the AI Script Agent built into ARC.
#8  

@Athena.

Please put this in a cleaner "printable one-page version" with tighter spacing, Thank you. Jack

 
📚 This thread has been preserved as a helpful resource!

While new comments are no longer being accepted, the information here remains available for learning and reference. Check the most recent comment for additional details.