Welcome to Synthiam!

The easiest way to program the most powerful robots. Use technologies by leading industry experts. ARC is a free-to-use robot programming software that makes servo automation, computer vision, autonomous navigation, and artificial intelligence easy.

Get Started
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 


Upgrade to ARC Pro

Harnessing the power of ARC Pro, your robot can be more than just a simple automated machine.

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 

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.
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

#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 

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.
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 



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

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

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.
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.;)
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
#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
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
#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
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.
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.