Driver's Station

In 2018, we redesigned our FRC Driver's Station. Our old driver's station consisted of a 24" tray with a ThinkPad laptop and 2 game controllers. Inspired by the FRC 2018 theme, PowerUp, we redesigned our driver's station to feature arcade controls. The new driver's station consists of a Single Board Computer (SBC), Touch Screen Panels, Joysticks, Buttons, and Switches.

Check out the article below to get inspired to build your own! Remember to check back for updates as we continue to improve our driver's station.

Previous Driver's Station

Prior to the 2018 season, we used a small tray to carry our laptop and game controllers.

Driver's Station Preferred Vendors

Driver's Station Design

Initial Design

Our new design focuses on portability, reuse, and simplicity. To safely transport our driver's station to and from regional events and around the Regional competition, our driver's station is built into a roadcase. This allows the station to travel without fear of damage. As all FRC teams know, a driver's station requires a Windows computer to run the FRC Driver Station software. To maintain a simple, lightweight design, we chose to use a Single Board Computer capable of running Windows 10. 

In the past, we have used game controllers to control our robot. Game controllers require extensive setup at each match and a plethora of extra cords. To make a more portable and simple design, we built joysticks and buttons right into our driver's station. However, depending on how the new driver's station functions, we may choose to revert to game controllers. To support our goal of reuse, we added USB ports to connect game controllers and locking toggle switches to change between arcade controls and USB game controllers.

Components

Our new design centers around an SBC (single board computer). SBCs are becoming more popular in the Makerspace. They are typically low cost, light weight, small computers, usually used for a specific purpose. Because of the necessity to run a Windows operating system, we chose a LattePanda from DFRobot.

Our main controls are USB joysticks and push buttons. Several arcade joysticks found online are discrete joysticks. This means when you push the joystick in a direction, you either send a zero (don't move) or one (move). There is no capablity to send incremental values, such as move at 50% speed or 75% speed. To accomplish this, an analog joystick is required. We chose to use an UltraStik 360 from UltiMarc for our driver's station. Each joystick has 360 degrees of analog control and each joystick connects to our SBC over USB. Once connected, the joystick appears as a Windows Game Controller. 

For additional controls we picked up some arcade-style momentary push buttons. For release, fire, and safety critical functions we decided to use a collection of push buttons and toggle switches. The push buttons are the AV series from APEM. They are flush to prevent accidental activation. The toggle switches have guards and locking levers to prevent accidental activation. These switches can be found at APEM and Gopher Electronics.

We wanted low profile displays in order to not obstruct our driving view. Additionally, to maintain a hassle free, cord-free design, we wanted touch screens to reduce the need for a mouse and keyboard during the match. We went with 7 inch screens for the low profile. At only 7 inches though, screen real estate was at a premium. Therefore, we went with 3, 7 inch touchscreens from Elecrow. Even with touchscreens a mouse is still necessary. We wanted a mouse that did not need to move around and would not fall off the driver's station. We used a Kensington SlimBlade trackball to accomplish this. The use of a trackball made it so extra space was not needed to move the mouse.

The LattePanda does not support 3 video outputs. At most, it supports 1 over HDMI and 1 over MIPI-DSI. Since we wanted to connect 3 displays and all over HDMI, we needed 2 more HDMI outputs. We used 3, USB 3.0 to HDMI external graphics adapters from j5create. We used 3 adapters rather than 2 to offload all of the video processing from the LattePanda.

The driver's station needs to connect to the FMS over Ethernet. Although the LattePanda has an Ethernet port, we decided to mount 2 additional ports on either end of the driver's station. This allows the driver's station to be easily connected at all driver positions. We received one style of Ethernet ports from Switchcraft and a second style of Ethernet ports from DataPro. The FRC rules require the FMS to connect directly to the driver's station computer and not through any switches or routers. We used 2 external USB Ethernet NICs for this from Startech. Additionally, this reduced the load on the LattePanda as the USB NICs now handle the IP packet construction and destruction.

With 3 touchscreen displays, each needing 2 USB ports, 3 joysticks, each needing 1 USB port, 20 button and switches need up to 2 USB ports, 2 Ethernet NICs, and the SlimBlade and Game Controllers needing 3 more USB ports, we well exceeded the 3 USB ports on the LattePanda. We needed USB hubs and at least 1 USB 3.0 hub for our driver's station. We chose a 7 port, USB 3.0 hub from Coolgear. This gave us 15 USB ports and the hubs from Coolgear mount nicely inside our driver's station.

A disadvantage we realized when we decided to use an SBC over a laptop is that SBCs do not have batteries. Although flash memory and Windows 10 boots pretty quick and within the 2 minutes allowed at the competition, it is inconvenient to have to reboot between our pit and the field. To overcome this shortcoming, we use a 50,000 mAh PowerPack from CraveDirect.

One of our goals when creating a new driver's station was to support future expansion. We have added several components to support this. On the driver's station desk there are 6 USB ports that can be used for game controllers, flash drivers, keyboards, or any other USB peripheral. Four of these USB ports can be switched out for any other compatible keystone jack such as HDMI, RCA, coax, and many others. Additionally, there is a 120V outlet to provide auxiliary power. These keystones, outlets, junction boxes, and receptacles were acquired from Legrand. The USB keystones are Tripplite USB 3.0 expansion cables from Applied Computer Online Services.

To protect our driver's station and equipment, we used pop out circuit breakers from TE Connectivity. We have a Main breaker, Auxillary power breaker, and Battery breaker.

Construction

Due to time constraints and waiting for parts to arrive, we were not able to completely finish the drive station for our 2018 season. However, we did finish enough to use it at both of our 2018 competitions! We constructed the station using lumber from Jerry's Do It Center. The sides are made of poplar and the top and bottom are made from birch.

We used a router to create space for the button and switch panels provided by DataPro. While waiting for our LattePanda case, we 3D printed a mount. The LattePanda from DFRobot is powered by the USB hub provided by CoolGear. We installed a USB extension cable from Applied Computer Online Services to connect our Game remotes to.

Finally, we installed the UltraStik 360 joysticks from UltiMarc, arcade game buttons, and a 7" touch screen panel from Elecrow. Check out the images below from the Medtronic Regional! We will be continuing to work on the drive station during the off season.

One of the issues we had at the Medtronic Regional, was having to constantly shut down and turn on the LattePanda. This is because we did not get a chance to install a battery to run the LattePanda. Once back in our shop, we installed our 50,000 mAh power pack from CraveDirect. This allowed our LattePanda, touch panel, and accessories to run on battery power.

After the battery was installed, we had issues running the driver's station for an extended amount of time. The PowerPack has plenty of power to power the entire station for quite awhile. For safety the PowerPack is designed to reset after exceeding 5 Amps. Although the entire station draws less than 5 Amps continuously, the station spikes above 5 Amps. When this happens, the PowerPack resets and therefore the LattePanda shuts off. To overcome this we needed a solution to handle power surges. We contacted Nelectra and decided their super capacitor UPS, the Juice4Halt, might solve our issue! We decided to use the RTC-485 model for future expansion and customization.

We received custom panels from DataPro for all of our switches and buttons. We installed the switches from Gopher Electronics and APEM into the panels from DataPro. These panels were then installed into the Driver Station.

We installed our 2nd and 3rd touch screen panels, provided by Elecrow. Since the LattePanda only has 1 HDMI output, these panels are powered by USB 3.0 to HDMI adapters from j5create. Once we installed all 3 touch panels, we could only get one panel to work. After working with j5create's knowledgeable and patient support staff, we determined there was an incompatibility between the touch panels and the USB HDMI adapters. Ultimately, we ended up using an alternate USB 3.0 to HDMI adapter (Plugable UGA-2KHDMI). 

Once the switch panels and touch panels were installed, it was time to wire all the switches and test each switch and control with the driver station software. Although the cable management was intense, the integration went pretty smoothly. 

Finally, we attached the trackball mouse provided by Kensington and installed the breakers to protect our electronics. The trackball was attached using dual lock Velcro. The Driver Station is finally ready for it first competition! If you are at Northern Lights Regional in Duluth, MN come check it out!