The world is there to be explored and robots, whether they fly, drive, sail or dive are an increasingly common means of reaching and documenting remote and exciting locations.
We want you to be able to make the best, most capable robots you can imagine without being limited by size and functionality, so we decided to make available two very small, yet extremely capable robot control boards we have been working on.
The 640 and ESCAPE boards are both capable of powering 6 independent motors - the 640 board is aimed at DC motors (up to 11v) whilst the ESCAPE board is the smallest board specifically designed to control ESC powered motors.
There are a lot of motor controllers currently available that can easily run 2 or 4 motors - powering 6 currently requires using multiple boards and stacking them on top of each other. This takes up valuable space, which some robots simply do not have, and complicates wiring.
We wanted to put the power to control 6 independent motors on the smallest boards possible and we think we've managed it.
Six is a magical number when it comes to motors - it opens up possibilities and options you just don't have with 4 motors or fewer.
With underwater robotics, six motors allows you to create an extremely manoeuvrable diving robot or a 4 wheel drive bottom crawler with an additional 2 vertical motors for stabilisation and lift.
For land robots, whilst six motors may sound like overkill, it could mean the difference between making it over a hill or not.
Think you can get away with 4 wheel drive or 2 wheel tank tracks? Then why not use the remaining motor drivers to add a stepper motor for a 360 degree scanner or camera mount.
Need lights or robotic grippers? We've got you covered - each board has additional servo and / or LED connections - no need to add additional boards or circuitry.
The Dark Water Foundation C.I.C. is a UK based Community Interest Company. Our aims are to promote and encourage an interest in underwater research, adventure and exploration through the use of open-source software and technology.
We originally designed these boards for our own custom robot builds as part of our upcoming Over and Under Expedition, but as the prototypes progressed we realised that a lot of other people may benefit from their capabilities on the ground and in the air as well.
During the design and building stages we created some small prototype robots - these enable us to quickly and easily test new software and hardware functionality without the need to head out onto the water every time, and also show off the capabilities of the boards.
£5,000 : Stickers for All - We'll throw in a set of awesome Dark Water waterproof stickers for you laptop, drone, submarine, etc.. If you backed us on the SUPPORTER sticker reward then will include a little gift just for you - and some more stickers.
£7,000 : Upgradable boards - We'll design and add a method of extending the capabilities of boards so that they can be upgraded with extra sensors at a later date.
£15,000 : 9 Degrees of Awesomeness - We'll add a 9DoF IMU (9 Degrees of Freedom Inertial Measurement Unit ) to each board so you'll have instant access to a 3 axis accelerometer, a 3 axis gyroscope and a 3 axis magnetometer - just like they have on quadcopters.
Robots should be capable of exploring and heading to places you sometimes can't follow.
Whilst Bluetooth game controllers, WiFi and infra-red controllers are great and relatively easy to set up, and use, they all have low range limits - some even down to a few meters.
We needed to be able to send our robots further away - yet always have the ability to take control when we needed to. Rather than invent something new, we looked at what other drone and robot builders were using and decided to follow their lead and use Radio Control.
Both the 640 and ESCAPE boards have a dedicated CPPM / PPM-SUM header on them to make it as easy as possible to connect and use a Radio Control transmitter and receiver.
The 640 (Six for Zero) board is a DC and Stepper motor control board capable of powering 6 independent DC motors (from 2 - 11v) or 3 stepper motors.
DC motors are cheap, easy to get and simple to wire up - so you can quickly and easily get a robot up and running. We have developed libraries in Python and C++, and are working on others, to enable you to get your robot moving with minimal effort.
The 640 board also has 2 additional connections for servos or LEDs, so you can add camera mounts, lights or grippers with minimal effort.
The ESCAPE (ESC-cape) board was designed to provide a method of using brushless motors rather than the DC motors used with the 640 board.
Brushless motors are highly efficient, quiet and fast - they are used in everything from fast radio control cars, to quadcopters, radio control planes, boats and underwater robots.
When you feel the need to switch from DC motors to brushless motors we wanted to keep the amount of work required to a minimum. Having to re-write a lot of the code on your robot just to change the method of propulsion seemed like a bit too much work to us - so we tried to keep the API (programming interface) as similar as possible between the two boards.
Each 640 board has:
- 6 full H-Bridges
- Can power 6 DC motors or 3 stepper motors (or other combination)
- 1.5A output current per H-Bridge
- Motor voltage 2V - 11V
- I2C interface
- 5 Address pins - stack up to 32 boards to run 192 DC motors
- 2 Powered PWM outputs for Servos or LEDs
- 1 CPPM input for RC receivers (5V safe)
- Choice of headers and connectors.
Each ESCAPE board has:
- 6 PWM outputs on a powered rail - for Servos, LEDs, etc
- 6 PWM outputs on a non-powered rail - for ESCs
- Power jumper to allow the Pi to be powered via the powered rail or DC input (5V only).
- I2C interface
- 5 Address pins - stack up to 32 boards to run 192 Servos & 192 ESC motors
- 1 CPPM input for RC receivers (5V safe)
- Choice of headers and connectors
CPPM (also known as PPM-SUM) stands for "Combined Pulse Position Modulation" and is a method of combining 8 channels / signals into a single input.
Connecting a CPPM compatible receiver to your control boards allows you to use your Raspberry Pi to read these 8 signals and then use them for whatever operations you want.
The first two channels are usually assigned to power and steering, after that you have an additional 6 channels to assign to things like lights, grippers, toggling cameras on and off, etc.
RC receivers are already capable of controlling ESC powered motors and steering servos - so why would you want to use a Raspberry Pi to perform the same operation?
Whilst using a Pi to control the basics ( power and steering) seems redundant - sometimes you may not want a direct input to output link. Examples where you may want something more complex could include:
- Use an RC controller with DC or Stepper motors.
- Use a single stick to control a tank-driven robot - changing the speed and direction of two motors based on the position of a single input.
- Allow the Raspberry Pi to override your inputs based on sensor data such as proximity sensors, LIDAR, object detection via camera, etc.
- Add switches to turn on lights or cameras.
- Toggle between manual and autonomous modes if your robot has the ability to drive itself.
- Configure a button to store a GPS waypoint location for future reference, or take a picture.
- Implement a return home button so the robot takes control and comes back to you.
- Your robot needs to use sensor input to help with control - e.g. dealing with cross-winds or water currents.
- Geo-fencing - prevent a robot from leaving a specific area using GPS. Very handy for preventing children from driving their robots outside of a safe area.
We've used the 640 board as a surface computer to control a 3 motor and 5 motor Lego underwater robot at the Raspberry Pi birthday party and Edinburgh Mini Maker Faire.
We tested a 6 motor, vectored thrust, underwater robot controlled by the 640 board, a Raspberry Pi Zero and game controller at Maker Faire UK.
The GrassShark - a ground vehicle with 4 independent DC motors ( shown in the videos above ) is our main test, tank-control based, vehicle. We are using it as a small robot to test control algorithms and sensors for future nautical robots.
The Raspberry Pi Buggy is our latest creation. We are using it to test motor drive and servo steering functionality as an alternative to tank control.
We wouldn't be where we are today without the brilliant work and openness of others so we decided early on that everything we create will be released as open source as well.
All of our hardware designs are released under a Creative Commons Attribution, Share-Alike license and are available over on our GitHub account.
We have developed libraries in both Python and C++ for each of the boards, and are working on NodeJS libraries - these are also available via our GitHub repositories. We'll be continuously adding to these, and putting together some tutorials and examples, as we progress through this campaign and afterwards.
As both boards share a common API so you should be able to switch methods of propulsion with as few changes to your code as possible.
Whilst Raspbian is fine for the majority of robots - when you need rapid processing and control you need to move to something with an element of Real Time processing. Real time Linux is used in quite a few autopilot systems for autonomous drones and quadcopters so we decided to build a version of Raspbian with Real Time capabilities.
The kernel source is currently available on our GitHub site for you to download and compile straight away. As this can take a long time - we will be making downloadable images available on our website very soon so you can just write them to your SD card in the same way as you usually install your operating system.
We're also a very friendly team - so if you want to know how to do something then you can also find us Twitter. A documentation site and forum will be in place by the end of the campaign for more complex questions and answers.
We designed these boards to be the same size as the Raspberry Pi Zero so you can make extremely capable, yet very small robots. Both boards will also work on other Raspberry Pi models as well.
If your Raspberry Pi has 40 GPIO pins then both boards will fit with no changes needed - this includes the following:
- Raspberry Pi A+,
- Raspberry Pi B+,
- Raspberry Pi 2
- Raspberry Pi 3
- Raspberry Pi Zero
If you will need to use an earlier model Pi (with only 26 GPIO pins) then you can connect a shorter header to your boards instead - the 640 and ESCAPE boards use the 3.3v, 5v, I2C and two extra pins (for the 640 - only 1 for the ESCAPE) which are all in the first 26 pins - earlier models are:
- Raspberry Pi A
- Raspberry Pi B
Each board will be delivered partly assembled. All of the surface mounted components and chips will be attached but you will need to solder your own headers and connections on.
We originally planned on supplying fully assembled boards but after a lot of conversations we came to the conclusion that not everyone needs the same connections as us, or have the same space in their robot chassis.
As the Raspberry Pi Zero came without a header attached there was also no guarantee that everyone installed the same ones, so this added an extra complication if we wanted to install female headers on all the boards.
When we send out surveys (after a hopefully successful campaign) we'll give you the option to select the header (male or female) and connections (vertical or right angled headers as shown in the pictures, or screw terminals) you want included with your board - so you will be able to set up your board to your specific needs.
We've spent over 4 months designing, prototyping and testing both boards. The latest versions of the boards are the ones we plan on sending to production unless we need to make small changes or updates.
The 640 board - which was the first one we developed - is currently on the 4th version.
The ESCAPE board is on the second version as it is a much simpler board and the design was initially based on the second version of the 640 board.
All of our prototypes were manufactured by the wonderful team at Ragworm (as you may already have spotted from the colour).
We started trading 18 months ago - a few years after the founders came up with our initial aim and name whilst sitting in a restaurant in Liverpool's Albert Dock looking out over the waters of the River Mersey.
12 Months ago we designed and developed the Lego ROV and have been running workshops across the UK ( and Ireland ) since then encouraging children of all ages to take a interest in underwater robotics and ocean conservation.
This campaign takes us forward a significant step - with your help we can help people create more complex robots to really encourage future underwater robotic engineers, explorers and conservationists to push forward, build awesome things and explore distant places.
We plan on putting the most recent versions of our prototypes into production (Mk2 for the ESCAPE board and Mk4 of the 640 board).
As soon as the KickStarter funds are released we will finalise the PCB panels (order a test panel), order components and make sure our assemblers are ready to go.
We intend the order for PCBs to be sent within 4 weeks of the funds arriving - allowing for delays if we need to factor in test runs for stretch goals.
Assembly will commence as soon as the PCBs are ready.
Factoring in postage delays, we hope to be shipping orders within 8 weeks of the funds being released.
If there are any delays then we will, of course, notify our backers as soon as possible.
Stretch goals may increase these time-scales - but you will be getting something even cooler for a small delay.
Risks and challenges
Issues that may arise:
Difficulty getting parts: We've only chosen components and parts that we can get in large quantities, quickly, from multiple UK based suppliers. We are sharing a lot of the parts across both boards so we can benefit from lower prices for larger quantities of those parts.
PCB Manufacturing delays: We've used a few PCB manufacturers over the past few years and have yet to have an issue with delayed or non-functioning boards. Where possible we will have the PCBs manufactured in the UK with trusted suppliers, but as a back up we can order from others we have used before.
Assembly: These will be the first boards we will be arranging to be assembled externally. As such we have spent a lot of time researching companies, costs and time-scales. We hope to run test assembly runs prior to this campaign ending. We aim to have multiple assembly companies ready in case of issues with our preferred companies availability.
We have assembled all of the prototype boards in-house whilst developing and testing, so as a last resort we are able to assemble boards ourselves but at a slower rate.Learn about accountability on Kickstarter
- (44 days)