Asked — Edited

Rock Pi X CMOS Battery Power

What are you guys that are using the Rock Pi X doing for standby power for the COMS when it's powered down?

The system clock wont run without a 3 volt backup battery attached. The Rock Pi does have a port on the back of the board to plug a XH1.25mm battery connector into. I've been looking on Amazon and find the proper battery but can't figure out if they have the proper connector.

User-inserted image

I'm thinking this one will fit. Looks right: Amazon CMOS battery 


ARC Pro

Upgrade to ARC Pro

Stay at the forefront of robot programming innovation with ARC Pro, ensuring your robot is always equipped with the latest advancements.

PRO
Canada
#1  

Good question. Never thought about it. Doesn’t it just get time from internet (NTP) or are you off line?  Tell us if it works.

#2   — Edited

Well, yes my Windows 10 is set to get the time and date automatically and it does. However on bootup I have Windows set up to connect to my home network for internet access, load ARC and and run my INT script automatically. When I boot, windows still reports the time and date of the last shutdown of the SBC because there is no CMOS power provided to keep it active. My setup of Windows 10 seems to check the time and date and make the adjustment well after ARC starts up. Thus ARC says there is a system clock issue and wont start.

I'm getting the Cmos battery today so this should solve this issue.

#3   — Edited

OK, I got the COMS battery installed. It solved my system time problem completely and ARC starts after a successful OS boot.

However a new problem has popped up because of the battery install. UGH! No good deed is ever gone unpunished. LOL.

Before the battery install the Rock Pi X used to boot up into Windows right away when power was applied to the SBC. Now that I have a COMS battery attached as soon as I power up the SCB it flashes a bright blue LRD and stops booting with a dim blue and green LED. Now to boot up into Win 10 I have to push the Rock Pi x's power button. I've contacted Support and checked in with the forum and there seems to be no way to change this behavior. No setting in the bios that I can find that will change this.  Support got back to me in a very short time and suggested to reload the bios default values. This didn't work.

This is an imbedded SCB in a place of the robot that is hard to access. I won't be able to (and don't want) to push the SBC power button each time I turn on the robot. Unless there is a solution to an automatic boot into Win at SBC power up I need to figure something else. I'm thinking I can wire into the RTC port on the back of the Rock Pi X, extend the wires to a time delayed relay that will close at power up and then release a few seconds after the SBC starts to boot. I still need to find something or learn how to build a switch or circuit like this.

One thing I'll need above else when I find a time delay switch is to find the proper connector that will plug into the Rock Pi x's external power button port. The CMOS battery I mentioned above did not have the proper connector. I had to steal one from a different accessory that I had that did fit and splice and solder it onto the battery wires. Now I need another one for the power button.

Does anyone know where I can find a connector that will fit the little ports on the Rock Pi X? They call the connector a XH1.25mm. Ideally I guess I could get a battery like I show in post #1 above and cut the wires and use that.

Also if anyone has an idea of where I can get a time delayed switch or circuit relay I can use on the start button I'd welcome the help. I'm going to start digging and asking around now.

Any other ideas are welcome.;)

PRO
Canada
#4  

maybe you should just ditch the battery and put a timer in to wait until Windows has the time from the internet before it starts ARC using task scheduler

#5  

Thant's a thought. I'll try it to see what happens. The only thing I don't like is this will make the load time longer until my robot is operable. Well see if there is a huge difference.

#7  

Sorry the link was to Australia?

#8  

Yes. That's them! Thanks. Now I just need to find them in in the USA. LOL.

#9   — Edited

Ugh! I can get these connectors but there is a 4 to 8 week shipping time from China. I'm tempted to carefully solder on a pigtail to the existing port and put my own connector on it. What's the worst that could happen? LOL

Shipping from AU is just as long. However the sellers on Ebay AU wont ship to US.

#10   — Edited

As mentioned above I want to have a COMS battery attached to my Rock Pi X to keep the system time set so ARC will start up after Win 10 boots. However with a COMS battery attached to the SBC it will not automatically boot and I need to manually press the power button on the board. The SCB has a separate port to attach an external power button along with a actual button on the board. without a CMOS battery and once Windows was active, ARC was not automatically starting. I was getting an error message because the system clock was off after booting.

@Nink suggested a software fix in post #4 to delay ARC from starting until the clock was updated after Win startup. However I tried working on this all day yesterday and I was not liking the results. Between Rock Pi X's slow boot into Windows, the slow setup of Windows itself, how long it takes Win to update the clock, then delaying ARC from starting till after all that was done (not to mention the slow load time of ARC itself), it was just taking way too long. By the time the robot was up and running I was pulling my hair out. LOL. I tried a few tricks I found on the internet to get Win to boot faster and update the clock faster but nothing seemed to help much.

In my last post I said I was ready to do a machinal fix and simply solder a pigtail onto the external power button port to allow me to attach a time delay relay to emulate a physical button push. I've decided to follow this path but first try something less invasive then soldering a pigtail onto this little SBC. I'm afraid the extra heat will damage it or I will have trouble being able to cleanly solder onto the those little header pins. Here's my plan:

*With an Exacto knife I'll carefully remove the plastic female JST mini XH 1.25mm female housing from around the header pins for the external power button on the SBC. *Then I'll get a more commonly found 1.25mm male connector. Or maybe just buy a common COMS battery with any 1.25mm connector already on it like pictured in post #1. Then I can just cut off the wire and it's connector and use that.  *I can then simply slide the common 1.25mm male housing onto the now bare header pins. *After the connection is made I'll hot glue over the connection. This will anchor and secure the connection and attached wires to the board.

On the other side of the wires I plan to connect a neat little Time Delay Relay I found on Amazon. When the robot is powered up It will close the relay for 3 or 4 seconds to start Win boot up when 12vdc is applied from the robot's power system. The time delay is adjustable along with if I want it to close at powerup with a delay then open or delay then close for a set time. With the setting of close then open after a delay this will be the same as me manually pushing the power button on the SBC to get it to boot. I'll keep you all posted with pics if I can. Here's the relay:

[url=https://www.amazon.com/gp/product/B07BT25J52/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1]12V Time Delay Relay Module

User-inserted image

PRO
Canada
#11   — Edited

I haven’t tried this but seems logical work around, try the following with admin priveledges create a batch file in the ARC by Synthiam directory or add ARC directory to your path called arcstart.bat @echo off  date < date.txt time < time.txt  ARC.exe

now put batch file  in your windows task scheduler to start immediately.  You will probably have to change user account control settings to never notify so it doesn’t ask you to click yes every time.

One other suggestion is ARC is modified to remove this dependency. Synthiam  gets date time off a Internet time server they control  before looking locally and then starts arc. This way windows doesn’t need to wait for the NTP server to set the date time.

Why would synthiam want do this? Well it would ensure people are not just freezing the date on their robots to use ARC for free. Every time it boots it checks a synthiam time server. If it can’t reach the server it uses local date time. Eventually the robot will connect to the internet and check real date time and expire software.

PRO
Canada
#12  

OK just wandered over to a desktop and tried this. I created a file called time.txt and date.txt with current date and time

time.txt 12:54:58.61

date.txt 2022-04-26

and then a batch file called arcrun.bat date < c:\users%username%\date.txt time < c:\users%username%\time.txt CD "C:\Program Files (x86)\Synthiam Inc\ARC by Synthiam" start ARC.exe pause exit

and then added arcrun.bat to my task sceduler with run with highest priveledges seemed to work but I have a CMOS battery in desktop, did not try rock pi as it is in a robot at moment

#13  

@Dave.

Depending  on where you have the rock PI x mounted in your B9, maybe use a tube with a stiff pushrod inside the tube fixed on the out side of you robot.

I’m thinking of trying that when my parts arrive on my robot.  Just a thought.

#14  

Thanks Nink for all the hard work. I'll give all this a try tomorrow and let you know how it goes.

Merne, Thanks for the suggestion but no, heck no, no, no and he*l no. LOL. I will not stick a rod into my robot to make it boot. You're a funny guy.xD A manual pushrod kinda defeats the purpose of robotics anyway. Like putting a crank on the front of your car to get it to start. LOL.;)

PRO
Canada
#15  

Good Luck Dave.  If it does work you could probably create a second batch file and put in task scheduler that runs after about 10 minutes so you always have a fairly current date time.  example setdate.bat echo %date% > c:\users%username%\date.txt echo %time% > c:\users%username%\time.txt exit

PRO
Canada
#16   — Edited

Alternatively and this would be a lot easier and always have correct date time. I just googled and it looks like there is an open NTP server that you could manually call and use in a batch file that  will get and set current date of time.  https://www.pool.ntp.org/en/use.html runarc.bat w32tm /config /syncfromflags:manual /manualpeerlist:"0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org" CD "C:\Program Files (x86)\Synthiam Inc\ARC by Synthiam" start ARC.exe exit

#17   — Edited

Nice. Looks like I have a project to work on today. Thanks brother. I had forgotten about batch files and the old autorun.bat. I've been playing with Windows since version 3.1 but have forgotten more then I currently know. LOL.

@Merne, hope I didn't burse your feelings brother. I was just kidding around. I appreacheate all tips and help. Actually a low tech start button extension rod is a pretty good idea and work around. I just like to automate things. I guess I just lazy.xD

#18  

@Dave. I hope you get it working with the batch files.  No bruised feeling at all.  It was an off the calf idea.  I did laughed pretty hard when I seen your reply. :)

#19   — Edited

Well, I did have success with the batch files for loading everything up through windows. However with everything considered, including the needed delay of ARC to start up, it was just taking to long to get the robot up and running for my liking. Also I was having other problems like my second WIFI connection using a USB WIFI dongle starting up. For some reason the second WIFI network was not starting. I need that for an EZB that connects to the SCB in AP mode for ARC to connect to. Maybe it was another reason like a conflict of something but I got frustrated and moved to a different approach.

I decided to try my first idea of installing the CMOS battery to keep system time and BIOS settings even though I need to push the Rock Pi X's power button for 3 seconds to start the boot process. *I removed the surface mounted Remote Power button Port from the SBC and soldered on a pigtail. If you recall I did this because I can't find the correct connector unless I buy a battery from Rock Pi's china vendor (I don't want to wait a month to get this done). It was a very small area to solder in but I was able to do it. The header circuit for this port is a two wire connection. One solder pad goes into the board's components and the other is a ground that when the circuit is closed it simply shorts the circuit to ground. This ground pad was so close the the other component side pad that I instead soldered to one of the grounded support braces that was originally anchoring the pin housing I had removed.   *The pigtail I added goes directly to a time delay relay that closes the circuit for 3 seconds like the remote power button was used for to start the boot process.  *I found that the relay can't be closed at first powerup. It needs to be set to delay about 4 seconds before operating while the SBC power's up into standby, then have the relay close.  *The only thing with the Time Delayed Relay I chose is that if it's set to close after a set time delay, there is no way to turn it off and open the circuit back up (like removing your finger from the power button). The circuit stays closed through the boot and start up process until the robot is shut down later on. However this doesn't seem to hurt or bother anything. Windows and ARC remain running just fine until shutdown. The SBC seems to ignore the closed button push until the next power up when the process is repeated. I don't know if having this closed and grounded circuit is an optimal way to stay running though. I need to look further into this.

However, for now, everything seems to be running nicely.

@Nink, even though I didn't use the batch file approach I really appreacheate your advice and help.

PRO
Canada
#20  

Hey @Dave glad you have a solution. I am going to need to solve this for my robot dog that has a rock pi x when it is finished so I was really interested in you solving this. Honestly a bios update from the rock pi x so the SBC doesnt need a bitten press when a cmos battery is installed should be the real solution.  I have already blown up one Rock Pi x from a power overload when the BLDC motors  caused a power surge and I hadn’t put in a power isolator.  I tried to replace Surface mount  fuse and failed miserably so I am not keen on attacking mine with a soldering iron.

#21   — Edited

Well, I may have spoken too soon.

Everything does work like I want during a current power up session. When I insurt the WIFI dongle into a USB port a second WIFI network called WIFI 2 appears in the dropdown tab at the top of the available WIFI list. I connect the AP mode EZB to WIFI 2. I can then manually connect all my EZBs in ARC when they have been set up. These are Com 3, COM 4, the AP mode EZB (once it's manually connected to the WIFI 2 dongle) and the IoTiny that is connects to the AP mode EZB. They connect in that order. Everything works nicely in ARC that runs through these Ezbs.

However if I shut down the robot (with the onboard Rock Pi X running ARC) then reboot everything the Rock Pi X running Winn 10 will not properly handle the USB WIFI Dongle that the AP EZB is connects to. While Windows 10 is starting up it will either not see the Dongle and not list it in the available WIFI networks drop down tab as an extra WIFI connection or if WIFI 2 dongle is available in the dropdown tab the AP mode EZB will not auto connect to it. I do have the  "Automatically Connect" box checked when I picked the AP mode EZB for this WIFI 2 connection.

I've tried many times to get WIN 10 that is running on the Rock Pi x upon startup to find the USB dongle and auto connect to the AP mode EZB with no luck. After Win starts I can pull the dongle out of the USB port, reinsert it and then Win will find it, list it and I can quickly connect the AP mode EZB to it. ARC will then connect and be able to use that EZB.

Not sure what changed as I thought all this was working before, many times. I do not know if this is a start up timing issue with Windows running on the Rock Pi X, a conflict or both. However I do know it has nothing to do with ARC. I've tried to boot into windows with ARC not loading at Windows startup with the same results. It's got something to do with the USB Dongle inserted into the Rock Pi x's USB port and how windows 10 loads and handles it at start up. The dongle I'm using is the one that EZ Robot includes in the box when buying a new EZB v4/2. I've tried updating the dongle's drivers but neither I or Windows knows where to find the new drivers for this generic looking dongle.

Device Manager does show this wifi dongle working with the drivers installed.

Maybe a new non generic WIFI dongle is needed. One I can get drivers for.

#23   — Edited

LOL! Thanks Nink. I'll have a look. I think I did try this approach with no result. I'll look closer and give it a try. I'm just about to move on from using a WIFi dongle with the Rock Pi X. I don't seem to be making any progress. I'm starting to think the Rock Pi can't do what I want with using a dongle for an extra wifi connection.

#24  

I so glad I found this old thread.  I just came across this same ARC message when my Rock Pi started up. Before trying the CMOS battery route and it's associated caveats , I'm trying the Task Scheduler with a 2 min delay. The delay start works most of the time , but I might bump it up to 3 minutes to make sure.

I'm using ARC and Rock Pi to give our modified Meccano robot's some onboard smarts.  My students really enjoy them and there is no hurry for startup.

Thanks again Nink and Dave.

#25  

@wakeuplearn, I'm glad this helped. It's always nice to find someone else's post sharing a work through for a problem you're having. I've had so many issues over time that were solved by someone taking the time to post a fix for them. Play it forward.;)

Please keep us posted on your project when you have time. It's fascinating to see progress, successes and failures being worked through.

#26  

As a conclusion to this thread, I gave up trying to get Windows to properly load a second WIFI network that the WIFI dongle provided. My successful fix was to run dedicated cables from all EZB's straight to the Rock Pi X's USB ports. The Rock Pi X didn't have enough ports to handle all EZB's so I used a USB port hub to handle the extra ones. The result was that only the Rock Pi X needed to connect to my home WIFI network and the EZBs connect directly to the Rock Pi through it's USB ports and it's com ports. No need to manage different WiFI networks. Much simple and less problematic.

I found that an EZB can only control one other device when used as a router. It has no ability to keep track of IP addresses like a regular WIFI router can.

Everything works great now. The only problem I've had is that after a Windows update it will lose track of one of the ezb's running directly through USB on one of the Rock Pi's com ports (Com 10). I can however find it on a different comport (com 6. I don't save this configuration in ARC though). Then when I  next reboot, ARC will again see it back on Com 10. Solution; disable Windows Updates.