Ron Sartore is a serial entrepreneur and a USB veteran. He started a company named Anchor Chips in 1995, back before USB was a standard. When the USB revolution started in 1996, Sartore jumped on the standard and Anchor quickly became a leading supplier of USB controller chips, dubbed “EZ-USB.” Cypress Semiconductor bought Anchor Chips in 1999. (Infineon bought Cypress Semiconductor in 2019 and they’re still selling EZ-USB chips.) Sartore’s “semi-retired” now, but he’s still learning, designing, and building, thanks to his hobby, flying simulated aircraft, which he’s managed to turn into yet another business. As I said, he’s a serial entrepreneur.
I first met Sartore back in 1988 when I waltzed into his offices in Colorado Springs and conned… er, convinced him to help me develop a PC-based engineering workstation for a multi-part, hands-on article series called the All-Star PC Project. Back then, Sartore’s company, Cheetah International, made the world’s fastest PC motherboards. Ron eschewed MOS PC chipsets in favor of TTL chips. That’s why his motherboards ran faster than his competition. I needed that speed because PCs weren’t quite fast enough to compete with engineering workstations based on Motorola Semiconductor’s 68000 microprocessor family, MIPS RISC processors, or Sun’s SPARC processors. I’d designed engineering workstations for Cadnetix up to 1985 but had subsequently become an advocate for PC-based workstations. They were the future, in my opinion. The All-Star PC project would prove to be a bit ahead of its time, but PCs did eventually kill engineering workstations as a category. It just took another decade or so for x86 processors to become fast enough.
Sartore and I kept in touch after he founded Anchor, sold it to Cypress, and then founded another company, AgigA Tech, which makes non-volatile DIMMs for server applications. Cypress bought that company too. About 18 months ago, I told Sartore about the house we were building outside of St. George, Utah. He immediately went out to St. George to look around and, within two months, had found and bought a house and moved in. He beat us by more than a year. That’s one example of why he’s a successful serial entrepreneur and I’m still writing articles four decades later.
It seems that Ron had retired and thought St. George was a fine place to take it easy. Except, of course, serial entrepreneurs cannot take it easy. It’s not in their genes. Sartore has played with flight simulators since the 1980s, starting with Microsoft Flight Simulator and later adding X-Plane to the mix. He’s been an avid wannabe pilot for decades and stepped up to piloting an actual airplane in 2020, while going for rides on exotic aircraft including a B-17 bomber and a P-51 Mustang, both from the World War II era.
Meanwhile, he became ever more deeply involved with flight simulators. People who get deeply involved with flight-simulation software call themselves “simmers.” As a simmer, Sartore got the usual simmer’s disease: he wanted an ever more realistic flight-simulation experience, so he started buying more flight-simulator instruments and controls. You start with a yoke (that’s the steering wheel for us non-pilots) and add rudder pedals, throttle(s), fuel mixture controls, pitch and flaps controls, a trim wheel, landing-gear switches, a GPS unit, and a radio stack. Soon, your computer desk is piled high with several thousand dollars’ worth of flight-simulation peripherals. Generally, these are USB devices, although certain peripherals with video-intensive displays also require HDMI ports, so the PC running the flight simulator needs to support multiple USB and video ports.
With all his EZ-USB experience, including seven USB patents, you’d expect Sartore to know all that he needs to know about USB. However, even Sartore can be surprised by USB. Earlier this year, Sartore gave a video presentation titled “Challenges in Peripheral Integration” to the Flight Simulation Association, a community-driven organization of developers, simmers, and actual pilots promoting the use of home-based flight simulation. In this video, Sartore imparts a lot of the knowledge he’s been accumulating from his work with flight simulator hardware, including a few USB surprises he’s encountered on the journey and how he handled these surprises.
Sartore explains that flight simulators need more USB devices than any other PC application program he’s encountered, but because they’re all human interface peripherals, these devices have very low data-transfer rates. Sartore says that USB 1.1, with its 12 Mbps maximum transfer rate, is more than adequate to serve the data-rate needs of these peripherals, but you need an abnormally large number of USB ports – perhaps 16 or more ports – to handle all of them. That means simmers need USB hubs, perhaps several hubs, because it’s not likely you’re going to find a PC with sixteen or more built-in USB ports.
Because these simulated aircraft instruments all draw their power from their USB connections, passive hubs cannot supply the aggregate power requirements for all these peripherals. You need powered hubs, and this is where Sartore ran into the first problems with these products. Per the standard, each USB 1.1 port can supply a maximum of 500 mA at 5V, or 2.5W. If you have a 16-port USB hub, the hub’s power supply must be capable of supplying at least 40W (plus some margin). The first powered USB hub that Sartore bought for his flight simulation rig used an underpowered wall wart as a power supply.
Sartore discovered the severely underpowered nature of his first powered USB hub when he bought a six pack of flight instruments and plugged them all into the hub. Not all of them powered up. First, Sartore discovered that his hub had only 25 percent of the power needed to supply 2.5W to each of its USB ports. Even a USB veteran like Sartore can be surprised. He fixed that problem by purchasing a different USB hub with a bigger power supply, but the problem persisted. That’s when he discovered the USB enumeration problem.
When Microsoft Windows boots, it enumerates all the USB devices connected to the PC. When a new USB device in the system powers up after Windows boots, it’s added to the enumeration list. For the purposes of most flight-simulation peripherals, there are two important USB categories: HIDs (human interface devices) and modems (COM ports). Some peripherals identify themselves as HIDs and some label themselves as lowly serial ports (COM devices). The USB devices share no more information with Microsoft Windows.
COM devices originated from USB’s appropriation of a much older serial standard: RS-232C. USB COM ports emulate RS-232 serial ports, which were once common in PCs of the 1980s and 1990s. Microsoft Windows knows very little about COM devices and simply enumerates them as it encounters them. The first COM port Microsoft Windows encounters becomes COM1, the next becomes COM2, and so on. So far, so good.
However, simmers are constantly fiddling with their rigs. It turns out that when you unplug a USB cable and plug it into a different USB port on a computer or a hub, it might be assigned a different COM port number when Microsoft Windows notices that a previously unused USB port is suddenly active. When the peripheral’s COM port assignment changes, the flight-simulation program may lose contact with the associated peripheral because the COM port assignment is the only identifier available for the software to use. There’s no way for the flight-simulation software to go look for the device.
Worse, Microsoft Windows does not reclaim COM port numbers automatically. If you unplug a device, say COM4, and plug it in somewhere else, it may become COM16 or COM118, depending on how many times you’ve plugged and unplugged your USB devices while the computer was powered up. Meanwhile, Microsoft Windows will still show COM4 in use. It will not de-enumerate that label assignment, although there’s no longer a device that physically uses that designation. Simmers fiddle with their peripheral configurations a lot, so this is a problem. The problem’s solution, Sartore explains, is to carefully mark your USB cables when reconfiguring or upgrading your rig and plug everything back together the way it was, as much as is possible, to maintain the correspondence between hardware configuration and COM port enumeration. Otherwise, you’ll need to fix the COM port assignments manually, and there’s no easy way to do this.
Sartore’s experience led him to conclude that he could develop better flight-simulation instruments at a lower price for simmers, and he’s started a company to produce these products. He’s named this latest venture Altimeter Motives. Sartore’s solution to creating a lower-cost instrument cluster was to paint an acrylic panel to look like the instrument panel from a Cessna 172. This acrylic panel fits over a standard 24-inch flat-screen monitor, with holes cut into the panel to allow you to see the faces of the aircraft’s instrument rendered on the flat-panel screen. Rotary encoders integrated into the acrylic panel provide the controls needed to interact directly with the simulated instruments. It looks very realistic:
Because he’s a stickler for detail and wanted the most realistic experience, Sartore added black plastic bezels to the instrument cutouts. At first, he used a 3D printer to make these bezels. Ultimately, he paid to create injection-molded tooling to get better-looking parts and to lower the per-part cost.
Of course, the instrument panel is a USB peripheral. Given Sartore’s background, what else could it be? Although the various instrument faces on the Altimeter Motives instrument panel are rendered on the flat-panel display, the rotary encoders are individual, physical input devices. PCs don’t handle rotary encoders directly, so Sartore uses a Raspberry Pi Pico to convert the rotary encoders to USB. For a low-volume product like these Altimeter Motives instrument panels, the low-cost Raspberry Pi Pico is a shrewd choice. It offers all of the hardware and capabilities needed on an assembled circuit board, and it sells for $4 in single-unit quantities.
For more information about Altimeter Motives, click here.
If you’d like to watch Sartore’s USB video, you can get a free membership to the Flight Simulation Association (click here), after which you’ll have access to the video.
One thought on “Flight Simulation Stresses USB Hubs and Reveals Other USB Pitfalls. Here are Some Helpful Hints”
When is a 68xxx part number not a 32-bit microprocessor? When it’s a CY7C68013A EZ-USB 8-bit 8051 microprocessor with hardware USB peripheral interface.