Cognitive Vision icon Cognitive Vision — Microsoft Cognitive Vision integration for ARC: real-time object, face, emotion detection, OCR, confidence data and script-triggered robot actions. Try it →
 
LattePanda

Lattepanda by DF Robot

LattePanda with Synthiam ARCx runs headless, loads EZB firmware on the built-in Arduino, and controls robots from any browser
Connection Type
Wi-Fi / USB
Number of Servos
12
Audio Support
Yes
Camera Support
Yes
UARTs
1
I2C Support
Yes
ADC Ports
5
Digital Ports
12
The LattePanda single-board computer with its USB, HDMI and Ethernet ports, header pins and white sensor connectors
LattePanda + Synthiam ARCx

A robot computer with an Arduino built in

The LattePanda is a small x86 computer with an Arduino Leonardo compatible microcontroller on the same board. Run ARCx on it, load EZB firmware onto the built-in Arduino, and one board becomes both the robot's brain and its I/O controller, used from any web browser.

How the LattePanda works with Synthiam. The LattePanda's Intel processor runs a full operating system, so it runs Synthiam software on the robot: ARCx on 64-bit Windows 10/11 or Ubuntu 24.04 LTS, or ARC on Windows. Its on-board ATmega32u4 (Arduino Leonardo compatible) takes EZB firmware and connects to ARCx or ARC over an internal USB serial port, giving the project servos, PWM, digital and analog ports without any other hardware. We recommend ARCx: the robot runs headless and you use it from a browser on any device.

Meet the hardware

What is the LattePanda?

The LattePanda is a single-board computer from DFRobot. Like a Raspberry Pi it fits in the palm of your hand, but it uses an Intel x86 processor, so it runs the same Windows and Linux software as a desktop PC. It was sold with 64-bit Windows 10 installed.

What makes it special for robots is the second chip on the board: an ATmega32u4, the same microcontroller as an Arduino Leonardo, with its pins broken out on a header and on Gravity sensor connectors. The computer and the microcontroller talk over an internal USB link, so the Arduino shows up as a COM port on Windows (or a /dev/ttyACM device on Linux) exactly as a plugged-in Arduino would.

This page covers the original LattePanda (V1). DFRobot has since released other LattePanda models; check your model's documentation for which co-processor it has before using the firmware on this page.

LattePanda at a glance

Typex86 single-board computer with an on-board microcontroller
MakerDFRobot
ProcessorIntel Cherry Trail Z8350 quad-core, 1.44 GHz (up to 1.92 GHz)
Memory / storage2 GB / 32 GB eMMC (other versions exist)
Co-processorATmega32u4, Arduino Leonardo compatible, 20 GPIO
ConnectivityWi-Fi 802.11n (2.4 GHz), Bluetooth 4.0, 100 Mbps Ethernet, 1 × USB 3.0, 2 × USB 2.0, HDMI
Power5 V, 2 A
Synthiam uses it forRunning ARCx or ARC on board, with the Leonardo as an EZB
Websitedfrobot.com
Three ways to wire a robot

Pick the I/O that suits your robot

⚡

Built-in Arduino as the EZB

Load the EZB firmware onto the on-board Leonardo. One self-contained board drives servos and reads sensors, with no extra controller. Ideal for small robots.

🔌

EZ-B v4 hardwired

Turn the Leonardo into a USB serial adapter and wire it to an EZ-B v4 for 24 I/O ports, three hardware UARTs, eight ADC, I2C, a switching power supply and streaming audio, with no Wi-Fi latency.

📡

Any other EZB

Plug in an Arduino Mega or connect an ESP32, IoTiny or EZ-B v4 over Wi-Fi. A project can use several boards at once, including the built-in Leonardo.

Capabilities

What you can do with it in Synthiam

A compact computer board with a glowing built-in microcontroller wired to an LED and a distance sensor on a robot, beside a tablet showing a browser dashboard with joystick and servo sliders
  • Servos and motors on the Leonardo's PWM pins, with movement panels, Auto Position animations, the Servo Pad and Servo Animation.
  • Sensors on the digital, analog and I2C pins, read by robot skills and scripts.
  • Cameras on the USB ports, for face, color, glyph and object tracking with Camera Source (usb).
  • Voice and sound through the headphone jack or a USB microphone and speaker: speech recognition, text to speech and audio playback.
  • Programming in Blockly, JavaScript or Python, in the browser.
  • AI: ARCx is an MCP server, so AI agents can see, drive and program the robot.
  • Custom UI and remote access: touch control screens, and Exosphere for driving the robot from anywhere and telepresence.
Pin reference

LattePanda Arduino pinout

With the EZB firmware loaded, the Leonardo's digital pins can be used for PWM, servos and digital on/off, and analog pins A0-A5 are analog inputs. Digital pin 0 is UART #0 RX and digital pin 1 is UART #0 TX.

LattePanda pinout showing the U1 and U2 headers and Gravity connectors, with red wires from the U2 header's D0, D1 and GND pins to an EZ-B v4 camera port
The LattePanda's headers, and the three wires that hardwire an EZ-B v4 (see below).

U2 header (Arduino)

PinSignalPinSignal
1D72D0, UART #0 RX
3D84D1, UART #0 TX
5D96D2, I2C SDA
7D108D3, I2C SCL
9D1110D4
11D1212D5
13D1314D6
15A316A0
17A418A1
19A520A2
21GND225 V
23GND245 V

Gravity connectors (GND, 5 V, signal)

ConnectorSignal
1D9
2D10
3D11
4A0
5A1
6A2

ICSP header

PinSignal
1MISO (D14)
25 V
3SCK (D15)
4MOSI (D16)
5RESET
6GND

PWM pins (Leonardo)

BoardPWM pinsPWM frequency
Leonardo (LattePanda co-processor)3, 5, 6, 9, 10, 11, 13490 Hz (pins 3 and 11: 980 Hz)
The DFRobot LattePanda expansion shield, which breaks out the I/O for servos and sensors

Tidy the wiring with a shield. DFRobot makes a shield for the LattePanda that powers it from 7-12 V and breaks out the I/O for servos and sensors. It saves a lot of loose jumper wires on a robot.

Get started

Set up the LattePanda with its built-in Arduino

  1. Choose the operating system. ARCx needs a 64-bit system: Windows 10 or 11 (x64), or Ubuntu 24.04 LTS (x64). The LattePanda was sold with 64-bit Windows 10, so you can start there. ARC needs Windows.
  2. Install ARCx. Follow Install ARCx on Windows 64 or Install ARCx on Linux x64. To use the robot from another device, start ARCx so it listens on the network (ARCx Server (Bind Any) on Windows, or ./ARCx -b http://0.0.0.0:5000 on Ubuntu) and browse to http://<lattepanda-address>:5000.
  3. Load the EZB firmware onto the Leonardo. Download EZ-Genuino_Leonardo.zip (updated Dec 11, 2022), open it in the Arduino IDE on the LattePanda, select the Arduino Leonardo board and the LattePanda's Arduino port, and upload.
  4. Add the Ezb Connection robot skill and turn on DTR. In ARCx, add Ezb Connection, open its configuration, select EZB 0 and, under Connection, tick Enable DTR. Save. (The Leonardo's USB serial driver only delivers received data with DTR enabled; see Troubleshooting.)
  5. Connect. Type or pick the Leonardo's port in the main window (COM3 or similar on Windows, /dev/ttyACM0 on Ubuntu) and press the connect button. On Ubuntu, add your user to the dialout group first.
  6. First test. Plug a servo into a PWM pin (for example D3), add a Servo robot skill set to that port, and move it. Then add a movement panel, a camera and speech, and build your robot from there.

Using ARC instead? The steps are the same on Windows: add the EZB Connection skill, press its CONFIG button, tick DTR Enabled on the Connection Config screen (where the baud rate is set), choose the COM port and press CONNECT. This firmware works with ARC version 2019.06.25.00 or newer.

More I/O

Hardwire an EZ-B v4 to the LattePanda

The on-board Leonardo is convenient, but its GPIO is limited. For a bigger robot, connect an EZ-B v4 directly and get its 24 I/O ports, three hardware UARTs, eight ADC inputs, I2C, digital switching power supply and real-time streaming audio, over a wire with instant response. The LattePanda's Leonardo becomes a 256,000 baud USB UART adapter.

  1. Make the cable. The hardwired link uses the EZ-B v4's camera port (see the EZ-B v4 datasheet for its pinout). Modifying an existing EZ-Robot camera cable is the easiest way to reach the pins.
    • EZ-B camera port TX to LattePanda U2 pin 2 (D0, RX)
    • EZ-B camera port RX to LattePanda U2 pin 4 (D1, TX)
    • EZ-B camera port GND to LattePanda U2 pin 23 (GND)
  2. Set the EZ-B v4 to 256000 baud. Connect to the EZ-B v4 over Wi-Fi and open its web configuration at http://192.168.1.1. In Advanced Settings, change the Serial/USB Connection dropdown to 256000 and press Save and Reboot.
  3. Load the pass-through program onto the Leonardo. Upload EZB_Passthrough.zip to the LattePanda's on-board Arduino. Because the LattePanda has no spare hardware UART, this turns the Leonardo into a USB UART adapter at 256,000 baud.
  4. Enable DTR. In ARCx's Ezb Connection configuration, tick Enable DTR for the board. In ARC, press CONFIG on the connection control and enable DTR Enable.
  5. Connect. Choose the Leonardo's COM port (or /dev/ttyACM0) and connect. You are now connected to the EZ-B v4 by wire, with no Wi-Fi latency.
ARCx or ARC?
  • Runs on 64-bit Windows 10/11 or Ubuntu 24.04 LTS on the LattePanda.
  • Headless: no monitor on the robot. Use it from any browser, several people at once; closing the browser leaves the robot running.
  • AI agents connect through MCP; robot skills install from the Synthiam store.

ARC

  • Windows desktop application; runs on the LattePanda's Windows 10.
  • Use a monitor on the HDMI port or remote desktop software.
  • A good choice if you already have ARC projects.

Running Windows on a small board? Our Tips to Make a Robot guide covers freeing storage space, improving performance, powering the board and running headless with remote desktop software.

Troubleshooting

When something does not work

Turn on DTR. The Arduino Leonardo's USB serial driver needs DTR enabled before it raises received-data events, an undocumented behavior that catches most people. In ARCx it is Enable DTR under the board's Connection settings in Ezb Connection; in ARC it is the DTR Enabled checkbox on the Connection Config screen. Disconnect and reconnect after changing it.

Add your user to the dialout group with sudo usermod -aG dialout $USER, then log out and back in. The Leonardo normally appears as /dev/ttyACM0.

Check that the EZ-B v4's Serial/USB Connection is set to 256000 in its web configuration, that the pass-through program (not the EZB firmware) is on the Leonardo, that TX and RX are crossed (EZ-B TX to pin 2, EZ-B RX to pin 4), that the grounds are joined on pin 23, and that DTR is enabled.

The Leonardo firmware needs ARC 2019.06.25.00 or newer. Update ARC, or use ARCx.

32 GB of eMMC fills quickly with Windows updates. Follow the Tips to Make a Robot guide to free space and tune performance, or install Ubuntu 24.04 Server, which leaves more room and runs ARCx headless.
Questions

Frequently asked questions

Not for a small robot. With the EZB firmware on the built-in Leonardo, the LattePanda is a complete robot controller. Add an EZ-B v4 or another EZB when you need more ports, more UARTs or streaming audio.

Yes, for ARCx. ARCx supports Ubuntu 24.04 LTS (x64), and the Leonardo appears as a /dev/ttyACM port. ARC needs Windows.

Run ARCx listening on the network and open http://<lattepanda-address>:5000 from any browser. ARCx has no login of its own, so keep it on a trusted network.

Yes. Ezb Connection holds several boards (EZB 0, EZB 1, ...). For example, the Leonardo as EZB 0 and an IoTiny over Wi-Fi as EZB 1. Robot skills and scripts choose a board by its number.

One board, a whole robot

Install ARCx on the LattePanda, load the EZB firmware onto its Arduino, and control your robot from any browser.


ARC Pro

Upgrade to ARC Pro

Get access to the latest features and updates before they're released. You'll have everything that's needed to unleash your robot's potential!

#17  

Hello User, yes you can use EZB out anywhere when no internet because the Latte Panda can connect to the EZB's built in server, No other Wifi needed.

Author Avatar
Germany
#18  

Hi Robo rad,

thanks a lot; good to read, indeed !

Do you have a link for a corresponding wiring between these two units ?

#19   — Edited

You don't need any cable or wire as both communicate through wireless EZB server wifi. Then when you do want to add a different home Wifi the EZB can be changed to client mode where Latte panda and EZB use the home wifi router. I Use both methods as i bring robot out to cottage where no Wifi, then use just EZB to connect with Panda wireless. You can connect a cable to the Uart on the EZB but I have never tried that, DJ or Jeremie could chime in on that connection. Are you wanting to use windows 10 or the Arduino built in on the Panda,you can use both.

Author Avatar
Germany
#20  

Hi robo rad,

it's for my XXL insect: What will be the pros and cons for the two options to connect a Lattepanda and an EZ-B ?

-   3-wire connection (as shown above) -   EZ-B wifi hotspot

I guess, when using the hotspot I may circumvent these software changes in the EZ-B web configuration.

Thanks a lot for any hint !

Cheers

Volker

#21  

Yes the default ezb connection works great when you reset it and have no other Wifi . The Latte Panda does not even need to be on the robot but just near by for the wireless to EZB on the robot. I do this because the Latte Panda needs around 3---5 Amps to boot up to windows unless you follow DJ's tutorial how to run micro computers "headless" and other ways to run with less power. The EZB can run with just any 7.4 battery up to something like 16 volts I believe.Even 5 volts Jeremie told me with no extra servos attached.

Author Avatar
Germany
#22  

Sure, a LattePanda does not need to be installed onboard ...

... but then I can also use my Toughbook (it's a CF-D1); a really solid control unit.

In a few weeks I will be confronted with the task to realise remote control for my insect.

Currently I do not see a direct way with Synthiam BLOCKLY.

Maybe I will use a surplus RC gear:

-   Low-pass filtering the outputs of the PWM receiver outputs (RC section with long time constant). -   Connecting the resulting DC signals to ADC inputs of the EZ-B

Could work; at least worth a try !