
Download Firmware
Raspberry Pi is a small and affordable computer that you can use to control a robot by running either ARC or the EZBPi Server... or both! Below is a break-down of both options with links on how to get them running for your Synthiam powered robot.
Run ARC on the Pi
You can run ARC on the Raspberry Pi and connect to external microcontrollers, such as an Arduino or EZ-Robot's EZ-B v4. This is a connection through WiFi, generally. Although USB adapters can be used for direct connection on supporting microcontroller products.
You can download the Raspberry Pi installation on the software page by clicking here.

Turn Pi into an EZBPi Server
This server program turns a Raspberry Pi into an EZB that robot components can connect to and ARC connects to the server. The Raspberry Pi Camera, Digital Ports and UART are just some of the peripherals of the Raspberry Pi that can be controlled by ARC with this server. The server turns the Raspberry Pi into an EZB. If you are running ARC on the Pi at the same time, connect to the EZBPi server with address 127.0.0.1.
If the EZBPi server is used, the ARC connection can be remote from an external computer over WiFi (or LAN). Or the ARC connection can be running on the Raspberry Pi by connecting to 127.0.0.1 (localhost). There are limitations to the EZBPi Server, in that PWM servos are not supported, but Bi-Directional UART/Serial servos are (Robotis Dynamixel, LewanSoul, etc.)

EZBPi Server Install Instructions
1) Install Mono
sudo apt install mono-devel
2) Download the EZBPi Server ZIP file from the firmware list above
3) Unzip the archive.
unzip EZBPi.zip
4) Navigate into the newly created directory
cd EZBPi
5) Execute the server with sudo and mono. Sudo is required because the server listens on TCP ports and therefore needs to permission.
sudo mono ./EZBPi.exe
6) Connect to the EZBPi server from ARC. If the ARC instance is on a different computer, enter the IP Address of the Pi in the connection skill. If the ARC instance is running on the Pi, enter the address 127.0.0.1 in the connection skill.
EZBPi Server UART
The Raspberry Pi has a hardware UART that is connected to GPIO14 (TX) and GPIO15(RX). These are physical pins 8 and 10, respectively. Any ARC skills that use the UART (such as Dynamixel) or Script commands will default to using this port.

In order to get the UART to work, a few configurations need to be made on the Raspberry Pi.
- From command-line, type: sudo raspi-config
- Select the Interfaces menu option
- Select the Serial menu option
- Answer NO to the question about login shell
- Answer YES to the question about serial hardware port
- Save and exit the raspi-config menu
- Reboot
EZBPi Server Command-Line Arguments
The EZBPi server accepts command-line arguments for configuration values. With these command-line arguments, the default TCP ports for the EZB and Camera can be changed. Also, the verbose logging can be changed. To view the list of available arguments, enter...
sudo mono EZBPi.exe -h
Related Content

DJ's 6Th Live Hack Event (Raspberry Pi & Neopixel With...

DJ's 7Th Live Hack (Neopixel, Arduino, Raspberry Pi Ezbpi...

Dynamixel With Ezbpi Server

DJ's 9Th Live Hack - Raspberry Pi + Dynamixel... Together...

DJ's Apple II Pi Hack (Part 2/2)

Found This Nice One And Thought Its Worth Sharing

Make Your Own Giant 3D Printer Vol 2

Make Your Own, Giant 3D Printer Build Vol. 4

Raspberry Pi 4, Or Lattepanda Enbeded On My Inmoov

Ezbpi Server - Access To The Pi Gpios

Raspberry Pi & EZ-Builder

EZ-Builderpi / Ezbpi On Raspberry Pi 3 Errors

Astro Boy Live Hack....So It Begins!

Something To Try Out One Day?

Ez-B V4 Product Accessories For Use With Raspberry Pi 3/4 Or...

Loomo Segway Support?

Atari 600Xl - Another Retro Game Night Hack

Can't Connect ARC On My Win10 Pc To My Raspberry As Server

also a sudo apt-get update
perhaps the os versions are out dated. Reading the error you posted, the ezbpi cannot bind to the network interface, which is absolutely required for operation.
Ellis, there’s only benefits to those who need it.
Thank you for the reply once again. I did the updates and also tried your new server version from this webpage. Still same error.
So not sure what else to try. Has someone recently loaded this and confirmed it's working?
I even had someone else do this and follow the instructions and came up with the exact same error. I'm wanting to use the Pi for an event coming up soon for a robot, if I had more time I'd have purchased the EZB4 with wifi but don't.
However, there’s a lot of others running the pi server - and I can’t imagine how it couldn’t work for you if executed as SUDO
sudo executes the application as Root, which is needed for the broadcast and server features. The access denied error is because access is denied :). That’s due to user privileges
The only other option I can suggest is to use netstat and view the listening and broadcasting ports to see if there’s already an application using it.
The trouble with attempting to support Linux is that there’s no support for Linux :). Everyone is kinda on their own when it comes to the raspberry pi, but normal installations should work without trouble.
Access Denied is an error when access is denied due to limited user privileges. That can be rectified by executing as root with sudo
I'm definitely using the sudo for raised permissions. At any rate, I'll change my plans a bit but no biggie. Really appreciate your responses. If I find a fix I'll post it.
pi@raspberrypi:~/EZBPi $ sudo mono ./EZBPi.exe
Raspberry EZBPi Version: 2019.3.29.0
Verbose logging is: False
Serial port is: /dev/serial0
EZB: TCP Started on port 23
EZ-B Server started on TCP Port: 23
Camera: TCP Started on port 24
Camera Server started on TCP Port: 24
Press ESC to quit
Broadcast error. The broadcast service has stopped. Here is why: System.Net.Sockets.SocketException (0x80004005): Access denied
at System.Net.Sockets.UdpClient.Connect (System.String hostname, System.Int32 port) [0x001b0] in :0
at System.Net.Sockets.UdpClient..ctor (System.String hostname, System.Int32 port) [0x00044] in :0
at EZBPi.Broadcaster.doSendUDP (System.String str) [0x00001] in <0d7091e22ba140df8312a9ba44fa579a>:0
at EZBPi.Broadcaster._timer_Elapsed (System.Object sender, System.Timers.ElapsedEventArgs e) [0x00050] in <0d7091e22ba140df8312a9ba44fa579a>:0
Broadcast error. The broadcast service has stopped. Here is why: System.Net.Sockets.SocketException (0x80004005): Access denied
can you post the output of the following commands:
Code:
Code:
Code:
Code:
Mono JIT compiler version 5.18.0.240 (Debian 5.18.0.240+dfsg-3 Sat Apr 20 05:16:08 UTC 2019)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS:
SIGSEGV: normal
Notifications: epoll
Architecture: armel,vfp+hard
Disabled: none
Misc: softdebug
Interpreter: yes
LLVM: supported, not enabled.
Suspend: preemptive
GC: sgen (concurrent by default)
uname -r
4.19.57-v7+
lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 10 (buster)
Release: 10
Codename: buster
route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default GatewayRouter 0.0.0.0 UG 202 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 202 0 0 eth0
more commands:
Code:
Code:
udp 0 0 0.0.0.0:68 0.0.0.0:*
udp 0 0 0.0.0.0:53446 0.0.0.0:*
udp 0 0 224.0.0.251:5353 0.0.0.0:*
udp 0 0 224.0.0.251:5353 0.0.0.0:*
udp 0 0 0.0.0.0:5353 0.0.0.0:*
udp6 0 0 :::5353 :::*
udp6 0 0 :::53523 :::*
cat /proc/device-tree/model
Raspberry Pi 2 Model B Rev 1.1
Can you unzip the file ConsoleApp1.zip
and run the command:
Note: No need the root privileges e.g. sudoCode:
Please post the output.
Af=[InterNetwork] Addr=[192.168.1.178]
=== Send Udp Message ====
Send Udp message=[EZ-B||Testing||192.168.1.178||23]
It seems is a bug in the udp code:
please change your code:
to this code:Code:
Code:
Download this fix EZBPi_fixed.zip
do backup copy of the existent EZBPI.exe and then override with the new file.
then run:
Let me know if it works.Code:
Oh ty ty ty so much!
I'm having the same problem as above on my RasPi3B when trying to run EZBPi.exe. I've followed all the above checks and the code update but I'm still getting the same response:
pi@raspberrypi:~ $ sudo mono /home/pi/EZBPi/EZBPi.exe
Raspberry EZBPi Version: 2019.3.29.0
Verbose logging is: False
Serial port is: /dev/serial0
EZB: TCP Started on port 23
EZ-B Server started on TCP Port: 23
Camera: TCP Started on port 24
Camera Server started on TCP Port: 24
Press ESC to quit
Broadcast error. The broadcast service has stopped. Here is why: System.Net.Sockets.SocketException (0x80004005): Access denied
at System.Net.Sockets.UdpClient.Connect (System.String hostname, System.Int32 port) [0x001b0] in :0
at System.Net.Sockets.UdpClient..ctor (System.String hostname, System.Int32 port) [0x00044] in :0
at EZBPi.Broadcaster.doSendUDP (System.String str) [0x00001] in <0d7091e22ba140df8312a9ba44fa579a>:0
at EZBPi.Broadcaster._timer_Elapsed (System.Object sender, System.Timers.ElapsedEventArgs e) [0x00050] in <0d7091e22ba140df8312a9ba44fa579a>:0
I also have a Pi ZeroW and a Pi 2B on the network and get the same response. Pi Zero and 3 both running Buster, Pi 2 running Stretch.
I've also tried all the other usual fixes, like disabling firewall etc.
I'm getting a similar response when trying to connect ARC 2019.05.08.00 from my PC (Win10) to the Pi:
Attempting connection on 192.168.1.183
Connection Failed: System.Net.Sockets.SocketException (0x80004005): No connection could be made because the target machine actively refused it 192.168.1.183:23
at System.Net.Sockets.Socket.InternalEndConnect(IAsyncResult asyncResult)
at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
at System.Net.Sockets.TcpClient.EndConnect(IAsyncResult asyncResult)
at EZ_B.EZB.Connect(String hostname, Int32 baudRate)
Disconnected
I don't have anything else running that might be causing any conflict and I can connect to all my Pi's remotely from my phone using RasPi Check and RaspController.
Regards,
CRW
Yes, I tried the EZBPi_fixed.zip before I wrote to you last night but it didn't work.
I've just unzipped and executed the new server from the link that DJ sent above and it works! The server's now running and I'm connected to the Pi3B from my PC:
EZ-B temperature is 45.28100456947043676C
Connected.
I was planning a night off from the PC and Pi tonight, but that plan's just gone out the window.
Thanks for your quick response and the fix. Very much appreciated
Regards,
CRW