Touchscreen expansion port pinout

Topics around mechanical design, controller and electronics. Mods & hacks welcome.
mb300sd
Posts: 71
Joined: Fri Mar 30, 2018 7:22 pm

Touchscreen expansion port pinout

Postby mb300sd » Sun Dec 16, 2018 1:42 am

Does anyone have the pinout for the 30 pin connector on the touchscreen? The N2 page lists

Extendable Ports: PWM*2, I2C*1, SPI*1, UART*1, GPIO*4, 8Bit ADC*5, USB2.0*1, 5v-1A*2, 3.3v-200mA*1, Reset*1, Gnd*3

as being available, but I can't find any documentation.

mb300sd
Posts: 71
Joined: Fri Mar 30, 2018 7:22 pm

Re: Touchscreen expansion port pinout

Postby mb300sd » Fri Dec 21, 2018 8:41 am

I managed to lock myself out of SSH messing around today, so I had to pull the board. Spent a few hours probing the header with my oscilloscope and some resistors and got most of the pinout.

Viewed in this orientation:

Image

Code: Select all

 1   2   3   4   5   6   7   8   9  10  11  12  13  14  15
16  17  18  19  20  21  22  23  24  25  26  27  28  29  30

 1. GND
 2. 5V
 3. 3.3V
 4. UNK (output with big resistor or input with strong pullup)
 5. UNK (output with big resistor or input with strong pullup)
 6. gpio122 (unlisted)
 7. gpio121 (unlisted)
 8. UNK (input with pullup)
 9. gpio9 (unlisted)
10. gpio120
11. gpio118
12. gpio119
13. gpio117
14. i2c2-scl
15. i2c2-sda
16. GND
17. 5V
18. GND
19. USB D-
20. USB D+
21. Reset
22. UNK (input with pulldown)
23. UNK (has same capacitor on input as the ADC pins)
24. ADC1
25. ADC2
26. ADC3
27. ADC4
28. ADC5
29. UNK (output, high)
30. PWM


3 of the GPIO pins I found were not listed in the tester script found in /opt/3d_print, so they are probably multiplexed with some other function. It looks like the SPI, UART, and second PWM port are not enabled in the kernel, since I couldn't get a signal from those pins no matter what I sent to the available ports in software. Since the pins seem to be grouped by function I assume the UART and SPI ports are somewhere in pins 4-9, and 29 would be the second PWM.

There is well labeled serial port on an internal header that has the boot console on it, which is the reason had to pull the board in the first place. It is possible to use it for other purposes if needed.

I've managed to get some of the example code from the pcDuino Acadia (that the R3D board is based on) image working, but the board is different enough that it's mostly broken. I'll hack up the code another day to expose the ADCs and PWMs for easy shell scripting. The rest of the functioning pins can be accessed easily from Linux.

Custom software can be fairly easily compiled on a linux box with arm-linux-gnuabihf-gcc.

Edit: The unknown suspected ADC pin is indeed connected to the MCP3008 chip, it's just not accessible through the included test program. I can make it available as well, we'll call it ADC0.

mb300sd
Posts: 71
Joined: Fri Mar 30, 2018 7:22 pm

Re: Touchscreen expansion port pinout

Postby mb300sd » Fri Dec 21, 2018 8:22 pm

Code uploaded.

https://github.com/mb300sd/Raise3D-Touc ... -Expansion

It looks like the screen is running a pretty generic Yocto Linux build. I think it'd be possible to create a custom one and copy over the original interface binaries, then it'd be possible to run anything you want on it, and still have the original interface. The IMX6 is also capable of booting from the SD card with a couple dip switch changes, so the original image will always be there in case things don't work.


Return to “Hardware”

Who is online

Users browsing this forum: No registered users and 6 guests