My attempt at building a usable Linux computer with the €13 Orange PI PC board
To make the experience fit your profile, pick a username and tell us what interests you.
mounting frame to hold the OPI in the project box
Standard Tesselated Geometry - 186.02 kB - 07/21/2016 at 17:18
Up to now I had ony connected my OPI to the livingroom TV, surprisingly enough. Since this is not always convenient I hooked it up to my computer monitor upstairs. Sine that monitor doesn't have an HDMI input I had to dig around a bit to find an HDMI to DVI cable, which I eventually found. So I connected my OPI to the monitor and I got a purple screen. After booting up my desktop was glowing in all kinds of purple hues. Thinking that maybe a second OPI had fallen victim to me I quickly tested it on the TV downstairs. It was fine... Must be the cable then... I connected a Raspberry PI and that one was giving a normal, clear picture on the monitor. Hey welcome to the wonderful world of the Orange PI, where every seemingly trivial task presents you with a challenge to keep you occupied for at least several hours! I guess it's back to Googling and digging around the forums to get this fixed..
UPDATE: And indeed after going through the forum there is indeed a thread describing issues with HDMI to DVI. So I gave the suggested solution a try and now I have a proper display :)
To make the power / system status LED work I had to remove the D8 LED on the OPI board. I connected a NPN transistor's base to the positive end of D8 and the collector to the 5v line. The emitter goes to ground through a green LED and a 220 ohm resistor.
For the SD activity LED I connected the /CS line of the SD slot (pin 2) to the base of a PNP transistor. The collector of the transistor is connected to the 5v line through a red LED and a 220 ohm resistor. The emitter is connected to ground. This inverts the signal from the /CS line making the LED blink when /CS goes low and the SD card is being accessed by the OPI
Now when you boot the OPI you will first see the SD activity LED blink a few times, presumably to fetch the boot loader. When everything is ok the green status LED wit turn on and the OPI will continue booting and the SD LED will blink some more like you would expect :).
I spent the better part of today jigsawing and drilling holes into the case of my little computer to fit all the connectors and bolt the various PCBs in place. I must say that I'm pretty pleased with the end result. Everything fits together nicely, although I had to hack the USB hub PCB a little to make it fit. I made the (in my case) classical mistake of measuring the holes for the USB hub without the OPI in place. DOH! This meant that the OPI's dual USB connector was in the way. Luckaly I could fix it by sawing a corner off the USB hub's PCB and rewiring the broken traces. Still need to run the wires of the 4th port to the front USB connector.
I want my computer to have a toggle switch as its power button. I just like the look and feel of a mechanical switch like that. But having one of those to turn the OPI on and off means that the socket for the power adapter has to go. This meant having to go medieval on the OPI. Thanks to the big ground planes and thick center pin of the socket meant there was just no way for me to desolder it. I managed to cut it away with some small pliers and still preserve the socket, so I can still use it to connect the adapter. Of course I had to test it right away after this to make sure I hadn't damaged the OPI. I hadn't :)
At this point I wished boards like the RPI or OPI were more hacker friendly. Allowing you to remove connectors more easilly for people like me who want to customize the boards...
Finally I hooked up a fan that I mounted to the side of the case. This is keeping the OPI nice and cool now at 55 C when running at 1500 MHz, which is good enough for me. When wiring everything up I also decided to connect the +5v of the USB hub to the main 5v rail straight from the adapter. That way the external devices can benefit from having that beefy power supply. Now all that's left is to make all the connections to the front panel PCB. I'm not looking forward to solder that 40 pin ribbon cable...
With most of the software worries out of the way I started to do some more work on the case.
I designed a bracket to hold the board in place and printed it on my 3D printer. STL file is added to the project. I also made some standoffs to hold the front panel PCB in place. But no concrete front panel design yet. I want to break out the 40-pin GPIO header and a USB port to the front as well as power and SD status LEDs. A wifi status LED would be cool too if I can figure out how.
I also hacked the OPI board a little. I desoldered the single USB port and replaced it with a cheap $1 4-port USB hub that I want to bring to the back of the case to connect keyboard and mouse.
After waiting a few weeks I received my new OPI in the mail. By this time I also got a different keyboard that I ordered and what do you know it worked :). But still the whole experience was just slow and not very usable.
I had been googling a bit and found out about a Facebook group that apparently had the GPU drivers for the board. I downloaded the package which came with a long list of instructions. Started to follow them only to get disappointed again about half way through. Turns out the image I'm running on my SD is not quite the right one for that driver...
I turned to the OPI forum again to a thread where one user is gathering a collection of OPI images. I tried a few of them which led to more disappointment. It was a mix and match of keyboard, mouse, ethernet and wifi issues. But before just settling with that slow but workable Lubuntu image I found a thread by a user who had prepared a Debian Jessie image with the GPU driver and some more goodies. I added the link to this project.
Gave the Jessie image a try and surprise, surprise, it works great! It supports my hardware, speed is good and it's able to play audio and video as well. It was even kind enough to remind me to extend my SD partition when I first ran a terminal and it provided a script to do so. None of that manual fdisk rubbish! With the kernel update found on page 2 of the thread I was also able to run in 1080p :). Finally some good news.
While waiting for a new keyboard I wanted to do some work on the case. I fitted a small fan since the chips are still getting a bit hot.
One of the things that I wanted to try was to have a SD activity LED on the front. I figured I could do this by hooking up an LED to the clock pin of the SD card slot. With a little experimenting this worked fine so in all my enthusiasm I grabbed my soldering iron and started to solder some wires onto the SD card slot and 3.3v and GND test points. I used some thin single core wire that was a bit stiff and springy. This caused one of the wires to spring loose and wreak havoc on the power supply. It created a short and my board was dead.
Not wanting to give up I licked my wounds and ordered a new OPI...
So I received the OPI PC. It takes a whopping 3A power supply to run. I don't have one lying around so I ordered it together with the board as well as some heatsinks as the chips tend to get really hot apparently.
When I first turned it on nothing happend. No power LED. Nothing. It turns out that you must have an SD card with a working image on it before the power LED turns on. I downloaded the Lubuntu image that you can find on the website and prepared the SD card. It booted very quickly into the login screen.
Then the first problem: my keyboard wasn't working. After trying another keyboard and a bit of frustration later I settled with logging in as guest, since that doesn't require me typing a password. The mouse was working fine. I could now explore the UI a bit and with the virtual keyboard I was able to at least do something.
The speed of the OPI isn't very impressive (at least not with the Lubuntu image). It can barely run Chromium, you can forget about playing any video and sound is a complete mess.
I decided to buy the cheapest keyboard I could find in the hope that it works and in the mean time do some work on the case.
Become a member to follow this project and never miss any updates