The tBB Troubleshooting Guide has been created to support solving challenges faced by tBB users. The guide is divided into four main sections:
- Part Production Support
- Wiring and Electronic Support
- tBB Coding and Programming Support
- Bleeble Tech Controller Support
Search each section for a description closest to the challenge you are facing and open the content for possible causes and tips to solve.
3D-Part Production Support
Having a properly tuned and functioning 3D-printer is the responsibility of the school. Refer to your owners manual and online support for specific issues with your printer.
The information below is offered as general suggestions that may help narrow down troubleshooting efforts.
The most likely cause of this is improper bed adhesion. Consult your 3D printer manual and help resources.
Try the following:
- Ensure the printer bed is level
- Ensuring the Z-offset is set correctly (consult you 3D printer documentation)
- Some printers require using an adhesive such as a glue stick to help secure parts during printing (consult your 3D printer documentation)
The most likely cause of this is an under extrusion of 3D printer filament. Consult your 3D printer manual and help resources.
Try the following:
- Check the 3D printer nozzle for blockages, clear blockage if required (consult your 3D printer documentation)
- Check the filament (ensure the filament is not old or brittle)
Depending on the accuracy set-up of the 3D printer, it may be difficult to start threading a bolt into the holes
Try the following:
- Check the setup and accuracy of the 3D printer
- Use a small craft/Exacto knife (or pointed jewelry file) to widen the opening of the hole. This will help the bolt get started, then it should thread through the part
- Troubleshooting 3D Printed Parts
This may be a printer set up issue or the parts were stripped by over tightening or have just become old.
Try the following:
- Check the setup and accuracy of the 3D printer
- Replace the current bolt with a longer one and use a self-locking wing nut on the back to secure the part
- Replace the stripped part with a new one
- Troubleshooting 3D Printed Parts
Wiring and Electronic Support
This section covers issues with wiring, loose connections, loss of power and loss of Bluetooth connection
If nothing turns on after installing the batteries there is no power coming from the batteries into the Arduino
Try the following:
- Check that that batteries are installed correctly in the battery holder.
- If you have a multimeter (recommended) use it to test the voltage coming from the battery pack. If no voltage is detected the issue is in the battery pack.
- Check the alignment of the batteries and the connection of the batteries to each terminal on the battery holder. Use a flat screwdriver to “pry” the batteries from the spring side ensuring each battery is making contact at both ends
- Ensure the barrel connector is properly inserted into the power jack of the Arduino.
- Try a different power harness to see if this resolves the issue.
If the Arduino and motor shield are getting power but not the motor controller, the issue is in the wiring from the Arduino to the motor controller
Try the following:
- check that the red wire is inserted fully into the Vin pin on the sensor shield
- check that the red wire is fully inserted and tightening into the VCC terminal on the motor controller
- check that the black wire is fully inserted into a GND pin on the sensor shield
- check that the black wire is fully inserted and tightened into the GNG terminal on the motor controller
This is more than likely a loose wiring/ connection issue. If the connection between the sensor shield and the Bluetooth module is not solid the Bluetooth can disconnect when the robot moves, hits a bump, etc.
Try the following:
- Check the battery level – if the batteries become drained this can cause a “brown out.” There is enough power in the system to make the connection but once the motors turn they draw all the power away from the Bluetooth module, causing it to disconnect. A minimum of 6v is recommended.
- Check the wiring harness from the sensor shield to the Bluetooth module. Be sure all the wires are fully plugged in and are tight.
- You may need to replace the wiring harness, after a while the connection can become loose.
The most common cause of this issue is that the Bluetooth wiring from the sensor shield to the Bluetooth module is backwards.
Try the following:
- FIRST: Shut everything off, try reconnecting and restarting tBB and the controller
- Double check that there are no crossed wires between the Bluetooth wiring clip and the connection on the sensor shield (refer to the Electronics Assembly Guide)
- Check that the TX and RX pins on the Bluetooth module go to the TX and RX pins on the sensor shield
- Try flipping the Bluetooth module and connecting it backwards (this might mean removing the Bluetooth clip from the chassis temporarily)
- Try a different Bluetooth module
- Try replacing the Bluetooth wiring harness
THIS IS A SHORT CIRCUIT – This is a serious situation that must be dealt with immediately. It means that electricity is flowing uncontrolled and without resistance in the electronic system.
DO ALL OF THE FOLLOWING BEFORE TESTING THE ROBOT AGAIN
- Remove the battery pack and the batteries.
- Remove all batteries from the battery pack and inspect for damage. (burn marks, bulging – damaged batteries must be discarded)
- Reinstall all batteries, ensure that all batteries are installed correctly
- Double check that none of the batteries were installed backwards
- Carefully inspect the power harness and replace if needed
- Reconnect the power harness (barrel connector and battery snap)
- Turn on power switch and observe
- Shut down and redo all steps if the problem persists
When driving tBB one of the motors won’t turn a certain direction, but the other motor seems to be working fine. This situation is almost always a wiring issue.
Try the following:
- Carefully check that the 4 wires going from the motor controller to the sensor shield are connected to the right pins (white terminal on pins 3,5,6,11)
- Check for a snug fit of the wiring harness on the pins, if they are loose or come off easily you may want to replace a single wire (or the entire set)
- Check the connections from the motors to the motor controller to ensure proper connection, try removing and reinserting the motor wires into the motor controller
Sometimes the motor wiring doesn’t match the code resulting in one or both motors spinning the wrong direction (backwards instead of forwards).
Try the following:
- Check the wiring harness from the motor controller to the sensor shield, make sure wires are not crossed
- Swap the wires on the motor controller connected to the affected motor
There are several reasons why a servo might not be working. The most common are wiring issues, coding issues and possibly a broken servo.
Try the following:
- FIRST: check the servo wiring making sure the servo is on the correct pin and the wires are connected in the right orientation
- SECOND: try a different servo (this will help eliminate a broken servo being the cause)
- THIRD: check the code for errors (this is the most complicated to solve so do the easy stuff first)
- Check the servo setup
- Check the servo functions
- Check the main loop where the servo functions are being called
This is caused by the servo motor not being at the proper degree/location relative to what it should be based on the code. If the code is trying to set the servo to 90 degrees but it is only at 85 degrees, the Arduino continues to send power to the servo trying to make it move. This can cause humming, buzzing and heating. Eventually the servo will burn out.
Try the following:
- Inspect the servo set up and make sure there is nothing stopping the servo from moving into the correct position and remove any obstacles
- Connect tBB to the computer and use the serial monitor to get a read out of the current servo degrees, change the servo function limits to match any physical limitations on the servo
- Check the weight and strain on the servo, micro servos are designed for lightweight work, if you are trying to lift too much weight with the servo it will not be able to move to the specified location
- Consider redesigning the attachment you are controlling with the servo (can you make it lighter?)
Coding and Programming Support
This section provides support to common issues with coding, programming and uploading code to tBB.
Compiling errors are generally caused by a problem within the code. This could be a missing bracket, semicolon or other errors. Learning to troubleshoot code takes time and experience. Keep at it, over time you will learn to identify and solve many errors quickly.
TIP: when you first download the base code, make and rename a working copy. That way you can always start over with the original working code if you can’t find your error.
Try the following:
- Examine the code error produced by the Arduino IDE. This can help you locate the source of the problem
- Look at and around the highlight problem line (sometimes the error is before that)
- Look for other places that refer to the same variable, function etc.
- Check for missing semicolons, brackets or spelling errors (especially capitals)
- Click on a bracket to find its paired bracket
- Go back and carefully examine the last section of code you were working on
- If all else fails – go back to the original code and start over.
- Troubleshooting Code Errors Video Tutorial
Code not uploading can be one of several issues. Often this is an issue with the connection/communication between tBB and the computer.
Try the following:
- FIRST: Check to see the Bluetooth module has been disconnected from tBB (MOST COMMON ISSUE)
- Check that the robot is connected to the computer with the USB cable
- Check the port the in the Arduino IDE to ensure the Arduino is recognized and you are connected to the correct port
- Check and close other programs (some programs that open on your computer can cause the TX and RX connection to be busy), this happens with CURA for example
- Close the Arduino IDE, unplug and shut off tBB, open, connect and try it again
This is usually caused by a joystick module that is not registering a proper center value when at rest.
Try the Following:
- Open your current tBB code and navigate to the controller_handling.hpp tab
- scroll down and find the “kJoystickDeadzone” line of code (static constexpr uint8_t kJoystickDeadzone = 25;)
- try increasing the value of the deadzone and upload the code
- fine tune the deadzone until the problem goes away
Bleeble Tech Controller Support
Bleeble Tech controllers come pre-programed, there should be no need to troubleshoot coding with the controllers. Once the code is loaded there is no need to change the code unless Bleeble Tech launches an update. For additional troubleshooting or tech support with Bleeble Tech controllers go to bleebletech.ca NOTE: you must use a desktop/local install of the Arduino IDE when programming the ESP32 for the controller. The cloud version of the Arduino IDE does not support this process.
The two most likely causes are a missing CP2102 driver or a faulty micro-B USB cable.
Check The Driver
- Plug in the ESP32 with a programming cable
- Go to the Device Manager
- Look under Other devices
- If you see a warning symbol beside the CP2102 driver then the driver is not installed and you must install it
- To download the driver go to Silicon Labs CP2102 Driver Download. Download and install the driver for your specific machine
- Note: you may have to extract the file before you will be able to install it on your computer
- If you do not have admin rights on your computer (often the case with school computers) you may need to contact your IT support team to have this installed for you
Try a different micro-B USB Cable
- Check the quality/functionality of the micro-B USB cable (some cheaper micro-B USB cables are only designed to transmit power but not data, ensure you have a cable that is configured for both power and data transfer)
This may be caused by a missing library (or a wrong version library) or missing ESP32 board.
Install the ESP32 boards by Espressif Systems
- As of June 11,2024, you must install version 2.0.11 (Version 3.0.0 and above are not compatible due to a breaking change made by the ESP32 library. We are working on a fix for this!)
- Newer versions of this board will cause a compiling error due to a change in a reference library (a new controller code is under development to fix this issue)
- Go to the Boards manager menu and search for ESP32 by Espressif Systems
- Install version 2.0.11
Install the needed Libraries
- Go to the Manage Libraries menu and install:
- ESPSoftwareSerial by Dirk Karr & Peter Lerup
- Preferences by Volodymyr Shymanskyy