Does the OpenLog have the Bootloader programmed in it?

I’m trying to update an OpenLog with v4.0 to v4.2. I’m talking to it with an FTDI Serial to TTL cable with appropriate level shifting for 3.3V.

With this cable and a serial port I have no trouble talking to it so I know the FTDI and PC connection are functional. I can also program this same OpenLog source using the Arduino IDE into a Sparkfun Redboard as an Arduino UNO.

12>?

OpenLog v4.0
Basic commands:
new <file>           : Creates <file>
append <file>         : Appends text to end of <file>
md <directory>        : Creates a <directory>
ls                   : Shows the content of the current directory..
read <file> <start> <length> <type>: Outputs <length> bytes of <file> to the terminal starting at <start>. Omit <start> and <length> to read whole file. <type> 1 prints in ASCII, 2 in HEX.
size <file>           : Write size of <file> to terminal
disk                 : Shows card information
reset                : Causes unit to reset, uses parameters in config file
set                  : Menu to configure system mode
baud                 : Menu to configure baud rate
>disk

Card type: SDHC
Manufacturer ID: 3
OEM ID: SD
Product: SS04G
Version: 8.0
Serial number: 2464921127
Manufacturing date: 8/2014
Card Size: 3965 MB

So do I need an actual ATMEL programmer or is there a bootloader.

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

         System wide configuration file is "D:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM10
         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=0xb3
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xb3
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xb3
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xb3
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xb3
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xb3
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xb3
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xb3
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xb3
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xb3

avrdude done.  Thank you.

Yeah, according to the hookup guide, the Optiboot bootloader is on the openlog.

Are you using a 6 wire FTDI cable? The extra 2 wires are needed for the firmware upload process.

It’s only the 3 wire with 3.5mm plug. Looking at the schematic CTS is connected to ground on teh JP1 header but DTR is not connected. I take it DTR is needed? Can you point me to the hookup guide for the Optiboot? I do have another FTDI cable but it’s 3.3V and the Openlog is in a circuit with 5V to 3.3V level translators. I suppose I could whip up something that lets me use it.

https://www.arduino.cc/en/Main/Standalone this tutorial says use only Tx and Rx

I don’t believe Arduino ever wrote a guide for Optiboot, you might check the Arduino website to see if there is one.

CTS and/or DTR are what trigger the bootloader to start and without the bootloader being active, you can’t send new code. You’re going to need a 6 wire cable that has both to program your board.

I have a 3.3V unit but it won’t work with the 5V interface that the OpenLog is soldered into. I should receive a 5V FTDI USB-UART module today. I think only the DTR is needed to reset the OpenLog on command. I will post results when I have them.

With the CTS pin connected to ground (black wire)

The RTS pin connected to the RES (grn) terminal (green wire)

And Tx/Rx connected I can talk to a Sparkfun v3.3 OpenLog, a Sparkfun v4.0 OpenLog and a Chinese v4.0 OpenLog.

Both Sparkfun OpenLog modules have the latest bootloader and are now running v4.2.

The Chinese OpenLog module requires the old bootloader to be used.

Board: “Ardunio Nano”

Processor: “ATmega328P” or

Processor: “ATmega328P” (Old Bootloader)

OpenLog firmware appears to have one bug.

echo off

verbose off

both cause the module to stop responding. A power cycle is required. I suspect that once any of the config flags are changed the board should also reset itself.

Otherwise this question has now been answered.