Vegetables at URI illustration

URI Laser Scarecrow Firmware

Models 2022, 2023, and 2024

FDA CDRH Class IIIB Laser Radiation Warning Label

Firmware is the program that gives a device its behavior. (Like software for a general-purpose computer but closely tied to specific hardware... I guess somewhere between “soft” and “hard” is “firm?”) In the URI Laser Scarecrow, the behavior is managed by a microcontroller — a small system-on-a-chip optimized for controlling hardware — and the microcontroller module holds the laser scarecrow firmware.

Occasionally we make small changes to the behavior of the URI laser scarecrow after the kits or devices have shipped out. You can update your unit to take advantage of these changes here. Or if you needed to replace the microcontroller, you could program the new one using this page.

What you need

Step 1: Connect the microcontroller to your computer

Electronics like the microcontroller and other parts in the scarecrow can be damaged or destroyed by static electricity. Before working with electronic components... ⚡ Discharge static electricity built up in your body by touching a cold water supply pipe or an unpainted center screw in a duplex electrical outlet. ⚡ Avoid synthetic fabrics such as polyfleece.

The scarecrow should be turned off and disconnected from 12V power (you don't need it). Put the cap on the laser module.

Open the scarecrow bucket and rotate it so that the key switch is toward you. Find the microcontroller module plugged into the left side of the main circuit board. It is about an inch wide and two inches tall with columns of silvery dots on either edge.

Use a good quality USB micro-B data cable to connect your computer to the module. (A charging-only cable such as might have come with an older phone won't work.) The USB port is toward you and the wider side of the micro-B plug faces up.

Microcontroller module in 2023 scarecrow (no power)
A small circuit bord about 2in tall and 1in wide with a column of 18 pins on the left and right, two pushbuttons at the bottom, and a silvery metal case covering most of the central and upper area
USB cable plugged in (power LED on)
An image of the ESP32 module mounted in the 2023 circuit board with a black USB cable plugged into the bottom of the ESP32 and the module's power LED shining red

Troubleshooting: Windows (but not macOS) will make a sound when you connect a device. If the microcontroller's red power LED turns on but you don't hear anything, it might be you have a charging-only cable.

When connected to USB and still plugged into the main board, the scarecrow may make some sounds from the buzzer, including error tones. This is not a problem when updating the firmware.

Remove the microcontroller if necessary

If your cable is too short or if you just can't get it to plug in, you may remove the microcontroller from the main board by tucking your thumb under the circuit board below the USB connector and your finger far enough past the thin flat antenna that you can lift the actual circuit board (see photo; all models are similar), then pull it straight up out of the sockets.

If you do remove the microcontroller, be exceedingly careful to replace it correctly; see caution below.

close-up photograph of removing the EPS32 microcontroller

Step 2: Do you need to install the driver?

Your computer might install the driver for you automatically when you connect the microcontroller. If an error message appears — especially if it's something about not having a driver for the device — install the driver yourself. If you get a message about the device being ready to use, go on to the next step.

If nothing obvious happens, you can just go on to the next step and see if it works (won’t hurt to try), or you could install the driver just to be sure (won’t hurt to install it twice).

Installing the driver

The scarecrow's microcontroller module uses the CP2102 USB interface chip from Silicon Labs. You can download the CP210x series driver from https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads .

Windows

Download and unzip the “CP210x Universal Windows Driver”. In that folder, right click silabser.inf and choose Install. (Windows does not display the .inf unless you open the View menu and tell it to Show Filename Extensions.)

Optional: You can confirm whether the microcontroller is recognized by looking for it within “Ports (COM & LPT)” in the Device Manager. It should say “Silicon Labs CP210x USB to UART Bridge (COM#)” (the # is some one- or two-digit number).

macOS

Download and unzip the “CP210x VCP Mac OSX Driver”. Then double-click SiLabsUSBDriverDisk.dmg to open (mount) the disk image and install the driver.

With macOS High Sierra 10.13 or later versions, you now have several minutes to go to the Apple menu, select System Preferences, Security & Privacy, and find at the bottom of the tab where it says that System software from developer Silicon Labs was blocked. Click the Allow button.

Optional: To confirm that the microcontroller is recognized, open the System Information, then within Hardware tree select USB. Open all the items (busses, hubs) and you should find one (or more) named “CP2102 USB to UART Bridge”.

Troubleshooting: Try a different cable. Try a different USB port on your computer — one directly on the computer can sometimes be more reliable than a hub. Try reloading this page. Try restarting your computer.

Step 3: Install the firmware for your scarecrow

The installer runs in a pop-up wizard that has limited help, so let's preview what you'll be seeing...

Installer walkthrough

Click the thumbnails to enlarge/reduce. Where to click in the screen captures is circled in yellow.

Select the correct installer

Click to select the model year of your scarecrow, then click the “Install...” button that appears below it and follow the instructions (summarized in the walkthrough above). The model is also indicated on the label on the underside of the scarecrow.

This is the release version of the firmware; no changes have been made.

This update limits the maximum speed of the servo to help prevent premature failure.

This update improves the random motion when the active area allowed by the tape sensor is very small.

Troubleshooting: 💡Make sure the port you select says something about CP2102 or CP2102N in its description. On macOS, the name may be more cryptic, something like /dev/cu.SLAB_USBtoUART## where the number ## may vary. 💡If no devices/ports appear, try reloading this page. 💡If you get an error about the port being in use, also try reloading this page. (Be sure you picked the correct port!) 💡Too many choices? Figure out which is the Scarecrow by unplugging it. Then plug it back in and see what appears in the list.

Step 4: Disconnect the cable

After the firmware has been updated, unplug the cable. (You don't need to “eject”/unmount it or anything.)

Replace the microcontroller module (only if removed)

If you removed the microcontroller module for easier access, replace it. Align each pin on the module bottom with a hole in the sockets. Push straight down on the pins on the sides until the module board is flush with the top of the sockets.

Make very sure the microcontroller is inserted correctly! I (David) have killed at least three over the years by not being careful enough. Within a minute of being powered incorrectly the LDO voltage regulator will get hot enough to smoke! (That's the component in the middle with three pins on the left and a tab on the right.)

It's unlikely but physically possible to insert the microcontroller module rotated by 180°. This would surely damage it when turned on. To be sure you have the correct rotation, see the images back in Step 1 — all models are similar in their arrangement. A schematic outline of the module is silk-screened (white on green or white on blue) on the board. Match the orientation of the module to the outline as shown in this side-by-side image.

Photograph of the microcontroller module next to its silk-screened outline on main board

Step 5: Run a self-test

It seems prudent to make sure your scarecrow works after all this!

The self-test procedure is in your URI Laser Scarecrow Operating Manual. If you need a copy, please visit https://laserscarecrow.info/.

If you need to buy a new microcontroller

The microcontroller for the 2022-2024 scarecrow models is the Espressif ESP32-DEVKITC-VIE. As of April 2024, these are still in mass production by the manufacturer. We have purchased them from...

You can substitute only the ESP32-DevKitC-VE. (The difference is the antenna which we don't use anyway.) There many other variations with similar names that will not work, so be careful if you search for a replacement online. Do not buy, for example, any of ESP32-DevKitC-32E, ESP32-DevKitC-32UE, or ESP32-DevKitC-DA.

Huge thanks and credit to ESP Web Tools for making this (relatively) easy to use!

USB micro-B image adapted from work by Fred the Oyster, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=36172898