Getting started¶
Downloads¶
In your personal download folder on the Intermodulation Products website, you can find various useful items. You should have received your personal download link together with the Metronomo unit. If not, or if you can’t find it anymore, contact support and we’ll help you promptly.
Python API¶
Installing and updating¶
The Python API to control your Metronomo unit is available on
PyPI and is easily installed using pip:
python -m pip install intermod-metronomo
If you need to install the API on an air-gapped environment not connected to the internet, you can
download a Python wheel package with
.whl extension from your personal download folder. The package is just a few
kilobytes big, contains pure Python, and can be installed by pip:
python -m pip install intermod_metronomo-1.1.0-py3-none-any.whl
Tip
If you get a permission denied error while installing, you might try adding the --user flag to
the command to install the package in your user directory rather than the system directory.
Important
When installing/updating the package, make sure to use the same python executable and virtual
environment that you would using when running your experiments. If unsure, you can find out what
executable you are using in a Python shell by running the commands:
import sys
print(sys.executable)
Getting help¶
The Python package metronomo is the entry point for controlling a Metronomo unit.
Refer to the API Reference Guide for the full documentation of the metronomo package.
If you get stuck, you’re always welcome to reach out and we’ll gladly help you get going with your experiments.
Setup¶
Grounding¶
In order to avoid ground loops, signal ground and power ground (protective earth, PE) are not galvanically connected.
Note
For transport safety, Metronomo units are delivered with signal and power ground shorted by a shorting bar connecting the banana sockets on the back panel. Before normal operation, please consider whether your application requires the two grounds to be connected or isolated.
There are in total four different grounds. Here’s a breakdown, with a list of connectors that have their shields connected to each ground:
POWER GNDUSB: service port (USB 2.0 type B)
LAN: ethernet (RJ45)
POWER GND: chassis / power ground (banana socket)
aluminum chassis
SIGNAL GNDCLK OUT 1–7: clock output (SMA)
SYNC OUT 1–7: sync output (SMA)
SIGNAL GND: signal ground (banana socket)
CLK_IN GNDCKL IN: input reference clock (SMA)
SYNC_IN GNDSYNC IN: input sync pulse / sysref (SMA)
For ESD protection and fault safety, each of SIGNAL GND, CLK_IN GND and SYNC_IN GND are
connected individually to POWER GND via a parallel of a 10-MΩ resistor and a 45-V TVS diode.
Network¶
Metronomo is designed to be fully controlled via network through the Ethernet port on the back panel. There is no internal firewall running on Metronomo. For this reason, while there are no known vulnerabilities, direct unprotected connection to the Internet is not recommended. If you do intend to connect to Metronomo from the Internet, place it behind a NAT and/or a firewall.
Connection to Metronomo is done through the port number 7879 with the TCP protocol. For firmware
updates, SSH on port 22 is used. Refer to these values when in need of setting up firewall rules
and/or NAT forwarding.
Metronomo’s default settings¶
At time of shipment, Metronomo is configured to automatically retrieve an IP address from a DHCP server. In case that fails, it will fall back to a link-local address.
Metronomo will advertise its hostname on the local network through multicast DNS
(mDNS). The hostname is based on the serial number:
if the serial number is e.g. 40042, you can connect to the hostname metronomo-40042.local.
In practice, this means that you can connect Metronomo to your local router, and it will receive
an IP configuration automatically. You can then use the hostname to connect to it, or ping it to
discover the actual IP address:
$ ping metronomo-40042.local
PING metronomo-40002.local (172.23.1.170) 56(84) bytes of data.
64 bytes from 172.23.1.170: icmp_seq=1 ttl=64 time=0.493 ms
64 bytes from 172.23.1.170: icmp_seq=2 ttl=64 time=0.268 ms
64 bytes from 172.23.1.170: icmp_seq=3 ttl=64 time=0.289 ms
64 bytes from 172.23.1.170: icmp_seq=4 ttl=64 time=0.279 ms
^C
--- metronomo-40002.local ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3031ms
rtt min/avg/max/mdev = 0.268/0.332/0.493/0.093 ms
If, instead, you connect Metronomo directly to your computer, it will fail to receive a valid IP configuration from a DHCP server and it will fall back to link-local addressing. In practice, this means that, after a minute or so, you can again reach Metronomo using its hostname:
$ ping metronomo-40002.local
PING metronomo-40002.local (169.254.167.97) 56(84) bytes of data.
64 bytes from metronomo-40002.local (169.254.167.97): icmp_seq=1 ttl=64 time=0.253 ms
64 bytes from metronomo-40002.local (169.254.167.97): icmp_seq=2 ttl=64 time=0.154 ms
64 bytes from metronomo-40002.local (169.254.167.97): icmp_seq=3 ttl=64 time=0.126 ms
^C
--- metronomo-40002.local ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2065ms
rtt min/avg/max/mdev = 0.126/0.177/0.253/0.054 ms
For link-local addressing to work, you computer must support it. Consult the documentation for your operating system if you find trouble.
Changing Metronomo’s network settings¶
Metronomo can be configured to use a static IP address, or to request a configuration from a DHCP
server.
To change the network configuration, use the change_network program available in your
personal download folder.
change_network can connect to Metronomo in two ways. One way is through a network connection,
which requires you to known the current IP address / hostname and to be able to connect to it. The
other way is through the USB serial port on the back panel, use the provided USB A-to-B cable, or
equivalent. Whichever connection method you use, follow the on-screen instructions and you should be
able to easily change the network settings.