2

I recently obtained a Controllino Mini to be used in a small industrial project. While checking it out I also wanted to test the built-in RTC capabilities. In doing so I toyed around with the available commands from the supplied library. After uploading another sketch it seems I have bricked the Controllino, since I cannot upload anything else :

avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00

and the reset LED is permanently lid. When looking at the pinout diagram of the Controllino Mini I saw that there was a small remark near the top stating

Not proper handling of the RTC/INT output can cause permanent controllino reset , so I guess I somehow reached that state.

Since I am pretty new to the whole Arduino / Microcontroller scene I don't really know where to go from here.

  • Is it a viable idea to try and burn a new bootloader ?

  • Is there a simpler way to reset the state of the device?

  • What did I even do wrong ?

Any help is greatly appreciated !

Christian

Below is the sketch that got me into this mess:

#include <Controllino.h>


unsigned char day, weekday, month, year, hour, minute, sec;
#define analogInputPin A0
void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
pinMode(analogInputPin, INPUT);
Controllino_RTC_init(1);
Serial.print("Initalized RTC: ");
Controllino_SetTimeDate(1,6,4,2016,15,14,10);
}

void loop() {
 Controllino_ReadTimeDate(&day,&weekday,&month,&year,&hour,&minute,&sec);
  float voltage = 15*(analogRead(analogInputPin)/1023.0);
  Serial.print(hour);
  Serial.print(":");
  Serial.print(minute);
  Serial.print(":");
  Serial.print(sec);
  Serial.print(" : ");

  Serial.println(voltage);


}
4

It certainly looks like the INT pin of the RTC can kill the whole unit. Bit of a FUBAR on their part I would say.

Is it a viable idea to try and burn a new bootloader ?

If the problem is that INT pin then you won't be able to replace the bootloader, and even if you did it wouldn't fix the problem.

Is there a simpler way to reset the state of the device?

It looks like you will have to make a hardware modification - cut the connection between /INT and /RESET on the board - if you can identify which track that might be - or use a soldering iron to heat and lift the /INT pin of the RTC chip, which might be easier, depending on what the chip is (they are amazingly short on information).

What did I even do wrong ?

Probably nothing serious - it's the design that is at fault. Anything that has the potential to completely cripple a system like that without even trying is just idiotic.

2
  • Hey, Thanks for the well written answer. As you can see I have received an answer from the official team which should work. – Schnickster Apr 2 '16 at 8:11
  • 1
    Great stuff. I guess they must have answered that same question a million times. – Majenko Apr 2 '16 at 9:36
1

I just received an answer from the official team which should work, I'll leave it here for further reference:

  1. Open the device and disconnect (remove) connection board for approx. 30 seconds from the control board – RTC is disconnected from power (gold cap disconnected) and because of that there is reset of all RTC registers.
  2. Plug the connection board back in to the control board. Now we need to rewrite the SW inside the Controllino which caused wrong RTC setting.
  3. Open the Controllino example RTC sketch in Arduino IDE and prepare it to upload (function Controllino_RTC_init(0); shall reset all registers inside the RTC).
  4. Pres and hold reset button on the Controllino device.
  5. Connect the USB Cable (still hold the reset button, SW inside the Controllino doesn’t start)
  6. Click for upload the sketch in Aruduino IDE and wait for „uploading“ message on debug line, than immediately release the reset button and uploading shall be finished (=> hold the reset button during the compiling phase)
  7. If not successful, repeat the procedure
4
  • 1
    But did it work? Atleast it's nice to know they give a reasonable answer, but I'm curious if it fixes anything. – Paul Apr 2 '16 at 8:13
  • I will get back to you on that ;) I will probably be able to test it in a couple of hours – Schnickster Apr 2 '16 at 8:14
  • I just got to testing, it worked just fine and I can use my Board again :). it's probably notable that you only have to remove the very top of the boards which is connected via a very small pinheader to the board below. Take care not to break anything. – Schnickster Apr 2 '16 at 8:24
  • 1
    That's good news. Doesn't fix the underlying problem, but at least it's a reasonably easy way of recovering from it. – Majenko Apr 2 '16 at 9:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.