(Not available on all Ohmni)

Electronic Expansion Kit

Ohmni FlexAdapter

The Ohmni FlexAdapter is a small module that enables you to easily connect to power and command/control on Ohmni's serial bus:


Ohmni's main power and data bus uses ethernet jacks and cables since they're shielded and widely available. NOTE: This is NOT actual ethernet, we are just using the physical connectors and wiring. Do not plug in any network equipment! Connections are as follows:


The input ethernet jack can be connected to any downstream port, such as on the core board or one of the output ethernet jacks from another FlexAdapter. Use standard ethernet patch cables (NOT crossover cables).

The blue screw terminals give you access to power straight from the battery, which is nominally 16-16.5V but can be as high as 17.5V when being charged and as low as 15V when the battery is nearly empty. Be careful - this is a very low impedance connection and can deliver a lot of power. The core board has current sensing for safety and will shut off all power if excessive current draw is detected. You can use this to power things such as high powered LEDs, additional motors, etc.

The four right angle 0.1" headers and the corresponding JST-PH 4-pin connector give access to convenient 5V power for powering microcontrollers or Arduino-type boards. A 5V 1A (5 watt) linear regulator is provided. This is NOT thermally designed for continuous high-load usage so we suggest keeping the load to 250mA or less most of the time. The TX and RX pins allow any board to connect and talk to the bus at 115200 baud, 8N1. There is an integrated diode on the TX line so that boards with normal push-pull serial output such as Arduinos can connect directly to the open-drain multi-drop Ohmni serial bus.

See the next section for an example of how to integrate an Arduino and drive it locally and remotely in a telepresence call.

Arduino Module Firmware

The DevKit comes with one Arduino Nano on which you can load our sample firmware that allows you to send and receive data on Ohmni's serial bus.

Setup is simple. Install the latest arduino IDE:


Now clone our sample Arduino module project at:


Open the project and verify that you can compile it. Now you're ready to set up the hardware side.

Plug in the included Arduino Nano to your computer via the Mini-USB port. In Arduino, set the board to Arduino Nano:


Then, set Processor to "ATmega328P (Old Bootloader)":


Set the Port accordingly and click the upload button. Then you can disconnect the Nano from your computer.

Next, solder up the included Arduino Nano with pins and connect the following pins to a FlexAdapter as follows:

  • Nano TX1 pin -> TX
  • Nano RX0 pin -> RX
  • Nano 5V pin -> 5V
  • Nano GND pin -> GND


Now, make sure Ohmni is turned off. DO NOT HOTPLUG THE ETHERNET CONNECTORS WHILE OHMNI IS ON. It is not designed for hot-plugging and doing so can blow the serial bus.

Using an ethernet Cable, plug the FlexAdapter into a free power + data port and make sure the pins on the Arduino Nano and the FlexAdapter are safely away from metal that could potential short them.

Now go ahead and turn on Ohmni. Once Ohmni boots, go into the developer shell on ohmni and run ./node bot_shell_client.js. Follow the example in the github README.md to control the LED on the Nano.

Note: Every device on Ohmni's serial bus is assigned a unique ID. By default, we set the SID for this firmware to 0x50. You can change this when you add more modules. You should use 0x50-0x70 for your devices.

// Baked in SID - change to appropriate unique
// ID for your own device
uint8_t sid = 0x50;

Making changes to the firmware

You need to temporarily unplug the TX and RX pins from the Arduino when you want to connect it via Mini-USB to your PC for flashing. This is because the Nano's USB serial port shares the pins. You can then connect the Nano to your PC, flash it and then reconnect the pins.

Hardware Expansion Kit

The Versatile Clamp allows easy mounting of additional hardware to Ohmni. It clamps around the tube at any angle and tightens with two flat-head M5 x 20mm screws.j



There are four M3 mounting holes on the top and and four M3 mounting holes on the bottom of the clamp to mount anything you want. Use any normal M3 screw and it will self-tap into the designed holes. There is a center cutout that is 20x20mm which can be used for a 2020 extrusion:


The left and right sides of the clamp have two M3 through holes in case you want to mount through the entire clamp with a long M3 screw:


The front side of the clamp has four more M3 self-tapping holes as shown:


USB Extension Kit

This document will walk you through the steps to install the USB Expansion Kit on you Ohmni Developer Edition.

Step 1: Installing the USB 3 Micro Cable

Locate the black USB 3 Micro to USB 3, see image below, Female cable and remove it from the USB Expansion Kit top; it will be easiest to install this cable while it is disconnected from the top. Then please use the link below for video instructions on how to install the USB 3 Micro to the Ohmni computer.

Step 2: Installing the Ethernet Power Cable

Locate the red ethernet cable connected to the underside of the USB Expansion Kit top and remove it from the USB Expansion Hub. Then please use the link below for video instructions on how to install the ethernet cable to the Ohmni’s controller board.

Step 3: Securing the Base Cover

Once the cables from steps 1 and 2 have been connected you are ready to mount the USB Expansion Kit on the base of the robot. For video instruction on how to mount the top please use the link below.

2D LiDAR Kit Setup Guide

What's in the Kit alt_text

  • 1x bag containing: 1x 3mm hex wrench
  • 1x RPLiDAR A2M8 kit pre-mounted on LiDAR base

Mounting the Lidar on Ohmni alt_text

With the rotating clamp-half fully out of the way, mount the inner diameter of the stationary clamp-half to the tube at any preferable orientation. Once the LiDAR is situated, return the rotating clamp-half back to closed position and tighten the 2x flat head screws using the 3mm hex wrench until the LiDAR mount is fully secured onto the tube.


Finally, plug the USB cable into the USB extension hub.


Using the 3mm hex wrench, completely unscrew the 2X flat head screws that secure the clamp. Firmly rotate the clamp-half out of the way to the fully open position as shown below.

When adding LIDAR to the robot, make sure to plug it in to the USB expansion kit instead of directly to the UP board. The UP board power supply is not sufficient to also drive the LIDAR. The USB expansion kit has a dedicated 5V 3A power supply for all devices on the hub.


Ohmni’s board communicated with LIDAR through serial bus. The path to the serial port configuration file is /data/data/com.ohmnilabs.telebot_rtc/files/telebot_config.json

The contents are simply a JSON hash where the "serialport" key is set to the desired path. To ensure that the device always uses Ohmni's serial, you can use the prefixed paths under /dev/usb which are based on the physical USB port numbers. If LIDAR is connected to the USB Expansion Kit, the default configuration is:

{ "serialport": "/dev/usb/tty1-2.1" }

Reference code

Please follow this GitHub repo ​https://github.com/ohmnilabs/ohmni-lidar for reference code.

A2M8 LiDAR references

If you require further documentation on the LiDAR, please follow this link https://www.slamtec.com/en/Support#rplidar-a2