65 comments

[ 3.8 ms ] story [ 137 ms ] thread
This really should be the next thing the RPi team tackles, IMO. It's nice we have this great cheap computer, but trying to find a screen to plug into it is terrible. A computer monitor or TV is fine, but both of them draw too much power and are far too big and stationary. And have you seen the prices of small HDMI screens? I can buy a 8" Windows tablet, full PC mind you, for the price of a single 5" HDMI screen.

Far too often I find myself saying "it shouldn't be this hard". Surely there exists a market for an adapter to plug an easily available iPhone screen into an RPi?

That would be great. If you're starting from scratch, the display is likely to be the most expensive piece to get a pi running. Sure, you can plug it into a TV like the old days, but who has a TV that small anymore?
And being able to run the Pi and the screen from a portable USB battery pack would be nice. It would help hobbyist projects (who wants a robot plugged into a wall?), it would help kids using them to learn (take your whole setup wherever you go), and it would help people in developing areas of the world (where there might not be an abundance of cheaply available and reliable power).
This can't happen soon enough for me:

https://www.indiegogo.com/projects/pi-top-a-raspberry-pi-lap...

.. but then, this is also pretty usable for the same purpose:

http://www.raspberrypi.org/forums/viewtopic.php?t=6747

If you want a screen, just buy a $50 tablet. The Raspberry Pi is basically a tablet computer chip minus the tablet.
+ GPIO pins + FOSS software + Maker community, which make all the difference.
I see your point, but that's far less fun! :)
What I'd like to see is a calculator shell that you could pop the RPi into, including physical buttons, lcd screen, battery and charger. My thinking -- most high schools require a graphing calculator, such as the TI 89 or similar, which is around $100 or so. Imagine if for that $100 you get something that can act as the same calculator, but morphs into a full computer when plugging in a keyboard/monitor? It may end up getting a lot more kids into programming that way.
And then you have to buy a graphing calculator anyway because no high school teacher / university professor will let you take tests with it.
Hell, I'm surprised some of my teachers let me use a graphing calculator one tests that didn't require them. They're already powerful enough to easily cheat with.
Because of cheating? How can you use the Raspberry Pi (in a calculator shell) to cheat, in such a way that you can't use a ti-89 to cheat? Most cheating will be by either storing crib notes on the device (which won't do you any good in math if you don't understand the concepts), or by running a program to solve a problem for you, both of which the ti-89 is more than capable of doing -- that is its whole purpose, is to run math programs.

The ideal situation would be where the RPi foundation uses its existing clout to get a PiCalc accepted as a standard calculator in school.

During my high school exams, every calculator would get reset by a teacher/supervisor beforehand. Harder to do with such a device.
This was still trivial to get around on calculators: on a TI 83/84 you could simply archive any programs you wanted to survive a memory wipe, then un-archive them after the wipe. This trick was widely employed by students in my high school who stored notes/equations by using programs as generic text files.
Standardized test calculator rules in this country are not governed by reason.

For instance, a TI-89 is allowed on the SATs, but a TI-92 is not. Basically the same calculator, except the TI-92 has a qwerty keyboard. How would a tiny little qwerty keyboard actually give you an advantage on a test like the SAT? Who the hell knows. Remember 10 or so years ago when teenagers were all typing on telephone keypads?

On the other hand, the advantage of a TI-89 (with a CAS) over a TI-83+ (without one) is fairly extreme.

(Also, anyone who bothers to google it can trivially get around the reset key combos for at least 83+ line: http://brandonw.net/calculators/fake/ Somebody who takes the time to program their calculator for cheating on a test can do this)

I don't know if it's fair to say that the rules aren't governed by reason. You're thinking only of the capabilities of the calculator, but there are other potential reasons that are valid. It could be a simple matter of wanting to make it easy for testing staff to identify acceptable calculators by making the list of acceptable calculators very small.
The TI-92 with its keyboard was banned not because it would help the test taker, but because of a worry that the full keyboard would enable copying the test to send to someone in a later timezone.
I am skeptical that it would be of any help, particularly since the calculator is only allowed to be out during the math sections, not during the language/written sections.

With the 89's input history, you could effectively record the mathematics section merely by running it all through your calculator and then extracting the history after the fact.

There are two camps on why teachers might disallow calculator:

1) fear of cheating

2) because the teachers want you to do the calculation

When I took my Calc and my engineering courses, my teachers would not allow calculators. They would make sure the numbers are nice, not some crazy number or pi to calculate with. Volts, current, all those numbers are so nice we can do on the paper. I like that because it means the teacher actually put effort to ensure the numbers are not just random, they mean something to the teacher who created the exam (even though they might just change the number next semester).

This looks extremely fun, and I can see it being used for creating homemade mobile devices, and stand-alone packaged hardware.

I will say fun and small size notwithstanding the current cost of doing this ($50) is a little high relative to just buying a super-low end LCD monitor ($85 for an 18" by Samsung, Asus, and Acer, $54 for a refurb from NewEgg). But I'm sure that misses most of the point...

Just seems like the $30 for the 5" LCD is a little steep but maybe you're paying a premium because it is so small(?).

[Author] The premium was mostly Adafruit markup and convenience. I'm totally not mad at the price, I received parts next day. If I really wanted to save money I would design an adapter board, and order bulk screens from China.

Keep in mind this is prototype cost, typically inflated seriously because it's a one off.

How does this compare with some the Raspberry Pi screen kits from China?

I see you can get a generic Pi LCD for $7.65, a 5" LCD with video in for $18.75, and a touchscreen Pi size kit for $19.90[1].

Going to the effort of breaking out DPI through the GPIO was quite creative. If optimized do you think these can hit sub $5? Either way, this was very clever. Thank you for taking the time to document this for others!

[1] http://www.aliexpress.com/wholesale?catId=0&initiative_id=SB...

So, these are almost all crappy clones of this: http://www.adafruit.com/products/1601 It's fine for static images and low quality video, but its using the SPI bus and a custom driver. This severely limits size of the display and/or refresh rate.
Yeah. This might change if the Chinese companies get wind of this technique; if I recall correctly these kinds of parallel LCD panels aren't all that expensive. (Edit: Actually, the controller chip used in those existing Pi LCD modules seems to support the required interface, it's just not pinned out. They could probably make new versions of the modules that are wired up properly.)
there is no controller needed, every single laptop LCD panel from ~10 years old was parallel. Then we got LVDS. Laptop screens from ~7(?) years ago have LVDS deserializer chip on the Tcon pcb (DS90C562/SN75LVDS86), you can desolder that and connect directly to parallel bus. Never screens integrated Flatlink(lvds) receiver inside main lcd driver chip.

LVDS is just serialized parallel video. Serializer chips are ~$5 in singles on Mouser. Combining Pee DPI output with SN75LVDS84 ($2.5 if you order 10 from china) will allow you to connect any modern <=1366x768 resolution (single lvds channel limit) Laptop LCD screen. Those can be free if you have a broken laptop. You could even drive older "HDReady" 32' TV LCD with pee this way.

Agreed. $50 is not cheap in comparison to other options.
This has been an issue for me for awhile. I've been scouting for screens for awhile for something cheap. I've been visiting GoodWill often as they have a large selection of monitors to choose from but most of them are far too large for a small screen. $15 is a great deal for a cheap monitor, but it takes up a huge amount of room.
The pi-s have a display interface connector for DSI panels, and they are planning to bring one out, but it seems to be taking a long time. The intent is that it will be very inexpensive, in line with their education focus. The resolution I saw mentioned was 800 x 480, like the one in this article. A bit small, but usable.
Maybe they can tackle the long-lived, widely-experienced SD card corruption issues of the RPi in the next version instead of adding a bunch more pins and an extra core.

Meanwhile the competition even has eMMC in the same price range.

This comes up with every Pi post on HN for some reason, but if you're getting SD card corruption you either have a bad card (check the known good cards: http://elinux.org/RPi_SD_cards ) or are not shutting the Pi down correctly. You absolutely cannot just pull the power cord out while booted up because the SD card might be in the process of writing and you'll easily corrupt it. Make sure you always run 'sudo shutdown -h now' or something similar before powering down the Pi. I power up and down Pi's almost every day and have never corrupted an SD card.
Haven't had too many corrupted SD cards yet and a good process to recover (set up everything on a 4GB SD card, save the image on the PC using Win32diskimager, write image on 8GB SD cards using SDFormatter as needed (as SD cards vary in actual capacity and if you're a few bytes short your image won't fit, so just use a bigger one)).

However, it seems that crashes are inevitable if you do hobbyist stuff with your RPis. Plug in funny things into your GPIO or USBs and run your own buggy code and you can't always shut it down properly.

>You absolutely cannot just pull the power cord out while booted up because the SD card might be in the process of writing and you'll easily corrupt it.

False. This depends on the software.

We developed a system for the PrintToPeer Raspberry Pi OS that uses the RAMdisk for read/write operations, and makes the rest of the operating system read only.

You can uplug it whenever and nothing is corrupted.

Sure, but 99% of Pi users are going to use the default Raspbian OS and won't have the luxury of a ramdisk and read-only filesystem.
This comes up every time someone mentions the corruption.

We don't power off our many pis, but they are on UPSs (we use them for a security system.) However, the corruption happens so much that we keep disk images and have a spare on hand when we have to reboot them for any reason because 1/4 of the time they will not boot up.

Even if it were corrupting the FILES being written when hard booted, it shouldn't corrupt the FILESYSTEM being written.

TLDR, nuh uh.

> Even if it were corrupting the FILES being written when hard booted, it shouldn't corrupt the FILESYSTEM being written.

That's not how SD cards work unfortunately. When an SD card erases data, like if it's updating a file allocation table, it has to erase an entire block of flash and not just the bytes you care about. The card will throw the block into a cache in memory, erase the block, and then rewrite the parts of the block that weren't erased. However if you pull out power during that operation you'll completely kill the block and destroy the filesystem.

There's a great video here from Linuxconf Auckland about using SD cards for embedded systems and these issues: https://www.youtube.com/watch?v=K3zb6p0thQU

I wish we had a filesystem that was tuned to the peculiarities of flash memory. It should be aware of the large erase blocks and optimize for that.
There's no inherent reason SD cards have to be like this, more sophisticated SSDs are designed to stay readable after power loss. But most SD cards are cheap and nasty so they don't.
I get that, but I don't get how that applies to the corruption we are seeing. We aren't having power fail issues.
The metadata logging on modern Linux filesystems is designed with the consistency guarantees offered by spinning magnetic storage in mind. SD cards (and SSDs for that matter) are completely different - pull the plug when the card is busy updating its internal block indexes and you’ll corrupt a big chunk of the card & no filesystem level metadata logging is going to prevent that.

If you could use a flash filesystem at the OS level & talk directly to the SDcard flash blocks then you might be able to pull the plug & not risk corrupting an SDcard, but as things currently stand I don’t think that’s possible.

A possible third reason is a poor connection to the SD card. I was recently using an SD card that was quite flimsy (presumably it was only designed to work when it was also held from the back, which the RPi SD connector does not do). Even when it manged to boot, soon after the card would flex back and the device would go missing. I switched to a micro SD card in a much stiffer adapter (what I had laying around), and then ordered a smaller microsd adapter (http://www.ebay.com/itm/271679029684) so the thing doesn't even stick out, which will keep it from getting knocked around.
A friend of mine is currently working on a Raspberry Pi laptop, with a DIY kit. Quite similar. www.pi-top.com
How many old laptops are thrown away ? They have nice LCD, and for 50$ I'd be tempted to snip a LCD controller on ebay. Less educational, more eco-friendly.
It's truly amazing how someone can now put together a brand new computer for less than $100 with a bit of effort. I have the Raspberry Pi 2 and it's quite impressive, especially when running on an ARMv7-compatible Linux build.
Wow, didn't know that you could do this with the Pi. People have been doing this with the Cubieboard since it came out[1], but to be honest I'd always assumed the Raspberry Pi display outputs were as tightly locked down behind the binary GPU blob as the CSI camera connector.

[1] See for instance http://linux-sunxi.org/Cubieboard/LVDS - I believe it supports DPI as well as LVDS. script.fex is basically Allwinner's equivalent of the device tree.

You were right, they ARE tightly locked behind ze blob. It took a Broadcom Senior Principal IC Designer (Gert Van Loo) to enable this interface, and it only happened because he made a VGA output board (vga666), he didnt even think about LCDs (something interface was designed for at the time this chip was landing in cellphones).

I get the feeling DSI will never happen, or it will be as crippled as CSI - locked down with blob to working with one official product only.

This is an awesome post. A number of older laptop screens use this "standard" and you can just take off the screen and repurpose it. The trick is that sometimes the flex cable between the screen and the laptop has extra stuff on it.

Time to go panel hunting for some more panels :-)

I was wondering recently what the interface is on my old Nokia N800 tablet, for just this reason, but I'm reluctant to take it apart to find out. And I still have a soft spot for my trusty old N800. I also have an XO-1 OPLC laptop, but it has a funky display. Hmm. I have an old IBM T60 in my junk pile, maybe that could be used...
Heh, if you want a matching XO-1 I've got a spare :-)
For about the same price ($60) you can get this fancy little HDMI display http://www.adafruit.com/products/2260 For $20 more it comes with a touch screen. It is great for little BBB or RPi projects, zero config required for the BBB.
The price I get at the link shows $60 only if you're buying 100 at a time, it's $75 for one. Still nice to know about though.
I'm aware that this is not comparable to a 800x480 display but if you just want to output some simple monochrome graphics the 1.6" Nokia 3310/5110 Displays are quite nice. Very easy to drive and really dirt cheap - they can be found for about $3!
I can get a whole Android tablet for $60 with higher resolution. Why cant I buy just the screen for $25?

Basically take the tablet manufacturing process and remove most of the stuff thats not a screen and add HDMI.