Using the RPi3 Adapter

Please note: The AutoPi always needs power through the OBD connector, to function properly. Powering the board through the micro usb power plug on the Raspberry Pi could damage your board. If you need to test the AutoPi in a lab environment, we encourage you to get the OBD power connector from the shop.

Setting up the RPi3 Adaptor

This is a step-by-step instructions on how to set-up your Raspberry Pi3 adapter. You will need the following tools to get started:

  • Your RPi3 adapter (with screws, spacers and nuts)
  • Screwdriver
  • Your Raspberry Pi 3 (isn’t included in the kit)
  • Your AutoPi dongle

Here is what you need to do:

1) Remove the casing from your AutoPi (if you have a 4G or WiFi edition)

2) Remove the Raspberry Pi Zero from the AutoPi dongle, leaving only the black AutoPi base board.

3) Your RPi3 adapter comes with screws that you’ll have to insert (from the bottom side, upwards) in four corners of your RPi3, once you do that, you can put the spacers down unto your screws. Be gentle with the screws since they are made of plastic. The following image illustrates how it should look:


It is important that you insert your screws first, from the bottom so the spacers can be put on:


4) Hereafter, insert 4 screws downward the four inner holes on your RPi3 adapter, and screw them closed with 4 nuts.


Make sure the screws are faced downwards in the four inner holes.


Put on the nuts and tighten the screws in place by rotating them clockwise.

5) Then, push down your RPi3 adapter unto the RPi3 (where the left side black box will fit the headerpins on the RPi3).


This is what it should like once you have safely pushed the adapter down on the RPi3

6) After you have securely and safely attached the adapter to the RPi3, use 4 nuts to tighten the screws in place.

7) Hereafter, align your dongle correctly so the headpins of the adapter fits with the black box of the dongle and push them gently, but firmly unto each other.

8) Lastly, all you need to do is insert three screws in the three inner holes of the dongle, and be careful and gentle, too much pressure and screwing them too tightly can break the screw tops off. Once, you’ve done that you are;

9) This step only applies if you have a 4G edition and you want to use the modem. To enable the modem you need to connect the AutoPi to the RPi3 using the flat Micro USB cable that came with your AutoPi. Insert the USB cable into the micro USB to USB adapter that came with your Raspberry Pi 3 Adapter. Then insert it into the RPi3. You can see how in this image (red circles):


If you have another micro USB to USB cable, you can also use that. Anyone will work.

10) To get your AutoPi (RPi3 edition) online in the AutoPi Cloud, it needs to be registred again. The reason for this is that your Dongle ID is generated from the Raspberry Pi. So now that you’ve upgradet you AutoPi to the RPi3, it’s received a new ID. You can get this ID from the local terminal with this command:

grains.get id

or from the SSH promt:

cat /etc/salt/minion_id

or from the web terminal 'cat /etc/salt/minion_id'

This ID needs to be accepted by AutoPi. So you need to send the correct ID to, so that it can be accepted by our servers.

11) Finished and completely done :slight_smile:

The final result should look something similar to this.





How do you suggest we handle the items that are connected to the dongle case?

Will you be offering for sale a new case at some time in the future that will house the dongle, adapter, and RPi3? If not, a link to a 3D printable design would be brilliant.


1 Like

Hi Tim

We aren’t currently planning on designing a casing for the RPI3, as this is considered a DIY solution when using the RPI3, and also because we doubt that we can design a casing for it that will fit all needs regarding mounting, which antennas people want to use etc.

We are also a bit hesitant regarding deciding which antennas to use, when doing it the DIY way, as you may want to use an external antenna mounted somewhere else.
The dongle has pretty limited space regarding antennas and plugs etc, but when using with an RPI3, you should have freedom to use whatever antennas you want, like installing a UFL to SMA converter and then using an external antenna etc.

With that said, we are considering making an “antenna pack” with a set of antennas for use when you want to mount it in a different way.

Best regards
/ Malte


Hi, So I have used the info here and the info from to swap the Zero to RPI3 B+ .

Some initial info:

  • My auto-pi in factory delivery setup and config stopped sending any data when I Went from Finland to Sweden, first I figured it was just the 4G connection that was having some issues, but when coming back to Finland it did not re-initiate the connection either. When I log on to the auto-pi I get the info “Connected to a local device, but local API not yet ready. Please wait…” That state does not go away.
  • At this stage my RPI3 HW had arrived so figured it would be easier to debug with a connected screen and keyboard so I have now swapped the Zero with the RPI3 B+
  • This HW swap seems to have worked fine, what I was not expecting (when looking at the instructions here) was to get a SSH login prompt that I dont know the /user/password for. So without knowing the User/password I am now stuck not able to login to the auto-pi and get some more debugging info as I also can not get the auto-pi WIFi gateway to get past the “not yet ready” stage.

So any help with this would be great, also here are a few images of the setup.

After 8 hard reboots (Power Off/On) I got the WiFI Gateway to log on. But when I try the command “grains.get id” I get “An error occurred. Received Unknown Error from server.”. So how do I get in to the SSH prompt or is there any other command I should be using ? Or is the reported “Unit ID” on the local web-service the same ID that I should report ?

Hi Mikael,

I’ve send you a PM on how to SSH into the device. We dont publish that because it contains passwords.

My best guess to why the grains.get did not work, is because your device isn’t online. But you can check that with the SSH login.


Thank you for the how to info. What I can see from the Local Web server information, The device is online (not at the moment though) but that must then be a false positive in the web UI:

But I will try to debug the connection when I get home today, I also requested the device ID change from your support but that also requires the device to be online so guessing its a catch 22 :slight_smile: .

In case i fumble something up beyond repair, are there any instructions on how to restore the memory card to a “factory setup” ? Since my original HW setup also did not re-connect to the service after my trip to Sweden I am assuming I might have gone from the frying-pan in to the fire when I swapped the hardware from the original Zero to the RPI3 B+ without finding the original cause of the outage.

Also I guess I should create my own thread on my case so at least there will be a separate “what not to do” for everyone else later :smiley:


1 Like

So to update on what solved the issue for me was adding the correct USB port in the odev rules:

You need to change the udev rules on the device, so that additional usb bus power is added to the USB port on the hub that you are using (the one you connected the USB connector to). We have done something similar already when you use the Zero. You can see here how we setup the udev rules: 2


ACTION=="add", SUBSYSTEM=="usb", DRIVER=="usb", KERNELS=="1-1.3", RUN+="/bin/sh -c 'echo 1 > /sys/bus/usb/devices/1-1.3/bConfigurationValue'"

Its the last part:


Where you need to change the device to the one you are using, I’m guessing it has to something like 1- instead.


I also swapped the Zero with a RPi3 B+, but I’m currently not able to get the LTE modem working. Did your LTE modem work as expected? Here is my lsusb / dmesg output ->

$ lsusb
Bus 001 Device 004: ID 046a:0023 Cherry GmbH CyMotion Master Linux Keyboard G230
Bus 001 Device 009: ID 0424:7800 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

If I reattach the cable for LTE modem, I get the following errors:

[ 973.461413] usb 1-1.1.3: new full-speed USB device number 18 using dwc_otg
[ 973.561409] usb 1-1.1.3: device descriptor read/64, error -32
[ 973.781412] usb 1-1.1.3: device descriptor read/64, error -32
[ 974.001409] usb 1-1.1.3: new full-speed USB device number 19 using dwc_otg
[ 974.101424] usb 1-1.1.3: device descriptor read/64, error -32
[ 974.321408] usb 1-1.1.3: device descriptor read/64, error -32
[ 974.441507] usb 1-1.1-port3: attempt power cycle
[ 975.101419] usb 1-1.1.3: new full-speed USB device number 20 using dwc_otg
[ 975.541408] usb 1-1.1.3: device not accepting address 20, error -32
[ 975.641412] usb 1-1.1.3: new full-speed USB device number 21 using dwc_otg
[ 976.081462] usb 1-1.1.3: device not accepting address 21, error -32
[ 976.081553] usb 1-1.1-port3: unable to enumerate USB device

Hi, I had some issues getting the LTE modem to connect at first try yes. But it was more an config issue with the sim card then an issue with the modem.

I had to take the sim card out and reset the pin code to factory settings and then disable the sim card pin check on the card (using a usb sim card modem) before adding it back in to the RPI, for some reason the RPI would not handle the sim pin code check when I set the config in the AutoPi Web UI so I simply disabled the sim pin requirement.
It might have been an issue with the early software version I had at the start but since I don’t need the added security layer for now I have not re-enabled the sim pin check requirement on the sim card.

Can you find your USB device named "2c7c:0121"in the output from lsusb after connecting it? and did you reboot the device after reconnecting the modem ? Also you can reach out to AutoPi support directly as my hardware and linux skills are quite basic :slight_smile:

Hm. No, I can’t find the device in the lsusb output :frowning: I also tried the Pi Zero again but without any luck …

Have to ask the standard questions :smiley:
Did it work when you got the device before modification to RPI3 ?
Did you re-check that the connections are not somehow loose somewhere?
Can you provide some image of the connections, so we can have some more info on the current HW config?

1 Like

Very helpful guide. I am online with WiFi only, but plan to add the 4g modem in the near future.

Clarification: is the Dashboard GUI available to install for DIY RPi 3? Add ons are not available when I log in to, and I was hoping to use a touchscreen dashboard.

@earth Replying to my own post. I think this is the answer I am looking for:

Essentially, I need to install packages for my image to be able to display the desktop. Then open a web browser, and log into

Please correct me if I am wrong.

For now that whats needed yes

You can also open the local dashboard, on You can expand this dashboard on your own, if the included functionality isn’t enough for you.


1 Like

Hello everybody. I am currently working on the RPi3 Adapter Project.
I have an AutoPi Wifi edition (second generation i think). I mounted the Autopi successfully onto the Adapter (see pictures).

But here comes my problem. In this guide ( Step 10 ) it is said that the dongle needs now a new ID which makes sense. I just dont know where to get it really. I tried logged in but the device was offline (and through the terminal there i get only a timeout).

When i try the i only get “No connection found. Retry…” so i cant log into that one. My Raspberry Pi doesnt know the command “grains.get id”. So i am kinda clueless where to look really.

Maybe it is the wires or something… maybe i connected them wrong.

Maybe you guys could help me out here :slightly_smiling_face:.



You can always ssh into the Pi and find your ID that way…

To b a bit more clear: ssh pi@your_pi_ip_address
login with your password
then do
cd /etc/salt
more minion_id

I just noticed from your photo it looks like you’re powering the Pi directly which AutoPi explicitly says not to do. You may end up damaging the AutoPi HAT from what I have gathered.

Now… I do wish there was some sort of jumper on the Pi HAT that would allow external power and disable sleep mode but just something to keep in mind.