Sasquatch Robot Controller powered by Arduino
Sasquatch Robot Controller powered by Arduino
A feature-rich control platform that enables WiFi based operation of mobile robots; includes hardware and software based on Arduino.
A feature-rich control platform that enables WiFi based operation of mobile robots; includes hardware and software based on Arduino. Read more
About this project
How we started
Our Sasquatch Robot Controller is all about creating a complete robot control platform that is Arduino powered, giving end-users access to simple tools to get a robot up and running right out of the box.
As active competitors in the FIRST Robotics Competition and as a small company that builds custom mobile robots, we have gained extensive experience with robot control systems. For the past few years we have designed our own platforms using existing Arduino mainboards and shields.
Last year we developed and produced two shields specifically marketed for use by competition teams. This experience inspired us to launch our first integrated control solution, the Sasquatch Robot Controller.
We've brought our product to Kickstarter to gain a broader global audience. We hope this increased exposure will let us get the word out about our products while helping to keep costs low by allowing for larger quantity orders.
What's the money for?
The $15,000 we're hoping to raise will primarily go towards a batch order of finished boards. A small portion will be directed towards finalizing an enclosure design and an even smaller portion will be used to produce a quick-start user manual and a professional looking package for the final product. The Sasquatch board is already a success in terms of operational hardware. Now we need your help to bring it to production.
Sasquatch Robot Controller
Sasquatch is based on the Atmega2560 and runs the Arduino stack. It can be programmed using the standard Arduino development tools. The newly expanded I/O can be accessed by using our included library.
The Sasquatch is designed for the hobbyist and robot competitor alike. We've included popular interface features like Anderson Power Poles for power input, 0.1" spaced hobby-style pin headers, 6V power to all PWM channels for use with hobby servos, 8 robust relay outputs capable of 500mA per channel, quadrature encoder inputs and feedback LEDs.
Complete Board Specs
- Atmega2560 - Arduino Mega Architecture
- USB Port
- Micro-SD card reader
- Anderson Power Pole Connector, 12V-30V input range
- Reverse polarity protection on input
- Battery Monitor Circuit
- 6V, 5V and 3.3V buck-supply
- 16 - PWM Outputs, all with 6V hobby servo jumper
- 22 - Digital I/O
- 12 - Analog inputs, 0V-5V
- 8 - Solenoid outputs, 12V-24V, 500mA each
- 6 - Quadrature encoder inputs
RobotOpen Library for Arduino
We've put an equal amount of work and development into our RobotOpen Arduino Library and Driver Station App. These software packages allow you to control the Sasquatch board via most popular USB joysticks or gamepads, and establish robust two-way communication. Most Logitech products and Xbox style gamepads are currently supported.
Signals from your input device are sent to the board via UDP. This data can then be used to control your I/O. Common tasks include mapping joysticks to PWM channels, reading sensor values and then transmitting data back to the driver station.
The included RobotOpen Library includes these classes:
- ROPWM - Allows easy access to PWM outputs on the Sasquatch
- ROEncoder - Offers a suite of encoder tools to allow the user access to data flowing through the Sasquatch's integrated encoder inputs
- RODigitalIO - Control of digital inputs and outputs
- ROAnalog - Control of analog inputs
- ROTimer - Control of internal time based tasks
- ROSolenoid - Control the Sasquatch’s solenoid outputs
- RODashboard - Formulate and transmit data from the Sasquatch to the Driver Station Application. This data can be any information that you’d like to make available in real-time
- ROJoystick - Directly read the joystick/input data coming from the Driver Station App
- ROBlackBox - Formulate and log data from the Sasquatch to the integrated Micro-SD storage
- ROStatus - Includes commands to understand the state on the Sasquatch; i.e. enabled, disabled, battery level, internal mode, error codes
- ROParameter - A feature that allows users to define and change variables inside their software wirelessly
The entire communication loop is abstracted and works out of the box. We've spent a lot of time working to simplify the WiFi communication so that users can focus on the business end of their project. Of course everything is open-source, so enthusiasts can modify and hack as needed.
The Sasquatch is designed with safety in mind. The main communication loop monitors latency and moves to a "disabled" state if signal is lost. Internally the Sasquatch generates a "heartbeat" signal that is used to determine if the user has loaded code that will disrupt the communication loop...if the "heartbeat" is disturbed the controller moves to a "disabled" state. Additionally the communication loop utilizes a checksum strategy to ensure packet integrity.
RobotOpen Driver Station App
Our newly updated Driver Station app is browser-based and features graphs, charts and data-logging along with graphical mapping of input devices. The app is delivered as a Google Chrome Browser Extension.
Our driver station app is a big part of what sets the Sasquatch Robot Controller apart from the rest of the pack. Making a really great mobile robot means having great control of the complete system. Our app gives you that control.
Once you've plugged in your joystick you simply assign it to the proper channel. You then "connect" to the Sasquatch. While connected you can monitor the two-way communication stream. When your ready to be mobile you click "enable" and the system comes to life. The included RobotOpen Library allows you to address the the different control surfaces like d-pad, buttons and analog sticks. Additionally you can transmit these values via WiFi back to the app for instant feedback.
How Sasquatch stacks up to other options on the market
The Sasquatch is intended to be interfaced with an off-the-shelf WiFi router. Once this link is made you can easily communicate with the board and control it's features using USB joysticks/gamepads via our included Arduino library and Driver Station app.
Our current enclosure concept is a billet aluminum housing. The case will act as a heatsink for the main IC and several of the other heat generating components on the board.
The board installs from the bottom. It's secured in place with a thin sheet of neoprene and four #4-40 flat head cap screws. We're still working out the details for port labels and logos on the top of the enclosure. We are not able to show renderings of the enclosure on Kickstarter, but a complete design is finished.
We have made inquiries with a 3D printing company to produce an initial prototype. Once we evaluate the fit and finish we can move on to a prototype made from aluminum. We will make this version on our small Bridgeport CNC mill.
Should all these prototype efforts prove successful we will move forward with production. Our best quote to date on this item is from a small shop we use regularly in Kokomo, Indiana.
The planned finish will be tumbled and black anodize. Our 3D model pegs the weight of the enclosure at approximately .3 pounds.
Three generations of prototype have been completed. These prototypes include professionally manufactured PCBs and production intent components.
We have three quotes in hand from contract manufacturers that are prepared to fabricate and assemble the finished board to our specifications. A complete BOM with manufacturing files has been supplied. These board houses are all in the United States and will assemble the boards in the US from globally sourced components.
Once we reach our goal we will start production with the lowest bidder. Manufacturing time is quoted as 4-6 weeks.
When the completed boards arrive we will complete a thorough functionality test of each. This will include cycling each I/O, driving test servos and linking the board via WiFi to the driver station app.
Each board will then be packaged in a simple OEM style box. These boxes are custom designed by us then locally printed and bent here in Houston.
Rewards will be shipped via UPS ground in standard Uline brand 200 LB. test boxes with fiber-reinforced tape. Shipping will begin immediately following successful testing of all boards.
See our existing shields for Arduino
A how-to video about the RobotOpen System and our current production shields...a long but complete look at how our system works today.
Risks and challenges
We've produced three generations of prototypes for this board and have working hardware in hand. We have quotes from four contract manufacturers and feel strongly that we can meet our proposed timing.
Our biggest challenge remaining is finalizing our enclosure design. We have several concepts on the drawing board. We have to choose a final design and work through the prototype cycle to make sure we can produce a mass quantity of these items while keeping tight tolerances.
Our driver station app and Arduino library are in the final stages. Supporting documentation is planned as well as professional packaging for the board and these documents.Learn about accountability on Kickstarter
Support this project
- (30 days)