www.CammServices.com | Simplifying Commercial Infrastructure Since 2007. Client Login


Though full stack business solutions are our primary focus, we can't outline most of them here for privacy and security reasons. We do provide other development services, these are a couple of the projects that we really enjoyed creating and utilize a wide variety of development disciplines.

Sandvik Coromant - Live 3 Way Product Demonstration Streaming Project

In the summer of 2014, Sandvik Coromant wanted the impossible. 5x 1080p 30fps live streams, broadcasted between 3 locations, with a latency so low you could carry out a 3 way conversation over it. To add even more pressure they needed it developed, tested, and installed in their 3 locations (Mississauga Ontario, Shamburg Illinois, and the IMTS Center in Chicago Illinois) in less than 12 weeks. They also informed us that they had tried several other large development companies across the US over the last few months and was told by every one of them that it was not possible with the current level of technology. They had almost given up on the project until they were referred to us.

This was our solution...

The Infrastructure:

4x 1 Gigabit Internet Connections, 3x Streaming Servers, 1x Command and Control Server, 2x 2k IP67 IP Cameras, 2x NBC Camera Crews, 1x Documentary Crew, 11x High Definition Screens, and 1x Cell Phone.

The 3 Streaming Servers

Intel i7 4770k CPUs, 32 Gigabytes of DDR3 RAM, RAID 10 Video Storage Arrays, HDMI Video Capture Cards, Nvidia Geforce GTX 780 TI Graphics Cards.

The Software

We removed everything including the Windows Explorer Shell. We then developed our own maintenance services designed to automatically assess and correct any software or connection issues and to return hardware health statistics and ping values. We then developed a communications service that handled all commands and would return playback timing for stream correction. We developed the interface to break the screens into 9 segments that could be joined together in any combination or be directed to play independently.

For control we developed our own web server software. This allowed us to develop a complete web GUI that had a direct and continues connection to all of the services running on the 3 Streaming Servers.

The Control System

From the web GUI you could take control of any screen segment of any streaming server or you could build playlists that allowed you to mix between the 3 servers, the 9 screen segments, and either stored content or any one of the 5 live streams. You could build playlists and then nest those lists into other playlists to make controlling all 27 segments as versatile as you would like. The display was not limited to video content, you could also load one of the stored Power Point Slide Shows or any of the stored images on the servers. You could select from anyone of the available triggers such as Time, On Playback End, Direct execution from the GUI, or a button press on one of the remotes at each location to start your playlists. The GUI also allowed you to define certain playback volumes for each video if necessary, to control the microphone gains, or the overall playback volume for each location. You could also adjust the playback volume as part of the playlist commands for videos being played during presentations. For this show, the whole system ended up being completely controlled from a cell phone.

Hurco - FPV RC Race Track 2016 IMTS Show in Chicago Illinois

For the 2016 IMTS Show held in Chicago Illinois, the company Hurco approached us about building them a scoring system for a RC Race event that they wanted to hold on their booth. During the meeting, We showed them a hobby of mine that operates RC Aircraft through an onboard camera that broadcasts a signal to a set of VR Goggles or a screen(First Person View or FPV for short). We assembled a pair of demo cars and we ran them on the track they wanted to use for the event. We quickly learned that the cars were extremely difficult for novice RC operators to handle on such a narrow track. As I have been involved in the open source development of Drone and Remote Pilot RC Aircraft flight systems for several years at that point, We proposed the development of onboard operation assisted computers. These devices, known to the general RC flight community as Flight Controllers, have both an onboard Gyro and Accelerometer. Using these sensors, We developed a ground based vehicle stabilization system.

The Cars

The RC car's vehicle stabilization system (VSS) was written in C. Using the onboard Accelerometer of a Naze32 Micro flight controller, the VSS would reduce the vehicles acceleration curve to make it more manageable. It would keep an active acceleration variable in its memory and add or remove from that variable depending on how smooth the vehicle was being operated. As the VSS detected sideways force (A Turn) it would remove from the active variable to slow the vehicle depending on the force applied. Should the VSS detect a forward moving impact, it would reset the active variable. If the Gyro detected that the vehicle had become unlevel in one direction or another, it would apply steering output to flatten the vehicle back out (Roll Over Prevention). This also prevented the cars from climbing the wall by streering away from the wall as it started to lift. The VSS also detects if the cars rear tires are drifting and compensates, but the track wasn't large enough to drift on.

Each car was fitted with a micro camera and a 200mw video transmitter. Each set to broadcast on a separate frequency. The operators would view the video feed from one of two 32" monitors.

The Lap Timer System

The Lap Timer System was built on an Arduino UNO. It held 3 IR receivers that would receive signals from IR transmitters installed on each vehicle. These IR transmitters each had their own transmission frequency controlled by the VSS controller. An operator would first register on the registration tablet by holding the barcode on their Trade Show Pass up to the camera. When their name came up on the screen, they would race. The system would allow 2 practice laps, then would start tracking their lap times live on the 96" monitor hanging on the wall. After three laps, the monitor would display their fastest lap and add it to the top laps section of the screen. On the 96" monitor was also two overhead video feeds which provided a blimp eye view of the race. We had an actual blimp, but it was damaged at the show.

The timing receivers are housed in the overhead gantry on the backside of the track. We designed and 3D printed the gantry inhouse.