4

Actually I can boot Android Things "0.6.1 Developer Preview" in Raspberry Pi 3 (RPI3), I'm develop a project with Computer Module 3 Lite (CM3L) this have the same processor of the Raspberry Pi 3 (RPI3) but I only see the rainbow screen, never continue, I suppose the problem is relatad with DTB (Device Tree).

I try some options 1. Add DTB file for CM3 "bcm2710-rpi-cm3.dtb" on boot partition, when I do that the rainbow screen appear an the disappear but not do anything more 2. Replace the original DTB file "BCM271~1.DTB" for "bcm2710-rpi-cm3.dtb", when I do that the rainbow screen never disappear (equal to the original boot partition)

  • 1
    The module [is not supported](https://developer.android.com/things/hardware/index.html#hardware_platforms) by Android Things. Does it have GPIO? – Onik Mar 03 '18 at 13:14
  • CM3 and RP3 are the same hardware the difference are peripheral devices (chip Ethernet/USB hub and chip WiFi/BLE) all elements are equals – Camilo Londono Mar 05 '18 at 21:30
  • It apply for Android Things 1.0 too – Camilo Londono Jun 05 '18 at 15:35
  • After some research I connected to the CM3 using the serial debugger to find what in the bcm2710-rpi-cm3.dtb was causing the rainbow screen to show up and turn off. I have discovered one symptom and that is it reports that the MMC failed to load. The same error is reported for the CM3 and CM3L. I cannot get @Camilo Lonondo's solution to work, would it be possible for you to post your working boot. I cannot get my android things image running on the CM3 no matter what I do. – Tanner Black Jun 18 '18 at 21:10
  • What you need? You only need change one file!! – Camilo Londono Jul 24 '18 at 02:06
  • https://drive.google.com/file/d/12lQkIWBJ4-MqhXw0D285XWx-jRF1uFfP/view?usp=sharing – Camilo Londono Jul 24 '18 at 02:06

2 Answers2

4

Finally i do it

The main reason by the CM3L don't start with the Android Things RPI3 is the hardware configuration, although the RPI3 and the CM3L have the same processor but the additional hardware of RPI3 (Ethernet, Wifi and Bluethoot) has a configuration on DTB file, and this configuration avoid the start, for change it, you need decompile DTB file, remove this hardware and recompile the file

Requiremets:

  • Linux (I use ubuntu VM on Windows)
  • Install Device Tree Compiler Link on this you find the DTC tool (convert tool from DTB to DTS or from DTS to DTB) to use see this answer

Procedure

  1. Get DTB file form the microSD with Android Things (bcm2710-rpi-cm3.dtb)
  2. Copy it on linux and decompile using DTC tool DTC -I dtb -O dts -o bcm2710-rpi-3-b.dts bcm2710-rpi-3-b.dtb
  3. Modify the file (search and comment some lines) In section SOC search and comment blocks sdio_pins, bt_pins, uart0_pins and uart1_pins In the final section sysmbols comment some definitions, sdio_pins, bt_pins, uart0_pins and uart1_pins NOTE: You can comment like C with // or /**/
  4. Compile the file with DTC tool DTC -I dts -O dtb -o bcm2710-rpi-cm3.dtb bcm2710-rpi-3-b.dts
  5. Copy bcm2710-rpi-cm3.dtb file on microSD and run CM3L
0

The CM3 does have GPIO. The major difference between CM3 and RP3 is the unit must boot from the onboard eMMC memory. The CM3 is an industrial SOM unit available until at least 2023 so it is ideal for industrial applications. I'd be interested in anyone who can get this to work on the CM3 as well as referrals to our customers using our Artista IoT from Apollo Displays.