Introduction: Cosmoneer Proto
Whether you are a mad scientist, teacher or DIY-Maker, the Cosmoneer bridges the gap between your spacecraft dreams and real hands on hardware.
With a Cosmoneer Proto, you will:
- Overcome real spacecraft challenges
- Apply robotics at the spacecraft level
- Experience spacecraft guidance and navigation techniques
- Be your own mission control!
The Cosmoneer Proto consists of basic spacecraft systems: Command & Control, Power, Attitude Control, and Communications. All these are made possible by the use of low cost components, 3D printing and open source hardware and software. We think you'll agree, there is nothing like the Cosmoneer Proto.
(This Instructable is under development, but is being released so you can preview the instructions. Pictures are currently being processed for each step and will be added very soon!)
The instructions to assemble the stand are found here:
and the parts are here:
Step 1: Gather the Components and Parts
In addition to the 3D printable plastic parts needed in the next step, you'll also need various fasteners, circuit boards, wires, a servo, gyro motor and speed controller. While you can source these parts yourself, you can also obtain a complete kit (here.) The complete bill of materials is as follows:
- Cosmoneer Proto circuit board
- Cosmoneer SuperBurst board
- 5v wireless inductive power RX coil and board
- Digole 128x64 0.96 OLED board
- 5g Servo w/screws and various servo horns
- Gyro Motor (modified surplus floppy drive motor)
- MX-3i 3A speed controller board
- 50mm Female to Female Servo extension lead
- Micro JST SH 4 pin Female connector with 50mm 28 AWG wires
- 50mm Female Servo wire with bare leads
- JST 2pin Female connector with 50mm 22AWG wires
- 2x2pin double row header (4 pins, total)
- 1.6x4mm machine screws (Qty 2)
- 1.6x6mm machine screws (Qty 2)
- 1.6x8mm machine screws (Qty 2)
- 2x10mm machine screws (Qty 2)
- 5x2x0.5mm nylon washers (Qty 4)
- 5x2x1mm nylon washers (Qty 2)
- 1.6mm nuts (Qty 4)
- 2.0mm nuts (Qty 2)
- UNC 0-80 1/8" button head socket screws (.032 allen key)
- Straight male header pins (qty 4)
Structures (3D printable)
- Plastic Coil Holder
- PCB arms (Qty 2, left and right)
- Dash Mount
- 20x80mm Prototype boards (modified, Qty 4, or print the 3D models)
- Rubber Stops (weather stripping, Qty 3)
- (3D parts can be found here: http://www.thingiverse.com/thing:2159548)
- 100mm acrylic globe
- Internal hanger
- Colored Acrylic Dash Panel (or 3D printed panel)
Want a barebones kit? Get yours here:
Want a complete kit instead? Get it here:
Step 2: Print the Parts!
In order to successfully build this project, you will need parts that represent the parts shown here, or will need to remix your own parts to replace the mechanical support these parts provide inside the sphere.
Print the parts found here:
ABS Plastic works best, but you can get by with PLA. Included are STL files for the Prototype PCBs, so you can skip those. Also included is the STL for the main PCB, which you could print and attach breakout boards, such as the Arduino Pro-Mini, etc.
Step 3: Modify the Coil
Unsolder the included wires on the RX coil board and attach the JST connector wires. Don't reverse the polarity!
Step 4: Modify the Speed Controller
We need to add a servo wire to the speed controller, as well as a header so we can connect the Gyro motor to the ESC.
Remove a pin from the 2x2 header and using a pair of wire cutters, trim off the plastic corner you just removed the pin from. Be careful not to shatter the rest of the header. You will need to slightly bend two of the pins towards one other pin for the header to correctly fit into the Gyro motor's connector.
Using an aluminum metal plate, we drilled holes to insert the header into, which then allowed us to sit the ESC on top of the header and solder the pins to the ESC. The plate acts as a heat sink, preventing the pins from overheating and melting the plastic of the header. Soldering the header to the ESC will be difficult, since the board itself is made with 2oz copper, instead of typical .5oz copper.
Pre-tin the servo cable wires.
Solder the pre-tinned servo cable wires to the ESC. Watch the polarity and the PWM wire! Yellow/Orange/White goes to the "S" pin, Black goes to "-" and Red goes to "+".
Slip a piece of clear shrink tubing around the ESC and using a heat gun, heat the tubing until it shrinks around the board. Be sure to leave plenty of pins on the header exposed.
Using a small/long screwdriver, tightly wrap the servo wire around the screwdriver in a candy cane fashion. This will leave the wire in a coil, which is easier to route/manage in the Cosmoneer during final assembly.
Step 5: Modify the OLED Board
We need to install the Micro JST connector wire and set the I2C jumpers on the board.
Locate the I2C communication jumper on the back of the PCB and using a soldering iron, make a solder bridge between the corresponding pads to set the board for I2C communications.
Make sure the color of the wires matches the picture. If not, then you will need to make sure the positions of the wires in the connector are plugged into the correct points on the OLED board.
Insert the wires from the back of the board into their corresponding positions. Solder them into place.
Step 6: Modify the Gyro Motor
Since the Cosmoneer is designed around a specific motor, this step details the modifications required to prepare the surplus "floppy motor" into our needed gyro motor. For this step, we strongly suggest you obtain a pre-built CMG, but we understand if you are a die-hard DIYer, so we provide the full instructions on how we did it here just for you.
Slowly peel the flex circuit from the metal arm. Once completely detached, remove the adhesive from the arm.
Using a pair of flat pliers (or a hand-held brake-form like I eventually did), bend the metal arm right at the point where the metal turns an angle. Put a 90 degree bend into the metal.
Put masking tape over the back side of the motor where the flex circuit attaches. This will prevent metal shavings from the drilling /debur process from entering the motor, thus ruining it or shortening its lifespan.
Using a ?? drill bit, drill two holes midline of the arm, XXmm from the bend and YYmm from each other.
Using a dremel or other tool with a cut-off wheel, trim the excess metal of the arm. Smooth/debug the cut edges until they are no longer sharp.
Remove the tape.
Step 7: Modify the Servo
If you are building this on your own, then you will need to prepare the servo horn to accept the gyro motor.
Tap the servo horn holes with a UNC 0-80 tap
Center the servo and install the servo horn at an angle onto the centered servo, since the gyro motor mounting arm is at an angle to the gyro motor itself.
Once you have the horn installed, install the screw into the horn to permanently attach the horn to the servo.
Using a small screwdriver, tightly wrap the servo wire around the screwdriver in a candy cane fashion. This will leave the wire in a coil, which is easier to route/manage during the Cosmoneer final assembly.
Step 8: Modify the 20x80mm Prototype Boards
If you opted to mill your own 20x80mm prototype boards, then this is the step where you will want to accomplish that. Otherwise, you're other choices are to obtain the pre-milled board or to 3D print filler boards.
We use a Roland Modela MDX-15 mill to perform this task with a custom made jig to hold the boards.
Step 9: Assemble the Lower Coil
For this step you will need the Coil holder, the RX Coil and the two PCB arms.
Identify and separate the left and right PCB arms.
With the coil holder face up on a flat surface, place the RX coil over it so the RX board's components are facing the surface.
Take the left pcb arm and slide it into the slot on the coil holder. Be sure it presses flush against the coil.
You may use fast acting super glue to hold the arm in the coil holder if there is insufficient friction holding it in place. Try not to get any glue on the coil itself, as it may pull the protective coating off of the coil wires.
Repeat the procedure above for the right PCB arm.
If you used glue, set this assembly aside to dry.
Step 10: Attach Front PCBs to Mainboard
For this step you will need the two front PCBs. If you opted to 3D print fillers, then you will need different components to attach your fillers. The filler option is currently untested and may not provide as rigid of a support system as the direct solder method.
Optionally, you may solder header pins into the main PCB holes first, prior to mounting and soldering the custom PCBs to the mainboard. This would provide a higher strength connection between boards over the solder-only connection. For ultimate connection, use ultra-long header pins and solder them to the custom PCBs first, then bend those pins until the board sits correctly on the mainboard with all the pins inserted into their holes.
When using custom PCBs:
Place your Cosmoneer Mainboard component side down on a flat working surface. Tape it down to keep it in place, making sure the eight solder pads (four on each side of the board) are not covered and the outlines of the PCB locations are not covered either.
Using a third hand device, position one of the PCBs over the outline. Build a solder bridge from the edge fingers to the nearest hole in the board. Do this for all four holes on each side of the PCB.
Repeat the above procedure for the other PCB.
When using a 3D printed filler boards (this method is untested and is subject to change):
Insert the attachment material into the filler board. I suggest a pair of wires or header pins.
Place your Cosmoneer mainboard component-side down onto a flat work surface. Tape it down, insuring not to cover the solder holes or the PCB outlines.
Using a third-hand device, position one of the filler boards over the outline, inserting the attachment material into the holes as you go. Solder the attachment material into the holes, making sure you have no slack between the filler and the mainboard, nor any slack in the attachment material.
Repeat the above procedure for the other side.
Step 11: Attach the Coil Assembly to the Mainboard Assembly
This is the most difficult step to perform in this instructable, but also the most rewarding. It demonstrates a novel approach to make an attachment between dissimilar materials using off-the-shelf components. On with the assembly!
Go slowly with this step, as you might force a header pin into your finger if you hurry or are forceful. We STRONGLY suggest you wear eye protection during this step to prevent flying materials from hitting your eyes.
If you have not already done so, remove the header pins from the header you intended to pull pins from. Set them aside (careful around carpet!)
Align the front PCBs with the coil holder pcb arms and test fit them. If they align correctly, and the holes in the pcb arms appear to align with the holes in the PCBs, then proceed to the next step.
Using a pair of pliers, insert one of the header pins from the outside of the pcb arm. SLOWLY work the pin into the arm, keeping it straight. If the pin stops going in, verify the alignment of the PCB to the support arm. Once the pin goes through, continue to press it until the tip of the pin breaks through the other side of the support arm.
Repeat the above for the second pin.
Repeat steps 3 & 4 for the other PCB and its support arm from the opposite side.
Using a pair of wire cutters, trim the excess header pins from the support arms. Avoid cutting them where the excess might fly towards anyone's face or eyes.
Admire your work up to this point and set this assembly aside, we will use it later.
Step 12: Attach Gyro Motor to Servo
Take the two button head screws and insert one of them through the gyro mounting arm and thread it into the corresponding hole in the servo horn. Repeat for the second screw.
You should be able to gently twist the gyro motor towards the servo end stops and visually see the gyro motor is relatively at the same angle opposite each end stop. To verify centeredness, you can electronically center the servo and verify the gyro is centered. Due to the coarseness of the splines on the servo horn, you may not be able to mechanically center the gyro perfectly, but may instead have to center the servo/gyro programmatically.
Step 13: Attach CMG to Dash Mount
Using one of the servo mounting screws, attach the CMG assembly to the dash mount.
Step 14: Attach Counterweight to CMG
You will need glue of some sort to attach the Counterweight to the CMG/Dash.
Dry fit the Counterweight to the Dash/CMG and trim as required until the part surfaces are flush against each other. Once they are flush, then you are ready for glue. Place a dab of glue on the CMG side only. This way, you can remove the CMG easily if needed. Set aside to dry.
Step 15: Attach OLED to Dash Mount
Using two 1.6x6mm screws, 0.5mm washers and M1.6 nuts, we will attach the OLED display to the Dash Mount.
NOTE: The edges of the OLED are fragile, especially at the corners near the mounting holes and will not tolerate any finger pressure on them. Work SLOWLY with this step and purposefully avoid the display to avoid damaging your OLED display.
Guide the I2C wires through the Dash Mount opening.
Align the OLED PCB with the Dash mount and press it into place. You may have to bend the mount to widen the gap just enough to accept the display.
Align the display mounting holes with the Dash Mount.
Insert the screws w/ washers, attaching the nuts on the back. Tighten the nuts until snug.
Step 16: Attach Dash Panel to Dash Mount
If you are assembling this from parts you printed, you may need to tap the dash mount holes with a M2 threaded tap. This Step will include steps to perform this task, but you may skip it if it is not required.
Prior beginning this step, make sure you have removed the protective film from the OLED display!
Tap the two holes in the Dash Mount with a M2 threaded tap.
Insert one of the M2 x 4.0mm screws into the Dash Panel (or Dash panel filler board) and screw it into the corresponding hole in the Dash Mount. Tighten the screw until snug. Do Not Over Tighten.
Repeat step 2 for the remaining screw.
Step 17: Attach Dash Assembly to Main Assembly
Finally, you are almost done with your Cosmoneer! Be patient with this step, since you will be working in small spaces attempting to put fasteners together. I strongly suggest you work on a large, smooth surface where if you drop a screw, nut or washer, you can quickly grab it again. Otherwise, these fasteners are quickly lost in carpet!
Due to the orientation of the 3D printed Dash Mount, the arms which act as the attachment points for the main pcb can be broken if sufficient force/torque is placed on them. Care should be taken to avoid bending the main PCB against the Dash Mount once attached via fasteners.
Connect the OLED display connector. Guide the wires and bend them at the PCB connection so they are routed out the side. This is a tight fit, which will be taken care of in future versions of the Cosmoneer, or can be taken care of now by moving the SMD connector backwards (away from the edge of the PCB.)
Slide two of the M2x10mm screws with washers through the Main PCB.
Guide the M2x10mm screws through the Dash Mount main pcb attachment arms. You may use masking tap to hold the screws in place.
Flip the assembly over and place a M2x1.0mm washer onto each screw, then place a M2 nut onto each. Tighten until snug.
Step 18: Attach Rear PCBs to Dash Mount
For this step you will need the two rear PCBs. If you opted to 3D print fillers, or made your own PCBs, then you will need to tap the holes with a 1.6mm tap. If using 3D printed fillers, you may not need to tap the holes, since they may be large enough to accommodate the screws with no tapping required.
We have typically tapped the holes in the sides of the Dash Mount, but you may find you don't have to. If the screws do not start threading on their own, then you will need to tap the holes. Whatever the case may be, this step will include the complete steps as if nothing was tapped at all. If everything is tapped, then you may skip to the last couple of steps, i.e. attaching the boards to the sides of the dash mount.
Tap holes in sides of Dash mount with 1.6mm tap.
Tap holes in PCBs or filler boards.
Insert two screws into each PCB, making sure you observe the orientation of the PCB for each side of the Dash Mount.
While firmly holding a PCB/filler against the Dash Mount, start a screw into the dash mount. This step is easier if your screw protrudes from the PCB just enough as to catch hold of the hole in the side of the Dash Mount.
Continue threading the screw into the dash until it is firmly seated. Make sure there is no gap between the dash and the PCB.
Twist the PCB until the second screw is in alignment. Thread the screw into its corresponding hole, making sure the PCB is firmly pressed against the Dash Mount. Continue threading until the screw is flush against the PCB.
Repeat step 4 for the opposite side PCB.
Step 19: Connect RX Power Coil
Route the RX Power Coil leads and position the RX coil PCB on top of the Balancer. Continue routing the JST connector and plug it into the male JST header on the rear corner of the main pcb.
Step 20: Install and Connect CMG, Gyro Speed Controller and SuperBurst Board
Now you're getting to the fun stuff. In this step your connecting the guts of the Comsoneer, all the things that make the 1DOF fun and challenging at the same time.
For this step, you'll need the CMG, SuperBurst board ESC board and the servo extension cable.
Using a small/long screwdriver, tightly wrap the servo wire around the screwdriver shaft in a candy cane fashion. This will leave the wire in a coil, which is easier to route at this stage. Attach the servo extension cable to the input side of the SuperBurst board. Be sure to observe the orientation/polarity of the servo leads.
Attach the ESC board to the output side of the SuperBurst board. Make sure to observe the orientation/polarity of the ESC leads.
Place the SuperBurst board into the Cosmoneer. insuring the ESC output is on the right side of the Cosmoneer, when facing the Cosmoneer from the front.
Connect the Gyro motor to the ESC. Plug the ESC into the Gyro motor connector, flex circuit facing the ESC (not the connector side, see picture.)
Connect the SuperBurst board to the Cosmoneer mainboard. Make sure to observe the orientation of the servo leads.
Connect the Servo lead to the Cosmoneer mainboard. Make sure to observe the orientation of the servo leads.
Step 21: (Optional) Install Internal Hanger
If you want to operate your Cosmoneer without the sphere, you can install the optional internal hanger. with the hanger installed, you can place your Cosmoneer inside the sphere at any time, since it fits inside the 100mm spherical envelope.
Slide one side of the hanger under the corresponding edge of the mainboard.
Gently expand the hanger as you bring the hanger edge under the opposite side of the mainboard.
Align the mounting holes of the hanger with the mounting holes in the PCB.
Insert two M1.6 screws and 0.5mm washers into the PCB and hanger.
Attach nuts to the M1.6 screws from the backside of the hanger and tighten until snug.
Step 22: Install Rubber Stops
Welcome to the challenge portion of your assembly! If you never intend on using an acrylic sphere with your Cosmoneer or you only intend on using it as a protective cover, then you can skip this step.
Here you will install the rubber stops that will enable you to quickly install your Cosmoneer into the acrylic sphere. Without these stops, the Cosmoneer is free to shift around in the sphere and depending on your assembly, it will do just that. Without proper alignment with the induction coils, your Cosmoneer will not perform at its optimum while inside the sphere.
To perform this step without the aid of a template, you'll need a pair of tweezers or needle nose pliers. Then you'll need to separate a couple of pieces of the weather stripping, which will leave you with 4 short strips and one wide strip.
Find the centerline of the sphere and install the wide strip on the Male (needs verification) side of the sphere.
Place the Cosmoneer into the half of the sphere with the freshly installed strip. Visually adjust the Cosmoneer until the dash/display appears to be centered below the sphere hanger.
Take one of the short strips and place it under one of the edges of the Dash Panel. Make sure the Dash is still in alignment with the sphere hanger.
Repeat step 3 above for the opposite side. Make sure the Dash Panel is still in alignment and level.
Using tweezers or pliers, take another short strip and place the next strip behind the Dash Panel in such a manner so that it acts as a stop for the back of the Dash Panel. Make sure the Cosmoneer is level in the spherical half it is sitting in. Adjust the stop position until the Cosmoneer is level.
Repeat step 5 for the opposite side.
Step 23: Add Pennies for Counterweight/balance
If you have installed all the components as instructed, you will need approximately 6 pennies to adjust the center of gravity for your Cosmoneer. With six pennies in hand, place three pennies into each side of the Balancer. Make sure the first penny is sitting level at the bottom of the Balancer.
Step 24: Update Firmware
Before you embark on your mission of exploration, you'll need to make sure your version of the Cosmoneer has the latest version of firmware installed.
Head over to GitHub and locate your version of Cosmoneer. Make sure your computer meets the prerequisites for installation.
Download and install the firmware for your Cosmoneer Proto to your PC.
Open the version of Arduino's UI and open the Sketch you just downloaded.
Using an USB/FTDI cable, connect to your Cosmoneer and upload the Sketch.
Disconnect your Cosmoneer.
Step 25: Enjoy!
Congratulations! You have built your very own Desktop Satellite Simulator! With the Cosmoneer Proto, you can write code and program your satellite to navigate just like a real satellite. If you previously built the Cosmoneer Proto Stand, you are now ready to test-drive your Cosmoneer Proto!
If you want to do more, head over to the discussion forum and share your insights and challenges! We look forward to hearing from you.
If you have design ideas or tweaks to this specific instructable, leave feedback below. If you have tweaks or changes for the 3D parts, please leave feedback on Thingiverse. Otherwise, please visit the Cosmoneer forum for all other topics.
Since this is an open-source project, be sure to "Share-Alike". Our mission is to democratize space, so please DO-NOT apply "non-commercial" attributions to your shares based on this design. Let's keep it open!