Control board

Flashing new firmware onto the Arduino

The MicroDrop software should automatically update the Arduino firmware to a version compatible with the plugin driver, but in some cases, you may need to manually flash the firmware (e.g., when setting up a new Arduino or when changing the control board hardware version). Note that you will need to know the COM port that Arduino is using (you can find it in the Windows device manager) and the hardware version of your control board (labeled on the control board itself).

To flash the firmware:

  1. Piggyback the control board to the Arduino 2560 chip (see pictures below), connect the Arduino to your computer via the USB and verify that the control board is receiving power.

control board piggyback 2 control board piggyback

  1. Open the MicroDrop software, go to File/Manage Plugins/Download Plugin and download the dmf_control_board plugin. The plugin should auto-install and activate.
  1. Launch a "MicroDrop environment prompt" from the start menu and run the following command:
python -m dmf_control_board_firmware.bin.upload -p COM# mega2560 VERSION_NUMBER

where COM# is the name of the COM port (e.g., COM1) and VERSION_NUMBER is 1.0, 1.1, 1.2, 1.3, 2.0, or 2.1 depending on your hardware version.

If you're using the latest control board hardware version (2.1) and you only have one COM port, you can use the simplified command:

python -m dmf_control_board_firmware.bin.upload mega2560

Verifying the control board firmware

You can use a serial monitor to verify that the control board firmware has been flashed successfully, to check the software/hardware version, and to examine the config settings. Just open a serial monitor (e.g., the one that comes with the Arduino IDE) and make sure that you are using the correct serial port. Set the baud rate to 115,200 (bottom right-hand corner of the Arduino IDE serial monitor window). You should see something that resembles the following image:

Serial monitor window verifying that the control board has been flashed

Can't connect to the control board

The first thing you should do is verify that the Arduino driver has been installed and that the operating system can see the Arduino. In Windows, you should check this by opening the "Device Manager". Next you should verify that the firmware has been flashed. If not or if it is an unexpected version, try (re)flashing.

Another issue that can prevent the control board from connecting is if the serial port is being tied up by another program (e.g., the Arduino serial port monitor). The serial port can also be tied up if a program crashes while it is connected to the port, which can leave it in a bad state. To fix this, try unplugging the USB cable and reconnecting it.

On early versions of the Arduino Mega 2560, there was a problem communicating over the serial port. This affects boards prior to R2 (the revision number is on the bottom of the board right after the model number). If you have one of these boards, you can get it to work by upgrading the USB/Serial firmware on the Arduino.

The DropBot power supply doesn't turn on

In order for the power supply to turn on, it must (a) have a minimum load (should be specified on the manufacturer's website) and (b) have the "power on" pin (found on the 20-pin motherboard connector) pulled low. Requirement (a) should be satisfied as long as you have at least one HighVoltageSwitchingBoard connected to the power supply (each draws ~ 500mA on the +5V rail). If you don't have power on one of the other power rails (e.g., +3.3V or +/-12V), you may need to add a load resistor between that rail and ground (you can calculate the size if you know the minimum load current, but also be careful choose a resistor with a sufficient power rating: P=IV).

There are a couple of reasons why requirement (b) may not be met. First, make sure that the Arduino that is connected to the control board is plugged into a computer over USB and that it has an active connection (e.g., using MicroDrop). If you can't connect, verify that the firmware has been flashed. If the firmware has been flashed and you're still having problems, you also need to make sure that it reports the correct hardware version. Different hardware versions use different Arduino pins to pull the "power on" pin low.

Error message: "Analog channels [0,1] appear to be damaged. You may need to replace the op-amp on the control board"

This message can occur for a number of different reasons. The voltage reading for each of the analog channels can help to distinguish between various potential problems. Check the program log when you start MicroDrop to determine the values of the Analog reference (Aref), A0 VGND and A1 VGND.

Analog reference is too low

Analog reference should be between 4.2 and 5.3 V (this is the voltage supplied by your USB port). If the reported analog reference is lower than this, you may want to try using a different cable/USB port on your computer, or if you are using a USB hub, try connecting directly to the computer.

A0 VGND and A1 VGND == ~1.65 V

If both A0 VGND and A1 VGND are ~1.65 V, check the version number silk screened on your control board. There is a known bug in v2.1 (more details here) which can be fixed by using a scalpel/utility knife to cut a single trace on the bottom of the board. Here's an image detailing the fix:

A0 VGND and/or A1 VGND != ~Aref / 2

Both A0 VGND and A1 VGND should be roughly 50% of the Analog reference (Aref) value. If either one is significantly off, it is usually a sign that op-amp IC4 has been damaged. This problem is commonly caused by high-voltage transients produced when the DropBot is powered on while the amplifier is on. To help avoid this problem, make sure that the amplifier is off when launching MicroDrop. You can replace the op-amp chip using a hot-air rework station.

Last modified 17 months ago Last modified on 01/26/18 14:15:24

Attachments (4)

Download all attachments as: .zip