Technology Forum Has Moved!

The FIRST Tech Challenge Technology forum has moved to a new location! Please take a look at our forum blog for links and instructions on how to access the new forum.

The official blog of the FIRST Tech Challenge - a STEM robotics programs for students grades 7-12.

Note that volunteers (except for FTA/WTA/CSA will still access their role specific forum through this site. The blog also outlines how to access the volunteer forums.
See more
See less

Indicator Lights and Sounds - custom LED and/or piezo electronics allowed?

  • Filter
  • Time
  • Show
Clear All
new posts

  • Indicator Lights and Sounds - custom LED and/or piezo electronics allowed?

    Our team had the idea to mount indicator lights on a motor-driven mechanism, which would be two separate LEDs - one for when the motor is on, and one for when the motor is off. The simplest way to do this is probably with transistors on a circuit board, hooked up passively to the same wires that drive the motor itself. However, it's unclear to me whether that's legal for Freight Frenzy. RE13 suggests that it might be legal, but the prohibition on "custom circuits" suggests that it would not.

    Another way to signal would be with a piezo buzzer, and again, sound effects seem to be allowed, but custom circuits are not.

    Neither of these applications would use a programmable microcontroller. There might be a 555 timer IC at most, with basic electronic parts - LEDs, piezo buzzers, resistors, capacitors, transistors for hardware logic.

    It would be a great way to introduce team members to soldering, as well as to give the robot some character -- but only if it's legal. If anyone has clarity on this, it would be very helpful.


    Patty Rutins
    Coach FTC#16221

  • #2
    Hi Patty, you can connect multiple LEDs to the sensor ports via LED controller or directly to digital out ports. Then command the LEDs on/off in your opmodes when you command the motors on/off. Is there a reason to connect the LEDs to the motor wire instead?


    • #3
      The main reason to hook to the motor wire is that it's right there and has the signals we need. If it's not legal, though, then sure, it's a good idea to hook into the sensor port. We probably won't have so many sensors that we'd run out of available ports, even if it would require a port per device. Can we use a bit of breadboard for mounting with appropriate resistors?

      Also, would a piezo buzzer be legal if hooked into one of the sensor ports, using a timer IC and appropriate resistors?

      At what point does a little bit of style cross the line into "custom circuits"?



      • #4
        If you're soldering components, that's a pretty good indicator that it's a custom circuit.


        • #5
          Rutins, the circuits you've described are unlikely to be legal.

          I recommend the MR Color Beacon. Although initially not legal when fist introduced, the MR color beacon has been legal for the past several seasons.

          You can connect over a dozen MR color beacons to a single I2C bus. The rules say you need to use a REV Logic Level Converter for each color beacon.

          We've tested 4 MR color beacons running off of a single logic level converter. This works flawlessly, as expected, but sadly not legal. So it will cost $41 plus cabling for every MR color beacon on a bot.

          Since you mentioned soldering, a cheaper alternative is a DIY color beacon using the NXP PCA9685 I2C LED Controller. The PCA9685 can control sixteen (16) LEDs which means you can create 5 color beacons using a single PCA9685 (and a single I2C address).

          Adafruit sells a PCA9685 Breakout for only $15. So you can create 5 color beacons for only $15 plus the cost of the LEDs, 3D printing and cabling. It costs $205 for 5 MR color beacons plus 5 REV logic level converters (if you can find them).

          For Input connect [VCC, SDA, SCL, GND] to a I2C bus of a REV hub. For Output connect [PWM, GND] to Red, Green, and Blue LEDs to form a beacon. Do not connect anything to V+.

          Since the PCA9685 is a LED Controller you don't need a resistor to limit the current through the LEDs. The PCA9685 will limit the current to 10mA.

          Use a Adafruit QT Py - SAMD21 and Arduino IDE or CircuitPython to develop and test your PCA9685 I2C driver and color beacon logic. Use Adafruit's PCA9685 I2C drivers as a starting point. After your I2C driver and color beacon logic is production ready, simply port your driver and logic to your OpMode.

          Fantastic fodder for the Engineering Notebook/Portfolio.

          BOM for I2C Driver Development Platform:5 color beacons plus a complete I2C driver development platform for less than the cost of a single MR Color Beacon !!!



          • #6
            Originally posted by Alec View Post
            ...For Input connect [VCC, SDA, SCL, GND] to a I2C bus of a REV hub. For Output connect [PWM, GND] to Red, Green, and Blue LEDs to form a beacon. Do not connect anything to V+.
            If using a Common Cathode RGB LED, connect the Cathode to any GND, and the RGB Anodes to three PWM pins.

            If using a Common Anode RGB LED, connect the Anode to any VCC, and the RGB Cathodes to three PWM pins.


            • #7
              Alec , that all looks great! - but is the DIY version using the Adafruit breakout legal for FTC? Or is that also a "custom circuit"?

              To me, it seems like doing custom circuitry for decorative purposes should be not only legal, but encouraged. The whole point of FIRST is to encourage kids to learn engineering, not just how to plug in parts that you bought from the store. I understand the need to keep the gameplay focused, but when it comes to visual design, that should be the place to go wild.

              Thank you!


              • #8
                Originally posted by Rutins View Post
                Alec , that all looks great! - but is the DIY version using the Adafruit breakout legal for FTC? Or is that also a "custom circuit"?
                Good question... Most chips cannot be directly connected to a REV hub or other devices. A "breakout board" contains an allowed sensor or controller chip, such as a BNO055 IMU chip or a PCA9685 LED controller chip, plus the electronics, wiring, and headers needed to provide standard Input and/or Output interface(s) to other devices.

                The FTC SDK provides drivers and sample code for the following Adafruit breakouts:Rule of thumb, if it is not a "breakout board" then it is a "custom circuit".


                • #9

                  Am I missing something? The REV Control Hub has an internal Expansion Board that houses the BNO055 sensor. Are there public properties/methods missing for that sensor that would require an external BNO055 sensor? I have drafting test scripts for our team (including different orientations for the Control Hub on the planned robots). I found that the available methods cater to these geometric experiments without requiring a course in matrix algebra. But then again I've stayed away from quarternions for nearly five decades!

                  Understand the use of a 3rd party breakout board for IMU sensor applications if one is not using REV Control Hub, of course. And, Bosch Sensortec is the gold standard in sensors.

                  Kind regards.


                  • #10
                    Hello baqwas. You are correct, in most cases you would want to use the BNO055 sensor internal to the REV Hubs.

                    Prior to the existence of the REV Hubs, the the three most popular choices for IMU were:The point that was being made was that breakout boards are legal. Sorry for the confusion.