| Welcome, Guest |
You have to register before you can post on our site.
|
| Latest Threads |
reset wifi hardware/drive...
Forum: Mobian on PinePhone
Last Post: baptx
2 hours ago
» Replies: 5
» Views: 4,923
|
Pinephone visibly losing ...
Forum: General Discussion on PinePhone
Last Post: Tia Vaughan
Yesterday, 07:51 PM
» Replies: 8
» Views: 5,493
|
Automatic screen rotation
Forum: PineTab Software
Last Post: TcCoy
Yesterday, 02:49 PM
» Replies: 31
» Views: 29,047
|
US Tariffs & Recent Supre...
Forum: General
Last Post: recursivenomad
Yesterday, 09:46 AM
» Replies: 0
» Views: 48
|
Reinstallation Arch Linux...
Forum: General Discussion on PineTab
Last Post: janqbtzki
03-08-2026, 03:39 PM
» Replies: 2
» Views: 651
|
irradium (based on crux l...
Forum: Linux on Quartz64
Last Post: mara
03-07-2026, 04:21 PM
» Replies: 8
» Views: 15,172
|
irradium (based on crux l...
Forum: Linux on Rock64
Last Post: mara
03-07-2026, 11:04 AM
» Replies: 12
» Views: 16,931
|
irradium (based on crux l...
Forum: Linux on RockPro64
Last Post: mara
03-07-2026, 09:32 AM
» Replies: 11
» Views: 17,779
|
Question About New Produc...
Forum: General
Last Post: kulala
03-07-2026, 01:17 AM
» Replies: 0
» Views: 130
|
Star64 Irradium (based on...
Forum: Getting Started
Last Post: mara
03-06-2026, 10:53 PM
» Replies: 12
» Views: 13,787
|
|
|
Howto: Controlling Pine64 GPIO via the filesystem (sysfs) on linux |
|
Posted by: pfeerick - 08-26-2016, 11:52 PM - Forum: Pi2, Euler and Exp GPIO Ports
- Replies (4)
|
 |
So, you received your Pine64 board, and now you want to do the first thing that almost all electronic hobbyists do as their first project... blink an LED.
You might have seen a guide like this one, and gone... "that looks easy" or "I'm confused!". If you have used a Raspberry Pi, you're probably going "it's easy"... but there is a catch. Whilst the pine64 does have a 40 pin connector that is mostly compatible with the Raspberry Pi (ie. important bits like I2C, SPI, power are all in the same places), some bits don't work 100% like the Raspberry Pi. The gremlins we know about so far aren't a big problem as long as you know about them, as they are easily remedied. One or two others are annoying enough that you might just go "I wanted to use pin 7 for my project, but on the pine64 it controls the backlight for the LCD board, and turning it off isn't a one line command, so I'll just use another pin". That sort of thing. There are plenty of other I/O pins to choose from, so not being able to use one without some fiddling isn't a drama for most setups.
The other thing to be aware of is that if you are using accessing the GPIO (General Purpose Input/Output) pins like I'm about to demonstrate, and are using a nice Raspberry Pi Pinout guide like the nice one that Raspberry Pi Spy does, the GPIO numbers are all different! So if you wanted to connect your LED to pin 15, which is GPIO22 on the Raspberry Pi, and told gpio22 to turn on and off, nothing would happen! The reason for this comes from the fact that the pins are grouped differently on the CPU used on the pine64. The detail isn't important, unless you wanted to work out how to calculate it yourself. If so, have at look at this post, and you'll be able to work out the formula used. Needless to say, if you've done it once, you've done it 100 times, so a nice lookup table is always handy. Joey was kind enough to write up a nice reference table showing the Pine64 GPIO pin number / Raspberry Pi GPIO pin numbering / physical pin numbers. So keep that handy when you want to work out which pin is which.
longsleep also wrote a very handy script which converts the pin names (the ones like PC7 and PH5) to sysfs GPIO numbers. All you need to do is download it, make it executable (chmod +x pine64-gpio-number.py) and then run it specifying the pin name as an argument...
Code: ./pine64-gpio-number.py PC7
... to which the script will then print out "71" and volia... you know what GPIO number PC7 is! btw, you need python3 to run that script, so if it doesn't work properly when you run, you can add python3 by running "sudo apt-get -y install python3", and you can then try the script again.
Now, you have yourself a pine64, you're logged into the terminal either via a serial link, via a network (wired or wireless link), or by with a monitor or keyboard connected to it. If not... you might want to back up a few steps, and get your system up to a state where you have a running linux distro, and can log into it! 
First thing you'll want to do is connect an LED to your pine64 so you can blink it. You have two options. There is actually a place on the board you can add an LED (a smaller 3mm led is best, as standard 5mm leds are a bit to big for where this LED goes). If you have a look near where the headphones socket is on the board, you'll see that there is a place for an IR receiver, a power and reset button, but more importantly for us, an LED (not to be confused with the Chg LED pads next to it - which is for usage with the pine64 battery charge circuitry). You can probably get away with poking the LED into the hole, and bending the leds to keep them under tension, whilst making sure they don't make contact with any contacts on the board, but I would strongly recomment you solder it on, so it makes a good connection. Plus it looks a lot neater! If you take this option, make sure you put the LED in the right way around (cathode - short leg - goes to negative-, and anode - long leg - goes to positive +), otherwise you'll have to take it off and turn it around!! Also, the GPIO number you'll need to use to control this LED is 359, so remember that for later!
The second option is the easier one. You need an LED and a resistor (anything between 220ohm to 1K will do), a breadboard and some connector wires. If you don't have some handy, I strongly recommend you get yourself a set of male to male, male to female, and female to female dupont connector breadboard wires.... you can get a set of 120 for a couple of $$ on eBay, and you'll find them indispensable in future electronics projects. Wire up the breadboard something like the below example. You then connect the end of the resistor (wire on the left side) to a GND pin on the pine64 (pin 39 will do just nicely). For this example, connect the LED positive (wire on the right side) to pin 40 of the pine64. Now you have the LED connected, ready to make it blink.
Now, at the pine64's console prompt, pressing enter at the end of each line. I will explain the purpose of each command in a moment.
Code: sudo -i
echo "75" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio75/direction
echo 1 > /sys/class/gpio/gpio75/value
echo 0 > /sys/class/gpio/gpio75/value
Line 1 logs you into the root user account on your pine64, as due to how the permissions are configured by default, only the root user can access the GPIO stuff we're about to change. I believe it is possible to change permissions, or use different methods of accessing the GPIO, but that is beyond this scope of this guide.
Line 2 is where the magic starts. Before we can use a pin, we need to make sure it has been initialised. The only bit you would normally change on this line is the number. If you look at Joey's GPIO pinout reference, you'll see that the reason I specified 75 is because that is the pine64 GPIO port number that corresponds with pin40!
Line 3 tells the pine64 if the GPIO pin is to be an input or an output (the I/O bit in GPIO). Since we want to turn an LED on and off... we want it to be an output. If we had wanted to monitor a swtich or button, we would have specified it to be an "input" instead.
Lines 4 & 5 are the ones that will be the most exciting, and have been what we've been working towards... Line 4 will make the led turn on ("1"), and Line 5 will make the led turn off ("0"). Think of "1" being "POWER!" and "0" being "NO POWER!", as that is essentially what those lines are doing... turning the pin output on and off. You can run those last two lines as many times as you like... , and if the pin is on and you try to turn it on again... unsurprisingly nothing will happen.
Now see if you can attach LEDs other GPIO pins, and make them light up! you should be use most of the pins (highlighted in blue on Joey's table). I would avoid using pins 7,8 & 10 however, as they have other functions that could cause unexpected results.
I hope you have found this guide helpful, and happy blinking!
TODO: Do a better picture, maybe a more entertaining blink script, maybe a video... showing the wiring?
|
|
|
|
| Update on shipment status for ABS case, Playbox enclosure, and ZWave module |
|
Posted by: tllim - 08-26-2016, 04:38 PM - Forum: Shipment Related Discussion
- Replies (46)
|
 |
The dispatch activity already started on August 19 once we confirmed that second batch (there are two batches, first batch deliver on late July)) ABS and Playbox enclosure delivered from factory to China shipping facility on August 22. Until yesterday, the shipping facility already dispatch out 50+% shipment (around 6,000+) and the rest will continue ship out on next week. Due to intense shipment, the shipping facility didn't provide daily tracking number list to KS support team and the list just submitted yesterday. This means once you get the tracking number, your shipment should be already on the way to you.
We have one hiccup on the ZWave AU module arrangement, when we sorting the ZWave type and discovered backers ordered AU type more than we expected where we can only knows from country list. We have immediately placed additional order two weeks ago and the delivery time is September 7. This means part of the ZWave AU deployment (less than 100) will happen on September 7 and we apologize on this hiccup. The EU and US type ZWave module already deployed together with the enclosure delivery. More than 90% ZWave module shipment accompany with ABS enclosure order.
[Update 8/27/2016] The attached file (already deleted for new update list on below) is the excel file with KS, Backerkit order and shipping tracking number. The list that marked yellow means already shipped with tracking number. The shipping facility still continue shipped out on this week and I will update this list from time to time. If you have any question or inquiry, please email to support@pine64.org, please don't PM me due to this will overload my current loading which is already very heavy.
[Update 9/02/2016] The below attached file ((already deleted for new update list on below) ) is the excel file with KS, Backerkit order and shipping tracking number till September 2, 2016. The total shipment quantity is 10328 pieces and the shipping facility already shipping out 9651 pieces up till today. Still have 667 pieces to ship out on next week, this includes ZWave AU module shipment once we received additional module from factory on September 7.
[Update 9/23/2016] The below attached file is the excel file with KS, Backerkit order and shipping tracking number till September 23, 2016. The total shipment quantity is 10328 pieces and the shipping facility already shipping out 10268 pieces up till today. The last 60 pieces (contains ZWave AU module) plan to ship out on this week, this concludes the ABS enclosure, playbox enclosure, and ZWave module shipment.
ABSENCL and PLYBENC and Z-Wave -Shipping update 20160902.xls (Size: 788 KB / Downloads: 820)
|
|
|
|
Console access withouth network or monitor. |
|
Posted by: mypineme - 08-26-2016, 03:27 PM - Forum: POT modules
- Replies (6)
|
 |
This thread describes a successful connection providing a UART Serial Console on a Linux Host however, this should work on Windows and Mac. The PINE64 board used is a 2GB version (A64-DB-2B-Rev B 2016-02-25). The connection is provided by a USB To RS232 adapter purchased from eBay:
NOTE: you would need 3.3v USB To RS232 adapter, otherwise you may fry your PINE64!
![[Image: img4.jpg]](https://www.theigor.net/imgs/var/resizes/Forums/img4.jpg)
The successful connection is made on the EXP connector:
Connect the GND (it should be labeled on the USB Module Adapter) to Pin 6 or 9 of the EXP connector.
Connect the RX (it should be labeled on the USB Module Adapter) to Pin 7 of the EXP connector.
Connect the TX (it should be labeled on the USB Module Adapter) to Pin 8 of the EXP connector.
![[Image: img5.jpg]](https://www.theigor.net/imgs/var/resizes/Forums/img5.jpg)
Plug the USB end into your Linux host. Find the tty that has been assigned to it by opening a terminal window and typing
. The last group of messages will show you how Linux has mapped the USB module to the tty. In my case the output appears as:
Code: [ 4806.188739] usb 3-1: new full-speed USB device number 6 using uhci_hcd
[ 4806.338823] usb 3-1: New USB device found, idVendor=1a86, idProduct=7523
[ 4806.338828] usb 3-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 4806.338831] usb 3-1: Product: USB2.0-Serial
[ 4806.341875] ch341 3-1:1.0: ch341-uart converter detected
[ 4806.354983] usb 3-1: ch341-uart converter now attached to ttyUSB0
What I'm looking for is:
Code: [ 4806.354983] usb 3-1: ch341-uart converter now attached to ttyUSB0
The final line of the output indicates the USB Serial Device has been assigned to ttyUSB0 (/dev/ttyUSB0).
There are many ways to connect to serial using Linux OS, I will show you two method that I use.
Method one (terminal):
Code: $ sudo screeen /dev/ttyUSB0 115200
Method two (UI):
you would still need to run it from terminal as sudo.
1.) Go to Configuration->Port
2.) Select /dev/ttyUSB0 from Port drop down
2.)Change Baud Rate to 115200
3.) Then click OK
Boot the PINE64 and you should see output in the terminal window on your Linux host.
|
|
|
|
Perfect ABS Plastic Server Enclosure from Radio Shack |
|
Posted by: MarkHaysHarris777 - 08-26-2016, 01:40 PM - Forum: Enclosures
- Replies (14)
|
 |
ABS Plastic Server Enclosure 15.24cmX10.16cmX5.08cm from Radio Shack
This classic Radio Shack ABS Plastic enclosure ( 6x4x2 inches ) is ideal for the pineA64 board, particularly for server applications. These boxes are being marketed by Radio Shack and others like EBay and Amazon. The enclosure is readily modifiable , but is the classic rugged Radio Shack quality ABS box hobbyists and amateurs have come to expect for years.
The box has the classic interchangeable plastic or aluminum base plate fastened by four rugged corner screws. The cabinet is ideally suited (size and shape) for the PineA64 board; with room left for mounting power supply filters, batteries and GPIO cabling, or even a fan.
If you need a ground plane , the aluminum bottom plate (or top plate!) is perfect; else if you need a non Gaussian enclosure the interchangeable ABS plastic bottom plate is also perfect. While I do plan to place my desk Pine board on display in one of Dustin's classy cases, my headless server boards need to be protected too... and this little box is a perfect enclosure.
|
|
|
|
| Touchscreen display mods |
|
Posted by: atomicSoC - 08-26-2016, 08:07 AM - Forum: LCD and Touch Panel
- Replies (2)
|
 |
Hello all,
I'm looking for some answers you may be able to help me with. I have a screen from a Kindle Fire HD7 and curious whether or not it can be adapted for use with my Pine+?
I also have a smaller non touchscreen LCD from an old baby monitor that I would like to try.
Any help would be most appreciated!
|
|
|
|
| Pine64_health.sh problem |
|
Posted by: jl_678 - 08-25-2016, 06:57 PM - Forum: Linux on Pine A64(+)
- Replies (3)
|
 |
Hi,
I just noticed a problem with the above script and do not recall seeing this in the past. When I run it, I get the following:
debian@pine64:/usr/local/sbin$ sudo ./pine64_health.sh
CPU freq : 480.00 MHz
CPU count : 4
Governor : ondemand
Core voltage : 1.04 V
SOC Temp : 35 C
Cooling state : 0
cat: /sys/devices/soc.0/cpu_budget_cool.16/roomage: No such file or directory
Cooling limit :
debian@pine64:/usr/local/sbin$
Does anyone else see this? I am wondering if this could be related to the recent kernel update or if something else is going on.
Thank you!
Okay, so I figured this out. The path changed and the script is accessing the old one. The correct path is:
/sys/devices/soc.0/cpu_budget_cool.17/roomage
I am not sure why it changed.
Sent from my SM-T537V using Tapatalk
|
|
|
|
| No playbox yet, Sooooo.... |
|
Posted by: Severian - 08-25-2016, 06:52 PM - Forum: Enclosures
- Replies (3)
|
 |
I took an old desktop pc case I had, stripped it down and mounted my Pine64 in it. I stripped the power supply down to the external cord connector and switch, allows me to switch it on and of easily. Mounted a small cpu fan under the board for a little cooling, and left the original case fan. Wired in a power strip for the power supplies for the pine64, cooling fans and speaker power. Wired up the front usb ports to a usb plug for the pine so both front usb ports on the case work. Then mounted a speaker on the front of the case. Granted, I would have to remove the cover to swap out sd cards, but i'm primarily using it to learn ubuntu, so not an issue right now. Lol, takes up some space, but hey, it works.
|
|
|
|
| Android 5.1.1 TV (old-stable, no longer maintained) |
|
Posted by: ayufan - 08-25-2016, 04:59 PM - Forum: Android on Pine A64(+)
- Replies (194)
|
 |
Hi,
The last couple of days I have been working on making our Pine A64 useful, at least in some way. It took some time, but progress is quite promising. Maybe someone would be interested in trying it out.
Features
- I can play Youtube videos and cast them from Phone or Browser,
- I can control Pine using my TV pilot (using HDMI CEC),
- The WiFi appears to not be connecting (but discovering) solved,
- I had troubles with working Bluetooth solved,
- 4K@30fps appears to be working,
- I can run Plex and cast videos using Plex app,
- I can use Android Remote on Mobile,
- I can use Spotify Connect,
- Google Play is not working after first update: this device is not supported, blabla solved,
- Standby over HDMI-CEC doesn't work, when TV sends a standby command and then Power On, Pine will not wake up (disable Auto standby on TV for now).
How to compile?
Tutorial how to compile sources is already written: https://github.com/ayufan-pine64/manifest. Skip only `extract-bsp` part since the kernel is already updated.
How to install?
Download compressed image from:
https://github.com/ayufan-pine64/android-5.1/releases
You can use RasPlex Installer to copy it to card, just point to downloaded image file:
http://www.rasplex.com/get-started/raspl...llers.html
There's a problem with DPI on the first boot. When you see a welcome screen you have to reboot Pine.
Troubleshooting
If someone decides to try this. Please post your `dmesg` log and `adb logcat`. You can connect with `adb` over IP address, like this: `adb connect IP`.
Create an issue here: https://github.com/ayufan-pine64/android-5.1/issues
List of my improvements
- rewrote HDMI CEC kernel driver for our 3.10 and pine64 longsleep sources: https://github.com/ayufan-pine64/linux-3.10 and https://github.com/ayufan-pine64/linux-pine64,
- write HDMI CEC hardware driver for Android: https://github.com/ayufan-pine64/device-...d/hdmi-cec
- configure tulip-chiphd to behave as Android TV: https://github.com/ayufan-pine64/device-..._chiphd.mk
- add 4K output for Android TV (you have to enable Developer options, then Developer Options -> General -> HDMI resolution and choose from 720p, 1080p, 4k@30fps), it even appears to be working on my 4K Dell screen: https://github.com/ayufan-pine64/package...TvSettings
- extend Android TV build: https://github.com/ayufan-pine64/proprie...google_atv
- make the build to behave as fugu to make Google Store to detect this system as only Android TV compatible
- disable IPv6 support to mitigate problems with Allwinner media player which doesn't support IPv6 when playing movies over network
- wrote Power Management module for Android, making this build a 15% faster then original,
- have fully reproducible builds and use CI to build Android images
|
|
|
|
| Adafruit 16x2 LCD doesn't turn on with Pine64 |
|
Posted by: mypineme - 08-25-2016, 10:16 AM - Forum: POT modules
- Replies (13)
|
 |
Hi all,
I got my self an Adafruit 16x2 LCD display, put it all together, plugged it in and it won't turn on, not even the backlight. I was wondering if someone had experience with the LCD and don't mind helping me.
I got two of the PINE64 while back for my OBDII project as well as for a another project for the kitchen and its been on the shelf for a while. I have no experience with GPIOs or I2C and recently got socked in to experiment with it. From what I read, PINE64 pins are same as it on Raspberry Pi and I though that the LCD would be compatible with PINE64. Aperintly it's not the case. If I can get some guidance on how to make it work with PINE64, that would be awesome.
|
|
|
|
|