Cellular working (Remote Car Starting)

So I got the cellular module to work with the M2. I’m able to send myself SMS messages to toggle the LED’s on the M2, send AT commands to the modem (and have it reply the response via SMS), as well as, sending CANBUS messages to my truck. I’ve only reverse engineered one code so far and that was to remote start my truck. If anyone has been working on RAM 1500’s, let me know. Mine’s a 2015.

ANYWAY, now that I got this working I was going to share, however I’m very new to Arduino and it’s been years since I’ve done C++, so I’m wondering if you guys have any code standards to ensure portability with anything I share.

1 Like

Very cool, good work! :star_struck: What modem did you use?

I’d suggest posting what you have and see what people have to say. If you post to Github, that makes it easy for others to suggest changes and improvements and that sort of thing.

I certainly would be interested in hearing about details.

Also, is your plan a small data plan or more like a typical smart phone?

I ask because I am considering my options for a Cellular connection on my M2’s. I may end up using an unlimited dataplan with a MiFi or similar device and just connect via WiFi to the device. Or I may have a cellular device that is dedicated to the M2.

Also when you do post the information publicly be sure to comment out any specific connection information so someone won’t know how it is connected to your truck.

You may also want to consider some sort of encryption of the commands if you install this permanently. Yes it will require a few more bytes but it is the only way to insure someone doesn’t capture your commands and use them. (See story about hackers controlling a jeep remotely causing it to crash)

Look forward to hearing more about your project!

This is the bad boy I bought for the modem

The process wasn’t extremely complicated. The modem uses frames and it’s all very well documented.

I just got a pay as you go SIM card. I live in Canada and we kinda get screwed pretty hard here for our cell service. All the pay as you go plans I looked at have free incoming SMS. That’s what I’m using to communicate with the M2. No data, and I didn’t code up anything to handle the data packets.

As for hacking my truck remotely, I think it’s pretty safe. It’s using SMS and those are encrypted from the tower. Plus someone would have to know I have it. All I was going to do was just make sure incoming SMS are from a valid phone number.

I’ve hardcoded an array of CAN_FRAME messages into the code. Those are all that would get used.

I’ll take a look at the github and remove the extra stuff I have in my code for testing along with all the swear words.

Here you all are. Hopefully those wanting to do what I did can make sense of the code.


Thanks for sharing the code. Did your truck come with a button on the fob that starts it or did you RE it some other way?

Yes, I suppose that’s an important note. I installed a third party remote start that works by pressing the lock button on the fob 3 times. So I captured that code and that’s what I replay with the M2 to make the truck start up.

Wouldn’t be a carstar unit that your using is it? I have one of those and can do the same thing. Although I have their “Drone” unit which will also let me start my car via my phone or PC.


I have a Directed brand model. They do make an attachment to remote start via phone for a monthly service charge. But the M2 is much more powerful.

Any plans to do anything else with this car? Is it the 1500 gas or diesel?

I have the eco diesel.

I’d like to find out how to manually force a regen cycle. That’s on the list.

I am working to build the same thing as you and working with your code for my Toyota Prius.

I have 4 of the Verizon LTE Cat 1 modems that you show on here and in my rural Arizona region they don’t work for me. If anyone is interested in these, I’ll let them go for 25 bucks each shipped to you in the USA.


I had to purchase a GSM 3g Version and am waiting for it to get here next week. Was sad I couldn’t move forward with this with the LTE Cat 1 modems like you listed. If you are in an area with great LTE coverage on band 13 or 4 then those are for you (verizon bands) otherwise need to look into a GSM modem for other carriers. Where I am, we are on Cellular One and for what ever reason I couldnt get the Verizon modems to work with Page Plus (cheap airtime) in this area.

3 left. Shoot me a PM if you would like one.


Can you detail the settings you used on the Modem setup?
in the XCTU what settings needs to be changed/enabled for all to be happy?

Appreciate your help. Ive never used Arduino’s before so huge learning curve for me.


If I remember correctly, XCTU worked right away with the sample code from the macchina guide. After that I think I had to set AP=1 to access API mode so that I can pass it frames. One thing was you can’t have the Arduino IDE console window open while using XCTU. Or at least it would never work for me in linux.

Unfortunately I just left town and won’t be back till Jan, so don’t have access to my M2.

I live in northern Canada and I’ll tell you this, being able to text my truck to fire it up is really awesome.

1 Like

I got the modem you sent me to work with pageplus which I am using right now. It took a while for it to activate the sim and program the number on its own but it works. I probably had to wait a good 15 mins with a decent signal before everything started to work. I used the default sketch example for M2 cellular communication and used XCTU to communicate with the modem.

your missing a semicolon in your code after “char phoneNumber[20] = {}”
Also I tested the code and it doesnt work correctly it is still buggy.

It was a very basic prototype to prove it works, not a final solution. I’ve made many modifications to that code since then, but yeah that original is poorly documented and buggy.

Could you possibly update the code? its 75% working just sending sms and finding the command isnt working. I might just rework the whole thing but it give me an idea of what I need to do. Anyways if not thanks for your contribution to showing that its possible to use cellular.

if anyone is having trouble the triggers are:


DS# (to toggle led)