Practical Guide to Getting Started with the TS-7250-V3

Practical Guide to Getting Started with the TS-7250-V3

Introduction

This guide intends to help you quickly and easily get the TS-7250-V3 up and running; the following guide provides a more casual step-by-step approach for setting up everyday connections, networking, and environments to begin development.

The official manual contains more detailed and advanced information if you want to dig deeper into the specifications.

Connections

The connections most commonly used for development are serial console, power, and Ethernet. An optional chip that delivers WiFi/Bluetooth connectivity (with a u.FL Antenna) is also available; this chip is part of the development package but is a special request for the standard package.

Serial Console

The serial console allows direct access to the embedded system device and is generally the most reliable. The TS-7250-V3 has two separate options for connecting to the serial: the DB-9 port via the enclosure (“RS-232”) or the micro USB connector inside the enclosure. As a side note, the DB-9 port might require a separate adapter if there is no serial port on your workstation.

 

The DB9 port uses 115200 baud 8n1 with no flow control. The built-in USB serial device is hard coded to the correct baud/mode and does not require configuration.

Four enclosure screw locations

To access the micro USB inside the enclosure: flip the enclosure over and remove the four screws on the bottom. Pull the enclosure apart; on the inside, there will be four more screws on the device to remove for access to the micro USB.

Until power is connected, the console window will be black. The device will output information via console once power is connected.

 

The preference is always to use Linux OS for our products, though the official manual contains all the information necessary to connect to the console on any OS

 

Your serial device name will depend on the OS used, but the typical names to expect are

  • Linux: /dev/ttyACM0
    • The Linux device number might change based on the number of devices connected to the system.
  • Mac OSX: /dev/tty.usbmodem00D069C0FFEE1
    • The MAC address determines the Mac OSX device number; it will be different for every device.
  • Windows: use Device Manager to discover the COM port

 

Power

The TS-7250-V3 accepts power two ways: variable input voltage between 8 to 28 VDC via the enclosure and fixed input voltage of 5 VDC inside the enclosure. Only connect to one power source at a time.

5 VDC inside the enclosure
8 to 28 VDC via the enclosure

 

 

Ethernet

For network access, the device supports two independent Ethernet ports, eth0 (or end0) and eth1 (or end1), both labeled on the outside of—and accessible via—the enclosure. These ports will fit a standard Ethernet cable; connect the other end to a router or switch and continue reading for setup instructions.

eth0/end0 Ethernet

Wireless Module (Optional)

The development kit includes an optional wireless module. This module is otherwise available by request for other kits, such as the standard kit.

The wireless module requires a separate u.FL Antenna and can be ordered through embeddedTS. Carefully plug the antenna into the available port on the WiFi chip, accessible within the enclosure.

WiFI Antenna Connection


The wireless module allows easy updating of your device over a WiFi connection. We will cover the basics of setting up networking over WiFi further down. For more detailed information on setting up the WiFi module, start at the “Networking” section of the manual.

First Linux Boot

With serial and power applied, the TS-7250-V3 will by default boot to the Embedded MultiMedia Card (eMMC), which is pre-programmed to load our default Debian 12 – Bookworm image. Once this version of Linux loads, it will ask the user to log in with their username and password. 

The default password is “root” with no password. You can change this any time after logging in by using the command “passwd” to set an account password.

About the Embedded Linux Environments 


The TS-7250-V3 can boot to several different operating systems and environments via U-Boot, a preinstalled bootloader on the device. U-Boot is installed in the eMMC hardware boot partition and can be customized to boot images from the microSD, eMMC, NFS, or USB.

By default, U-Boot will look for a USB mass storage device before using the pre-programmed eMMC with our Debian 12 image. For U-Boot commands, both basic and advanced, see the “U-Boot” section of the manual.

As mentioned, the TS-7250-V3 will automatically boot our Debian 12 – Bookworm image unless configured otherwise. More detailed and advanced information is available in the “Debian 12 – Bookworm” section of the manual. The rest of this guide uses Debian 12 commands.

 

A new addition to Debian 12, relevant for the next section, is that network interfaces now follow predictable network interface names; eth0 and eth1 are no longer the default for Ethernet connections. You can find a thorough explanation for the new network naming here, but this guide will cover the basics of getting set up with the new naming schemes. 

 

(If booting from an older version of Debian, you can refer back to the “Debian 11 – Bullseye” section of the manual for examples using the older naming scheme, such as eth0 and eth1, for Ethernet connections.)

 

Networking Set Up

The TS-7250-V3 allows both wired and wireless methods to connect to a network. This section will walk you through how to set up Ethernet or Wireless connections, get an IP address dynamically or statically, and, using WiFi, connect to various types of access points.

Full details are available in the “Debian 12 – Networking” section of the manual. As mentioned above, Debian 12 uses new naming schemes; generally, eth0 is now end0 and eth1 is now end1.

To start, in your console, list network interfaces by running

ip addr show

 

The most common network interfaces are

  • end0 – Ethernet device 0 (CPU Ethernet) 
  • enp1s0 – Ethernet PCIe port 1 slot 0 ethernet 
  • usb<mac> – USB ethernet 
  • wlan0 – WIFI

 

Pro-Tip: The interface marked as “1” on the enclosure (reference designator “T2” on the PCB silkscreen) is end0; the interface marked as “0” on the enclosure (reference designator “T1” on the PCB silkscreen) is end1. 

 

Wired

 

The Debian networking wiki has more advanced details, such as adding IPv6 to dynamic or static IP setups. The steps below also apply to end1 if you want to use both Ethernet ports.

 

Dynamic IP

Getting an IP via DHCP is convenient for most applications.

In your console of choice, edit the file

/etc/network/interfaces

go to the bottom of the file and paste 

auto end0

iface end0 inet dhcp

 

These commands will enable the end0 network interface and allow the device to get an IP address dynamically; both will happen automatically on future boots.

 

Any changes made will take effect on the next boot; you can also manually cycle the network interface to apply the changes with

ifdown end0

ifup end0

 

Double-check the connection information on the next boot by using the ifconfig command. The example device was assigned a dynamic IP of 10.10.10.193.

 

root@tsimx6ul:~# ifconfig

end0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 10.10.10.193  netmask 255.255.255.0  broadcast 10.10.10.255

        inet6 fe80::ea1a:58ff:fe00:60d5  prefixlen 64  scopeid 0x20<link>

        ether e8:1a:58:00:60:d5  txqueuelen 1000  (Ethernet)

        RX packets 332  bytes 28642 (27.9 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 54  bytes 4644 (4.5 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10<host>

        loop  txqueuelen 1000  (Local Loopback)

        RX packets 3968  bytes 309280 (302.0 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 3968  bytes 309280 (302.0 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

The device can now ping an external URL to test the connection.

 

root@tsimx6ul:~# ping debian.org

PING debian.org (151.101.194.132) 56(84) bytes of data.

64 bytes from 151.101.194.132 (151.101.194.132): icmp_seq=1 ttl=59 time=4.29 ms

64 bytes from 151.101.194.132 (151.101.194.132): icmp_seq=2 ttl=59 time=3.62 ms

64 bytes from 151.101.194.132 (151.101.194.132): icmp_seq=3 ttl=59 time=7.25 ms

64 bytes from 151.101.194.132 (151.101.194.132): icmp_seq=4 ttl=59 time=3.63 ms

64 bytes from 151.101.194.132 (151.101.194.132): icmp_seq=5 ttl=59 time=3.78 ms

64 bytes from 151.101.194.132 (151.101.194.132): icmp_seq=6 ttl=59 time=6.99 ms

^C

— debian.org ping statistics —

6 packets transmitted, 6 received, 0% packet loss, time 5014ms

rtt min/avg/max/mdev = 3.619/4.926/7.245/1.565 ms

 

Static IP

 

The static IP setup is similar to the dynamic IP setup from above.

 

In your console of choice, edit the file

/etc/network/interfaces

go to the bottom of the file and paste 

auto end0

iface end0 inet static

    address 192.0.2.7/24

    gateway 192.0.2.254

 

These commands will enable the end0 network interface and force the device into the assigned IP; both will happen automatically on future boots.

 

Any changes made will take effect on the next boot; you can also manually cycle the network interface to apply the changes with

ifdown end0

ifup end0

 

Double-check the connection information on the next boot by using the ifconfig command. The example device was assigned a static IP of 192.0.2.7.

 

root@tsimx6ul:~# ifconfig

end0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.0.2.7  netmask 255.255.255.0  broadcast 0.0.0.0

        inet6 fe80::ea1a:58ff:fe00:60d5  prefixlen 64  scopeid 0x20<link>

        ether e8:1a:58:00:60:d5  txqueuelen 1000  (Ethernet)

        RX packets 2989  bytes 243473 (237.7 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 107  bytes 7648 (7.4 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10<host>

        loop  txqueuelen 1000  (Local Loopback)

        RX packets 3968  bytes 309280 (302.0 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 3968  bytes 309280 (302.0 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

Test your connection by pinging your gateway, 192.0.2.254. 0% packet loss in the below report means your connection is running as expected.

 

root@tsimx6ul:~# ping 192.0.2.254

PING 192.0.2.254 (192.0.2.254) 56(84) bytes of data.

64 bytes from 192.0.2.254: icmp_seq=1 ttl=64 time=6.80 ms

64 bytes from 192.0.2.254: icmp_seq=2 ttl=64 time=3.81 ms

64 bytes from 192.0.2.254: icmp_seq=3 ttl=64 time=3.62 ms

^C

— 192.0.2.254 ping statistics —

3 packets transmitted, 3 received, 0% packet loss, time 2007ms

rtt min/avg/max/mdev = 3.621/4.741/6.797/1.455 ms

 

Wireless (Optional)

 

The wireless section only applies if you have ordered the development package or have requested the optional wireless module. Please make sure the u.FL antenna is attached.

 

This part of the guide will cover setting up a protected access point, which works for WPA and WPA2. It will be utilizing the wpasupplicant utility. For more detailed information on WiFi configurations, see the Debian guide on how to use WiFi.

 

If you want to use the TS-7250-V3 as a Wireless Access Point, see the “WiFi Access Point” section of the official manual.

 

Important note: embeddedTS includes many applications in the Debian 12 image that are useful. The instructions below should work seamlessly; however, if you have issues getting WiFi to work correctly, install “wpasupplicant” using your console of choice.

 

Install wpasupplicant

apt-get update && apt-get install wpasupplicant -y

 

Protected Access Point

 

Scan for available access points using

iwlist wlan0 scan

or filter so only the essid names are visible by using

iwlist wlan0 scan | grep ESSID | cut -d’:’ -f2

 

Once you know the protected network you want to connect to, run

wpa_passphrase yourssid yourpassword

 

The command output will look similar to the text below but contain your personalized information.

 

 network={

        ssid=”yourssid”

        #psk=”yourpassword”

        psk=151790fab3bf3a1751a269618491b54984e192aa19319fc667397d45ec8dee5b

 }

 

Use the hashed pre-shared key (PSK) in the specific network interface file for added security.

 

In your console of choice, edit the file

/etc/network/interfaces

go to the bottom of the file and paste 

allow-hotplug wlan0

iface wlan0 inet dhcp

    wpa-ssid yourssid

    wpa-psk 151790fab3bf3a1751a269618491b54984e192aa19319fc667397d45ec8dee5b

 

Be sure to edit “yourssid” with your ssid and the PSK characters with the PSK output you received when you ran wpa_passphrase

 

In the text above, allow-hotplug wlan0 makes the WiFi connection persistent upon rebooting the device; iface wlan0 inet dhcp automatically assigns a dynamic IP.

 

Any changes made will take effect on the next boot; you can also manually cycle the network interface to apply the changes with

ifdown wlan0

ifup wlan0

 

Conclusion

 

The Practical Guide to Getting Started with the TS-7250-V3 covered the available ways to connect to the console for communication with the device, apply power, and set up Ethernet and WiFi networking. These will allow you to begin development on your application.


The official manual will fill in the blanks for other advanced information.

Did the TS-7250-V3 Getting Started Guide miss anything? Comment below so we can get it added!

 

Writing an SD Card Image (Linux, Windows, Mac OSX)

1.) The following commands will need to be executed as root. It’s popular to
prefix the commands with ‘sudo’, but you can also become root by using the
command (may vary depending on distribution):

su -

2.) Plug in your SD card and then use the following
command to see which /dev/ node it’s located on (be sure of this!):

fdisk -l

Continue reading “Writing an SD Card Image (Linux, Windows, Mac OSX)”

TS-IRIDIUM Global Communications Solution

Imagine for a moment that you’re in charge of a new scientific research project where a remote device will be deployed to automatically collect data samples and report back to the lab. The device might be deployed several times to different locations throughout the year, and one requirement is that a scientist back at the lab can send a command to actuate some mechanical device, like a motor, and respond with collected data or status at any given time. For a project like this, you’ll need to somehow wirelessly communicate with the device. These remote areas are likely well beyond the reach of cellular or other far-reaching radio signals.                      Home

Continue reading “TS-IRIDIUM Global Communications Solution”

SLC NAND: Secrets Exposed

 

Single Level Cell (SLC) NAND flash is no longer the stuff of headlines. Consumer markets are chasing the latest nodes and densities in Multi Level Cell (MLC), Tri-Level Cell (TLC), or the up and coming 3D NAND memories, leaving SLC NAND to the smaller “high reliability” market. However, in the world of embedded systems where product life cycles are measured in decades rather than years, SLC NAND is still in heavy use. Despite continued use in applications requiring long life or high-reliability solutions, NAND manufacturers have quietly made changes to their SLC NAND offerings that have slowly decreased the endurance of SLC NAND.                                                      Home
Continue reading “SLC NAND: Secrets Exposed”

Fort Knox Packaging

Your package is being delivered.                                                                                                         

I’d like to take a moment to shine some light on an area of our business that is generally unthought of and under appreciated — packaging and shipping. The stuff that happens to get your product from the shelf to your doorstep. If you’ve ever received a package from us, I think you’ll fully agree that great pride and care has been put into the packaging to ensure your product arrives undamaged. The packing department has obviously learned quite a lot over the course of 35+ years of business and developed a fantastic process for creating robust packaging. They’ve thought of everything from perfectly sized, double-walled boxes and foam lining down to extra heavy duty packaging tape. Before moving on, let’s take a moment to really appreciate the time and attention the packing department puts into it. The team truly deserves it and I’m genuinely impressed every time I get a package from them. The Amazon smile packages got nothing on them!                                                            Go Back

Continue reading “Fort Knox Packaging”

Benchmarking NXP i.MX 6UltraLite and Marvell PXA166, PXA168 ARM CPUs

Technology has become more than just a battle of sheer numbers. It has somewhat morphed into a “less is more” philosophy to see what’s possible with less. We pitted these three ARM CPUs together to find out if there are any positive impacts to using a slower clock speed CPU:

What we found is very promising in that in most tests, the 696 MHz i.MX 6UltraLite provided a huge advantage over the 800 MHz PXA166 and even the 1066 MHz PXA168. Let’s take a quick look at our findings.

Home

Continue reading “Benchmarking NXP i.MX 6UltraLite and Marvell PXA166, PXA168 ARM CPUs”

Using a Servo with the TS-7180 SBC

Servos are a ubiquitous and versatile part of everyday electronic gadgetry. From unlocking doors to dropping a soda out of the vending machine, nearly anywhere a computer needs motion you will probably find a servo. Servo control is an important trick in any embedded systems software engineer’s repertoire.

The TS-7180 SBC makes a conveniently apt servo controller, however there are some caveats that might surprise the uninitiated.    Home

You can also read this article in Servo Magazine!

Continue reading “Using a Servo with the TS-7180 SBC”

Using node.js for Embedded Bathroom Occupied Reporting Over SMS

Abstract

The basis of this project is to provide a solution to any resource monitoring applications that involve sharing a limited resource for increased productivity or throughput optimizing. The solution involves use of a single board computer to monitor remote sensor nodes, manage a queue for any assets waiting to use the resource, and notifying the assets. This specific example is monitoring and managing a queue for use of company bathrooms and notifying employees when they become available. Employees can subscribe to the bathroom status using SMS text messaging and become alerted when it’s available and their next in the queue. The code, schematics, and documentation in this practical (and entertaining) example will allow for better time management of resources in a variety of serious applications (human resources, assembly lines, industry, etc.).                                                                      Home

Continue reading “Using node.js for Embedded Bathroom Occupied Reporting Over SMS”

Write Endurance to Write Home About

Radiation tolerance, power efficiency, and fast write performance also characterize F-RAM non-volatile storage technology.                  Home

Ferroelectric Random Access Memory (F-RAM) is a non-volatile storage technology that offers low power, fast write performance, and a greater write endurance when compared to EEPROM or flash technologies. For example, the write endurance of F-RAM from Cypress Semiconductor is 10^14 (100 trillion) write cycles. Presuming the device takes 4 ms to rewrite every cell, it would take a minimum of 126 years for a failure to occur. However, EEPROM and NOR Flash have write endurance of just 10^6 (1 million) write cycles. Additionally, F-RAM data retention is very robust, supporting a minimum of 10 years, and more than 121 years of data retention at + 85 °Cdeg;C, depending on the individual product.

Figure 1: Technologic Systems is now offering single board computers with an added Ferroelectric Random Access Memory (F-RAM) from Cypress Semiconductor.
Figure 1: Technologic Systems is now offering single board computers with an added Ferroelectric Random Access Memory (F-RAM) from Cypress Semiconductor.

The high-speed nature of the device combined with its non-volatility and data retention makes this memory device useful in many applications. The F-RAM used in Technologic Systems’ products is an AT25 compatible SPI device. The TS-7553-V2 board support package implements the F-RAM as an extra EEPROM-like memory and presents the whole device as a flat file.

Continue reading “Write Endurance to Write Home About”

Soil Moisture Sensor Example Project

Introduction

I say, if your knees aren’t green by the end of the day, you ought to seriously re-examine your life. ~Bill Watterson, Calvin & Hobbes

Green-thumbed techno junkies rejoice! For today, we’re going to take an introductory, prototype look at what it takes to digitally monitor the soil moisture content of a common houseplant so we know when to water it. We’re talking about using a single board computer to read from a soil moisture sensor from an Analog to Digital Convertor (ADC) and toggle an indicator LED using Digital Input and Output (DIO). Specifically, we’re going to be using a TS-7250-V2, but this guide can apply to many different boards.

Continue reading “Soil Moisture Sensor Example Project”