Overview
This unique boat design employs two Archimedean screws to move and turn, and is controlled by a Circuit Playground Express, Adafruit's powerful and highly adaptable programming platform.
This project uses easily available household materials and serves as a great introduction to basic engineering concepts as well as MakeCode's block coding system, a web-based code editor similar to Scratch or Code.org
Archimedes' screw has been used to pump and lift water since antiquity. In this project two water screws are used to propel a boat through water, and can be programmed with MakeCode to navigate a bathtub's open seas.
Archimedes' screw was first successfully demonstrated as a method of ship propulsion on the SS Archimedes in 1838.
Materials
In addition to the electronics, for this project you will also need:
- Empty quart-sized milk carton
- Scrap cardboard
- Hot glue gun
- Bamboo skewers or wood dowels
- Double-sided foam tape
- Scissors or hobby knife
Page last edited March 08, 2024
Text editor powered by tinymce.
Circuit Diagram
This project uses two continuous servo motors, powered and controlled via a Circuit Playground Express.
The Vout pad on Circuit Playground Express (CPX) is connected to each servos' red wire, the A1 and A2 pads to the yellow wires, and the two GND pads to the servos' brown wire.
The alligator clip-to-male jumper wire connectors are great for connecting servo motors to CPX.
Powering your Boat
Circuit Playground Express can use a variety of power sources, anywhere between 3V-5V is safe. These compact 400mAh lithium ion polymer batteries are excellent for powering small projects like this.
A set of 3 AAA batteries also provides ample power, if that option is more convenient. If you're using a AAAx3 battery pack, check that the switch on the battery pack is set to "ON" when you want to power the boat.
- or -
Page last edited March 08, 2024
Text editor powered by tinymce.
MakeCode
Getting Familiar
Microsoft MakeCode for Adafruit is a web-based code editor that provides a block editor, similar to Scratch or Code.org, and also a JavaScript editor for more advanced users.
If you've never used the Circuit Playground Express with MakeCode before, this guide is a good place to start.
How to Upload Code
To upload code to Circuit Playground Express, follow these instructions:
1) Connect your Circuit Playground Express to your computer using a micro USB cable and press the small reset button in the center of the board. All the LEDs will flash red briefly, then turn green. Your computer should now show a removable drive called CPLAYBOOT.
2) Click the Download button in the code window below to download the .UF2 file to your computer.
3) Now drag and drop the .UF2 file onto the CPLAYBOOT drive in your computer's file explorer or finder.
Once the file is dragged onto CPLAYBOOT the drive will automatically eject itself (your computer may give you a "failed to eject drive correctly" error, you can ignore this). The code is now on your Circuit Playground Express and ready to run!
Note: If you get a drive named CIRCUITPY, no worries! Press the reset button twice to get a flash drive named CPLAYBOOT. The project will not run if copied onto the CIRCUITPY drive as it is for CircuitPython.
Editing the Code
If you'd like to play with this code, click Edit in MakeCode and a new window will open in which you can create your own version.
MakeCode is fun to work with and easy to customize, allowing you to get some great results with just a little trial-and-error.
If you'd like to program your boat to swim longer or in different patterns, you can change the length of time that each function is active by click on the pause block and typing in a new millisecond value (1000 ms = 1 second).
You can also edit or add new functions by clicking on FUNCTIONS and then clicking Make a Function.
Page last edited March 08, 2024
Text editor powered by tinymce.
Create your Boat
This boat combines an empty quart container, which serves as our watertight vessel, and a bit of scrap cardboard to hold the electronics and position the water screws.
The Vessel
To begin, find an empty quart container (either cardboard or plastic will do). Be sure to give it a good rinse.
Slice the top off the quart container, creating a deep, open boat. Your vessel is ready for the high seas!
Cut a "T" shape out of cardboard.
The body of the T should be just wide enough to fit in the boat, and the arms should extend about 1 inch off each side.
Prep Servo
Find the circular disc that comes with the servo motor and connect it to the servo horn.
Make sure to use the small screw supplied with the motor to hold the mount in place! This will ensure the propellors stay attached when powering the boat through the water.
Attach Motors
Use double sided tape or hot glue to attach each servo to the cardboard arms, ensuring the circular discs point towards the back of the boat.
Add CPX
Create a small platform for the Circuit Playground Express to sit on using of two small rectangles of cardboard with pieces of double sided tape of each side.
Hot Glue Propellers
Create each propeller by drawing a spiral of hot glue around a wooden skewer.
Gradually build up layer upon layer of hot glue to create a wide spiral.
This time lapse shows the process of creating a hot glue Archimedean screw by adding layer after layer of hot glue in a spiral pattern around a wooden skewer.
Create two of these Archimedean screws, trying to keep them both as symmetrical as possible.
Propeller Mount
Trim the pointy end off of the skewer.
Cut a cardboard disc and use the trimmed pointy bit to poke a hole through it.
Secure the mounting disc to the end of the skewer with a large dab of hot glue.
Attach Propellers
Use hot glue to attach each propeller to the circular disc on each continuous rotation servo.
Your electronics and propeller package should now be able to sit comfortably in your boat.
You can increase or decrease the angle that the propellers sit in the water by creating adjusting a crease in the cardboard platform.
Motor Speed Adjustment
If you find your motors aren't spinning at exactly the same speed, or don't come to a full stop, you can fix this by making tiny adjustments to the potentiometer on the bottom of the motor.
Troubleshooting
Problem: My motors aren't spinning!
Solution: Make sure that your Circuit Playground Express is connected to a power source (anywhere between 3V-5V is safe). If you're using a AAAx3 battery pack, check that the switch on the battery pack is set to "ON". If using a LiPo battery, please make sure it is charged.
Problem: My Circuit Playground Express doesn't show up as CPLAYBOOT
Solutions:
- Be sure you have a Circuit Playground Express. The Classic will not work with MakeCode.
- Some USB cables are "charge-only" and won't pass data. Try using a different USB cable and try using a different USB port on your computer.
- With the Circuit Playground plugged into your computer with a micro USB cable, click the small reset button in the center of the board. The lights should all turn green. If they don't, try double-clicking the reset button.
If things still aren't working, head over to the Intro to Circuit Playground Express guide for more suggestions.
Page last edited March 08, 2024
Text editor powered by tinymce.