COM Drivers not working for Totemduino

I’ve connected up the Totemduino to an x64 windows 10 PC but it won’t connect in Arduino IDE and shows as “USB Serial Controller” in device manager.

I’ve tried getting windows to search for upgraded drivers in the arduino IDE download, but it hasn’t recognised anything.

Help please!

Hi, welcome to our forum!

Did you select COM port in Arduino IDE?
image

Or it is not recognized as COM port in Device Manager :warning: ?

Yeah it’s not recognised as a known device in device manager. I managed to get it working on another PC.

Did you tried installing driver manually: Products ?

The solution is described here if anyone else has the same problem. I had the same issue on 2 out of 3 PCs.
http://www.ifamilysoftware.com/news37.html

I have just purchased the TotemDuino based Mini Lab and I have not been able to get the board to be recognised in either Ubuntu Linux or MacOS Catalina. I have installed the drivers suggested and neither Platform.io or Arduino IDE will “see” the board. I am targeting it as Arduino Uno and using the new USB device after installing the driver. I have even updated the FTDI drivers in MacOs Catalina.

The output from Arduino IDE upload followed by Platform.io is shown below

Arduino IDE:

avrdude: Version 6.3-20190619
Copyright © 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright © 2007-2014 Joerg Wunsch

     System wide configuration file is "/Users/Martin/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf"
     User configuration file is "/Users/Martin/.avrduderc"
     User configuration file does not exist or is not a regular file, skipping

     Using Port                    : /dev/cu.usbserial
     Using Programmer              : arduino
     Overriding Baud Rate          : 115200

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: ser_recv(): read error: Device not configured
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: ser_send(): write error: Device not configured
avrdude: ser_recv(): read error: Device not configured
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00
avrdude: ser_drain(): read error: Device not configured

avrdude done. Thank you.

the selected serial port
does not exist or your board is not connected


Platform.io:

Processing uno (platform: atmelavr; board: uno; framework: arduino)

Verbose mode can be enabled via -v, --verbose option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/uno.html
PLATFORM: Atmel AVR (3.1.0) > Arduino Uno
HARDWARE: ATMEGA328P 16MHz, 2KB RAM, 31.50KB Flash
DEBUG: Current (avr-stub) On-board (avr-stub, simavr)
PACKAGES:

  • framework-arduino-avr 5.1.0
  • tool-avrdude 1.60300.200527 (6.3.0)
  • toolchain-atmelavr 1.50400.190710 (5.4.0)
    LDF: Library Dependency Finder → http://bit.ly/configure-pio-ldf
    LDF Modes: Finder ~ chain, Compatibility ~ soft
    Found 5 compatible libraries
    Scanning dependencies…
    No dependencies
    Building in release mode
    Compiling .pio/build/uno/src/main.cpp.o
    Archiving .pio/build/uno/libFrameworkArduinoVariant.a
    Compiling .pio/build/uno/FrameworkArduino/CDC.cpp.o
    Indexing .pio/build/uno/libFrameworkArduinoVariant.a
    Compiling .pio/build/uno/FrameworkArduino/HardwareSerial.cpp.o
    Compiling .pio/build/uno/FrameworkArduino/HardwareSerial0.cpp.o
    Compiling .pio/build/uno/FrameworkArduino/HardwareSerial1.cpp.o
    Compiling .pio/build/uno/FrameworkArduino/HardwareSerial2.cpp.o
    Compiling .pio/build/uno/FrameworkArduino/HardwareSerial3.cpp.o
    Compiling .pio/build/uno/FrameworkArduino/IPAddress.cpp.o
    Compiling .pio/build/uno/FrameworkArduino/PluggableUSB.cpp.o
    Compiling .pio/build/uno/FrameworkArduino/Print.cpp.o
    Compiling .pio/build/uno/FrameworkArduino/Stream.cpp.o
    Compiling .pio/build/uno/FrameworkArduino/Tone.cpp.o
    Compiling .pio/build/uno/FrameworkArduino/USBCore.cpp.o
    Compiling .pio/build/uno/FrameworkArduino/WInterrupts.c.o
    Compiling .pio/build/uno/FrameworkArduino/WMath.cpp.o
    Compiling .pio/build/uno/FrameworkArduino/WString.cpp.o
    Compiling .pio/build/uno/FrameworkArduino/abi.cpp.o
    Compiling .pio/build/uno/FrameworkArduino/hooks.c.o
    Compiling .pio/build/uno/FrameworkArduino/main.cpp.o
    Compiling .pio/build/uno/FrameworkArduino/new.cpp.o
    Compiling .pio/build/uno/FrameworkArduino/wiring.c.o
    Compiling .pio/build/uno/FrameworkArduino/wiring_analog.c.o
    Compiling .pio/build/uno/FrameworkArduino/wiring_digital.c.o
    Compiling .pio/build/uno/FrameworkArduino/wiring_pulse.S.o
    Compiling .pio/build/uno/FrameworkArduino/wiring_pulse.c.o
    Compiling .pio/build/uno/FrameworkArduino/wiring_shift.c.o
    Archiving .pio/build/uno/libFrameworkArduino.a
    Indexing .pio/build/uno/libFrameworkArduino.a
    Linking .pio/build/uno/firmware.elf
    Checking size .pio/build/uno/firmware.elf
    Building .pio/build/uno/firmware.hex
    Advanced Memory Usage is available via “PlatformIO Home > Project Inspect”
    RAM: [ ] 0.4% (used 9 bytes from 2048 bytes)
    Flash: [ ] 2.9% (used 930 bytes from 32256 bytes)
    Configuring upload protocol…
    AVAILABLE: arduino
    CURRENT: upload_protocol = arduino
    Looking for upload port…
    Use manually specified: /dev/cu.usbserial
    Uploading .pio/build/uno/firmware.hex
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00

Was this ever resolved as I have just purchased a Mini Lab and get similar errors. Have tried with Arduino IDE on macOS and Windows 10 and although it seems to appear as a com port it will not work. My Raspberry Pi Pico works with no problems but uses a ‘USB drive’ rather than all this serial stuff.

Sketch uses 444 bytes (1%) of program storage space. Maximum is 32256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding

Just to clarify - have you tried to install driver from this link: http://www.ifamilysoftware.com/news37.html ?

Is Prolific USB device (inside Device Manager) recognized or shows warning?
image

Also, try these steps:

  1. Click upload sketch - It will show ‘Compiling Sketch’
  2. Immediately after clicking upload, hold the reset button down (on TotemDuino board)
  3. Release the reset button when ‘Compiling Sketch’ turns in to ‘Uploading’

Yes used that driver for Windows 10 and it shows working ok and latest driver in Device Manager. Really want to use with macOS and that shows ‘/dev/cu.usb-1420’ but get same error.

The onboard led flashes on and off on a 20 sec cycle, is that the default sketch already loaded? Have been trying to load an amended version.

I was sent a replacement board in the end. Apparently there is a way to fix it but you need another board to do it.

What I suspect is that the fuse bits on the Atmega are set incorrectly, causing it to run from internal clock rather than external one. The default sketch that is preflashed from the factory should make the LED blink with around 1-2sec period, and your board seems to run much slower, so it can’t communicate with the IDE, causing timeouts. If you have another Arduino board or any Arduino-compatible programmer on hand, there’s a relatively easy way to fix this, and we’ll upload a tutorial soon on how to do it. If not, please contact either me or our support and we’ll send you a replacement board.

Have even tried a different matching cable with no result, rest of kit works fine, when the external power is plugged in of course. I don’t have another board or programmer. Got the board via pimoroni.com, do I go back to them for replacement?

Well if our suspicions are correct, the hardware is fine, it’s just that the speed settings are incorrect, causing it not to communicate with computer. If you’d contact Pimoroni, they’d arrange a replacement sent to you, that way it would be quickest I think. We’ll be sure to let them know about this situation. Sorry for the experience!

No problem, however is it worth trying an ISP like the Pololu USB AVR Programmer v2.1 first, in case the issue came up again, before replacing the board. I am assuming this would plug into the 6 pins in a row on the board? Although even though this make of ISP says in works with the Arduino IDE I don’t see it listed in the programmer list. If thats getting too complicated then I will contact Pimoroni. Many thanks.

For “Pololu USB AVR Programmer v2.1” select:
Programmer > Atmel STK500 development board.
Board > Arduino Uno.

Connect programmer to TotemDuino:
MOSI → D11
MISO → D12
SCK → D13
VCC → 5V
GND → GND
RST → RST

Then select Tools > Burn Bootloader.

Thanks for that, just to confirm will it plug directly into Totemduino using that 6 pin socket on the end to match the 6 pins nearest the USB socket. No details in user guide as to what those 6 pins are for (or the rectangle of 6 pins further over) and which way round would it plug in?

No, they are for different purposes.

On programmer, this socket is for serial communication (probably).
On TotemDuino 6 pins header (P1) is for interface with PL2303TA chip next to it.
On TotemDuino further 6 pin (ICSP) holes are for direct chip programming. It connects to same pins as I listed above. Only that TotemDuino doesn’t have header soldered on, so it’s difficult to attach wires.

You can find TotemDuino schematics here: TotemDuino Schematics | Totemmaker.net

Oh of course there is no header otherwise could just use a 6 pin idc cable!! The connections all appear to be on the lab board however so can probably adapt one end of a cable.

Got the programmer which appeared to be working, but now it appears to have failed. Is Vcc supposed to supply 5v or receive 5v? It came with the correct cable but no damned matching header on the board so asking for trouble. Will just go back to pimoroni for replacement now as this is just wasting time and effort. Thanks for the notes anyway.

Apparently Pololu programmer works a bit differently. By default VCC pin is used as input to
detect target voltage. TotemDuino wasn’t getting any power, so you did everything right.

It can be configured as output Pololu - 7. Power settings and status using Pololu USB AVR Programmer v2 Configuration Utility.

Or more simply - just plug in USB to power TotemDuino. This will do the job.
Everything else should be connected the same.