top of page
Program Overview:

Ngen-Robots are hands-on hardware and software robotics kits that allow users to build, wire, and program their robots from scratch. Users can assemble, disassemble, modify, and rebuild each robot in different ways, letting them create beyond the original design. By learning important concepts such as connecting structural pieces, using black inserts and fasteners, basic circuitry, and working with components such as motors and sensors, users gain the skills needed to design and create their own robotic systems. With Ngen-Robots, creativity is the limit.


Dynamo Overview:

The Dynamo is a mobile robotics build designed to introduce users to the fundamentals of mechanical assembly, wiring, sensors, and programming. Users will construct the robot chassis, connect and control its DC motors, and learn how different sensors allow the robot to react to its surroundings. Depending on the included components, the Dynamo can be programmed for activities such as remote-controlled movement, sound emmision, and self movement. By completing the Dynamo build, users gain a stronger understanding of how mechanical parts, electrical connections, computer file structure, and code work together to create a functioning robot.


Microcontroller Overview:

The C2G-Mini is a Raspberry Pi Pico–based microcontroller designed for robotics, sensors, and beginner-friendly hardware projects. It provides dedicated connections for motors, servos, power, and external electronic devices while keeping the wiring organized and easy to identify. Certain devices, including the Sonar Sensor, RGB Sensor, and 4-Digit Display, are supported only through the two designated multi-signal headers connected to GPIO 0 & 1 and GPIO 4 & 5. Because these devices rely on the UART communication lines, they should only be connected to the designated headers associated with these pins.



Dynamo Parts Included

Please review and ensure you have all your pieces.



Assembly

Step 1: Wheel (Bag A)

First, start by grabbing two long curved pieces and 1 shorted curved piece. 


Step 2: Wheel cont. (Bag A)

Attach them by dropping a long flat head screw through the top and securing it with a brass spacer on the backside.


Step 3: Wheel cont. (Bag A)


Step 4: Wheel cont. (Bag A)

Next, grab two of the smaller, medium sized, curved pieces and attach them on the other side of the small curved piece creating a half circle.


Step 5: Wheel cont. (Box A)

Repeat the previous steps and pattern with the long, medium, and small curved pieces until the entire wheel is built, forming a complete circle.



Step 6: Wheel cont. (Box A)


Step 7: Wheel Rim (Box A)

Place the long bar across the diameter of the circle. Aligning the ends with holes found on the two short curved pieces.


Use the flat head long screws and brass spacers to secure the bar on each side.


Step 8: Wheel Rim (Box A)


Step 9: Wheel Rim (Box A)

Secure the circular center rim piece using two flat head long screws and two M3 nuts.



Step 10: Wheel Rim (Box A)


Step 11: Repeat steps 1-10 (Bag B)


You should have two wheels before moving to the next steps.


Step 12-14: Chassis (Bag D)

Assemble your materials in this layout, stack them together in this same order from top to bottom, and fasten with the long screws at the top and caps at the bottom.






Step 15-17: Chassis (Bag D)

Insert a two black inserts horizontally into the middle slot. Fasten them with the two shorter flat head screws from the underside.





Step 18-20: Chassis (Bag D, E)

Insert 2x black inserts vertically into the outer slots, on both sides of the weight assembly. Place two spacers against the blocks. It will sit between the motor mount and block.



Fasten the DC motor mounts (Bag E) to the weight assembly using the 3M longer flat head screws. Repeat for the other motor mount.




Step 21-31: C2G-Mini (Bag C, C+, H)

C2G-Mini Pin Layout


Wiring Notes

If you follow the wiring shown in this manual and use the matching code, the robot should operate correctly. If you choose to change the wiring or connect your own sensors, use the pin layout from the previous page (11) to identify the correct Power, Ground, and Signal/GPIO pins.


Important Wiring Notes:


  • Always check the voltage required by your device before connecting it.

  • The Servo header includes a PWR/5V pin that can supply up to 5V. Some sensors and electronic components are designed for 3.3V only and may be damaged if connected to 5V.

  • G / GND = Ground. Ground wires must only be connected to a Ground pin.

  • S / GPIO = Signal. These pins are used to send or receive data. Do not connect a Ground wire directly to a Signal/GPIO pin.

  • 3V3 = 3.3V Power. Only connect devices that are designed to operate at 3.3V.

  • 5V / PWR = 5V Power. Only connect devices that can safely operate at 5V.


Before turning the robot on, double-check that Power, Ground, and Signal wires are connected to the correct pins.

If you are unsure which voltage a sensor requires, check the sensor specifications before connecting it.


⚠ Incorrect wiring can damage the controller or connected device. Never connect a power pin directly to a Ground or Signal/GPIO pin.


How to Wire the DC Motors

Model: USB-C Hardwired


Model: Wireless (Wifi & Bluetooth)


Quick Start Guide

Quick Start Instructions


Once your robot is fully assembled and both DC Motors are connected, you're ready to begin coding!


This will open the Coding Workspace, where you'll create the code that controls your robot.


Before you begin coding, make sure the correct hardware is selected.


Look at the top-left corner of the Coding Workspace to find the hardware selection menu.


For the Bimo-A robot, the correct hardware is C2G-Mini.


Make sure it is selected before continuing.


If you selected the wrong hardware, want to rename your program, or want to start fresh, click New Project.


  • Important: Starting a new project will erase any unsaved code in your current workspace. Make sure to save your work before continuing!


Saving Your Work:


The Coding Workspace offers two ways to save your program: Save Project and Save Code.

  • Save Project (.mby): Saves your project so you can reopen and edit it in the Code2Grow Coding Workspace.

    • Click Open Project to load a previously saved .mby file.


  • Save Code (.py): Downloads your program as a Python file, which can be opened and edited using compatible Python or MicroPython software.

    • The .py file can also be uploaded to your C2G-Mini microcontroller using a compatible upload method.


Creating a New Project:


Once your work is saved, you're ready to create a new project.


Each hardware option is designed for a different robot or product offered by Windtree Education. These options include special coding blocks, examples, and libraries that help you program your specific robot.

  • C2G-Mini Servo: Designed for robots that use servo motors, such as the Motomo.

  • C2G-Mini Arm: Designed for robots that use multiple servo motors and RGB color sensors, such as the C2G-Mini Arm and Mobile Arm.

  • Mechatronics: Designed for mechatronics builds, including the Green Car, Railroad Gate Lever, and Little Train.


Naming Your Project:


You can name your project here or rename it later in the Coding Workspace.

Once you've selected the correct hardware and named your project, click Create to begin!


Connecting Your Robot:


Now that your project is created, it's time to connect your robot to your computer!

  • Plug the USB-C end of your cable into the C2G-Mini microcontroller.

  • Plug the USB-A end into your computer's USB port.


Turning On Your Robot:


Next, turn on your robot by locating the ON/OFF switch on the C2G-Mini microcontroller.

Slide the switch toward ON to power on your robot.

⚠ Warning: The ON/OFF switch is delicate and may break if too much force is applied. Always move it gently.


Connecting to the Coding Workspace:


Now that your robot is connected to your computer and powered on, it's time to connect it to the Coding Workspace.

Click the Terminal icon at the bottom-right corner of the workspace.


The Terminal is a window that displays messages from your C2G-Mini, including program results, errors, and connection information.


These messages can help you understand what your robot is doing and identify problems in your code.


Next, click the Connect icon (chain-link symbol) at the top of the Terminal.


Connecting Your C2G-Mini:


After clicking Connect, a pop-up window will appear showing available devices.


Look for Board CDC (COM#), select it, and click Connect.

If your C2G-Mini doesn't appear, make sure the USB cable is connected and your robot is powered on.


Confirming Your Connection:


Once connected, you'll see two signs of a successful connection:


  • A green check mark in the Terminal.

  • A CONNECTED message at the bottom-right corner of the Coding Workspace.


If a red connection message appears, check your USB connection and try again.


Uploading Your Code:


You're now ready to program your robot!


Once you've created your program, click the Upload button at the bottom-center of the Coding Workspace to transfer your code to the C2G-Mini.


Letting Robot run by itself after programming it:


After disconnecting robot from computer, to rerun the code, press “RUN” button on C2G microcontroller.


Sonar Sensor

Sonar Sensor


The sonar sensor itself is a device used to determine distance. It uses the same operation as echolocation. The sonar itself has two ultrasonic transducers that look like eyeballs. One transducer (Transmitter) emits a soundwave bouncing off objects. The second transducer (Receiver) measures the reflected sound wave, providing a measured distance.


Sonar sensors are typically used for detecting objects and measuring distances in various applications, such as underwater mapping, fishing, and advanced driver-assistance systems in vehicles for parking assistance and obstacle detection.


Hinge Attachment on front

Step 1: Hinge (Bag E)

Step 2: Sonar Sensor (Bag G)

Sonar Sensor Wiring

⚠ Incorrect wiring can damage the controller or connected device. Never connect a power pin directly to a Ground or Signal/GPIO pin.


Sonar Sensor Coding

For Sonar: Ensure your project is configured to the C2G - Mini hardware indicated in the top left of the workspace.


Ensure all library files have been installed to the microcontroller via this icon in the top right of the Code2grow workspace.


Once the correct hardware (C2G-mini) is selected and all required libraries are installed, locate the Sonar Input category in the left command menu.


Set up:


Before using the Sonar Sensor, you must first set its pins. The pin numbers depend on where the sensor is connected to the C2G-mini. If following the wiring schematic, the Trig and Echo pin numbers will be GPIO 1 & 0 respectively

  • Trig Pin: sends out a sound pulse

  • Echo Pin: measures the time it takes for the sound pulse to bounce back


Side Note:

  • The Sonar sensor can only work properly by plugging the echo & trigg pins into either the: GPIO 0 & 1 pins or GPIO 4 & 5 pins.


Sonar Sensor Coding pt.2

After the initial setup, the Sonar Sensor is ready to use. Here are some coding blocks you can use:


Example 1:

  • This command displays the distance measured in the terminal. In this case, the measurement will be in centimeters.


Output:


Example 2:

  • Puts the motors in forward and continuously sends out sound pulses until and object is 10cm away. 


Example 3:

  • Set the robot’s speed and target distance. The robot will move forward or backward to maintain the selected distance from an object.


IR Line Tracking Sensor

IR Line Tracker Sensor Wiring

⚠ Incorrect wiring can damage the controller or connected device. Never connect a power pin directly to a Ground or Signal/GPIO pin.


Ground and PWR pins must be connected correctly and should never be swapped.


PWR and Ground wires are typically identified by color:

  • Red = Power

  • Black = Ground


The wire connected to VCC/PWR should connect to the correct power pin on the C2G-mini.


The wire connected to GND should connect to a G/GND pin.


Step 1: Rounded M3 Screw (Bag J)

Step 2: M3x2mm Brass Spacer (Bag J)

Step 3: Line Tracker (Bag J)

An IR line tracking sensor is used to detect differences between light and dark surfaces. It works by sending infrared light toward the ground and measuring how much of that light is reflected back.


Light-colored surfaces, such as white, reflect more infrared light, while dark surfaces, such as black tape, absorb more of it. The sensor uses this difference to determine whether it is positioned over the line or the surrounding surface.

IR line tracking sensors are commonly used in autonomous robots, line-following vehicles, warehouse robots, and educational robotics. By continuously detecting the surface beneath the robot, the sensors can help it decide when to move forward, turn left, or turn right.


IR Line Tracking Sensor Coding

Ensure your project is configured to the C2G - Mini hardware indicated in the top left of the workspace.


Ensure all library files have been installed to the microcontroller  via this icon in the top right of the Code2grow workspace.


Locate the needed example code labeled  “Line Control” found under this icon in the top right of the workspace.


Add the example code to the worksapce via the arrow icon in the top right of the window.


IR Line Tracking Sensor Coding pt.2

Below is the code used to follow a black line on a white surface.

This example can also be found in the Coding Examples.

  • To follow a white line on a black surface, reverse the sensor conditions.


If you do not want to build the line-tracking code from scratch, you can use one of the pre-made blocks below.


IR Remote

IR Remote Configuration

Ensure your project is configured to the C2G - Mini hardware indicated in the top left of the workspace.


Ensure all library files have been installed to the microcontroller  via this icon in the top right of the Code2grow workspace.


Locate the needed example code labeled “IR Remote Control” found under this icon in the top right of the workspace.


Add the example code to the worksapce via the arrow icon in the top right of the window.


With the sample code in your workspace, look on the back of your IR remote to find its specific IR address, enter it in the block Only Recieve CMD from IR with Address. Press the large upload icon in the bottom of the workspace.


This example code programs this movement control configuration, but all buttons are programable.


Determining IR Address

Insert “Get IR Address” in the code & run it. Leave the address box as 0.


Aim remote to the microcontroller, press any programmed buttons on remote (arrow button).  Bimo-B will move as intended & IR address is outputted on the terminal.


Output:


Troubleshooting

Terminal Error:


A terminal is a window that displays information sent by your program while it is running. It helps you see what the robot or microcontroller is actually doing behind the scenes.

  • Here you can see can see my C2G-Mini is missing a Library. Once installing the missing library, the program will run.


Display Errors:


One simple test, is using the print command. The print command displays its input within the terminal. 

Output:


Examples:

  • Displays the output of pin “0”, you can change the selected pin.


  • Using the sonar sensor, displays the distance measured in cm 


Hardware


  • The Robot Is Moving and Turning in Opposite Directions

    • Wires are plugged in opposite or incorrectly

    • Ensure the motor wires are plugged in to the correct locations following the wiring diagram found in your manual.


Software


  • Robot is not responding or moving

    • Ensure you created a new file and have selected the “C2G-Mini”

    • Ensure you have downloaded the appropriate library files from the Library Icon

    • The “Installation” button will automatically install all of the necessary files needed to make your hardware move.


Errors in the Terminal:


Your terminal will notify the user of any output errors. Depending on the type of error, will result in a number of various solutions.

  •  Missing file / Unknown Variable

    • This happens whenever a library is missing, simple locate the filling file within the library and install. It’s like asking your robot to make you a pb&j but it doesn’t know what a sandwich is.

  • The second most common would be a Micropython Error. This occurs when rapid installations take place, an outdated microcontroller or USB-C cable issues.



  •  One easy solution is to click on the terminal so your text cursor appears.

    •  Once blinking, click “Ctrl + B”


  •  Second option, click upgrade firmware. This will reflash your microntroller to the latest update

    •  Reinstallation of base files will be required.


Lithium Battery


  • Disconnect your battery from your robot when not in use to prevent overheating and damage.


C2G-Mini Microcontroller


  • Be gentle! These boards are very delicate.

  • Battery power display: 4 charging indicator lights are on/off to show battery power saturation 0%, 25%, 50%, 75% and 100%


  • Infrared receiver: The receiving distance is up to 10 meters, and it can remotely receive infrared remote control instructions to execute various movement actions of the machine mechanism.


  • When programming:

    • Minimum speed: 1

    • Maximum speed: 100

    • When switching from forward to reverse and vice versa make sure to add in "wait for 1 second"


Motors & Wheels, Dual H-Bridge


  • Make sure that you do not over tighten your DC motors with the acrylic attachments, since this causes issues with the rotation of the motors.

  • Wheels need to be properly positioned for the correct rotation of the motors, so make sure you have followed the correct placement.


Warning:


  • Changes or modifications to any of the hardware, the machines, wiring and or physical component can cause a malfunction to your mini microcontroller and won't allow for proper functionality.



Dynamo

bottom of page