Here are some basic troubleshooting steps for the SensorDots. If you have tried the below and you still cannot get things running, don't hesitate to contact us.
Device Doesn't Power On
- Make sure device is powered and grounds are connected. Only one ground pin is required to be connected.
- Make sure the RST pin is not shorted to ground. This happens if you connect all pins of the SensorDot together from one to another in the chain (the opposite pin to RST is ground on the MappyDot pinout).
Device Act Erratically and Randomly Restart
- Be sure to supply a minimum of 2.85V to the MappyDot. Voltage drop can occur along long voltage bus lines, so be sure to measure at all points along the bus.
- Too much current draw from your power supply can cause devices to reset, especially when running with other devices. Either change to a higher current supply or put a large capacitor on your PSU output to account for voltage dips when under load.
- Make sure your power supply is of decent quality. Follow the Raspberry Pi recommendations when picking a USB power supply - https://www.raspberrypi.org/documentation/hardware/raspberrypi/power/README.md. Some cheaper USB supplies can output large voltage spikes and be quite noisy and damage your devices over time.
All Devices are Set to 0x08/Multiple Devices Respond to 0x08
- The GPIO output pin can set the next device in the chain to a master as it pulls the line low. Be sure to avoid connecting the GPIO pin from one SensorDot to the MST pin of the next.
Devices Don't Respond to I2C Commands or Respond Erratically
- Make sure all grounds are connected to your power supply.
- Be sure to have the appropriate set of pull up resistors on the bus (only connect one set of resistors). A good value for 400kHz is 2k and 4.7k for 100kHz.
- Some devices like the Raspberry Pi, don't implement clock stretching which is required for some commands, such as flashing (as it sends 128 bytes at once and can get out of sync). Here are some tips for alternatives to clock stretching - http://doc.byvac.com/index.php5?title=RPI_I2C. There's some more information about this here.
- Slow down your I2C bus speed.
Cannot Flash New Firmware
- Try setting a lower I2C speed on your I2C device.
- Try resetting the individual SensorDot then running the flash application within 500ms of SensorDot startup with device address 0x07 (the LED will flash rapidly during this 500ms as shown here).
- If you have previously flashed a bad firmware, you will need to individually reset each SensorDot when you are ready to flash it and run the flash application within 500ms of the SensorDot startup with device address 0x07.
- If the LED is rapidly flashing in bootloader mode, then your firmware is corrupt. You will need to try flashing with address 0x07. If multiple SensorDots are also flashing in bootloader mode, you will need to hold the RST line low on every other SensorDot before you can flash an individual one.
Output Distance Values are Erratic or Not Accurate
- Make sure the protective film covering the sensor is removed before using.
- Ambient light might be too great. You can try switching to high accuracy mode under these conditions.
- Sensor might require temperature or SPAD recalibration.
- Sensor might require offset recalibration.
My SensorDot is Running Warm
- This is entirely normal if operating on a 5V supply as some of the power is being converted into waste heat. It is recommended to run the SensorDots from a 3.3V switchmode supply, such as the Recom Power R-783.3-0.5 or XP Power TR05S3V3 as this will reduce waste heat and increase battery life if running from batteries.
- You may have a short on one of the output pins. You should disconnect all pins and check your ground connections.