I love these projects but when I have had a need for a display at home, I struggled to find a case! Small displays complete with a case, that was also slim and of decent material, seemed incredibly elusive.
I suppose the modern workflow is to 3d print one: but perhaps other consumers, like me, buying a $20 SBC and a $20 display have not outlayed for a 3d printer... Or purchase a 3d printed one to spec? Unfortunately I don't yet have the confidence in the quality of materials of a purchased 3d printed item, nor enough familiarity with the materials and process to choose from the many options online. They also did not seem particularly cheap.
Most recently, I ended up finding a 2nd hand (refurbished) small tablet, and simply used that as the display for a small system. It pulls the display content over wifi and displays it in a browser, which is incredible overhead for such simple content. But it is slim, has a touch screen, comes complete in a case, and was cheaper than purchasing a similar waveshare or other unnamed-brand display with a matching case (where one could even be found!)
Before 3D printers were so common, the way you’d solve this problem was to buy an enclosure and modify it (cut out a hole) for the monitor to fit into. There are many options for prebuilt enclosure/cases, so I’m sure you could find one with the right amount of space and size for this project.
3D printing will yield a more custom solution that fits exactly the size you need. But that’s a pretty recent advancement and there are alternatives.
> I suppose the modern workflow is to 3d print one: but perhaps other consumers, like me, buying a $20 SBC and a $20 display have not outlayed for a 3d printer.
There are a few options here, including 3D-printing-as-a-service. Depending where you are, there may be a makerspace you can visit - even my local library has a small 3D printer available for use
That's an incredible idea -- I should chase down the 3 or 4 libraries near me and see if they have a 3d printer. If they have one, the staff there are probably quite keen for visitors to print a file.
I do wonder about longer prints and how that might go, but that's a problem for another day.
Re: 3d printing as a service, when I googled it here in Australia it was plentiful, expensive, and mostly focused on higher quality materials - for prototyping serious gadgets, it seemed. There were generic websites that seemed to be based overseas, but the options (and therefore my guess at quality) were behind a wall of lingo and technologies. I would have needed several hours I think to google, ask LLMs, etc, before understanding which to choose. And then? They were still not particularly cheap -- I expected to spend less on the case than the screen.
there are sites out there that aggregate local 3D printing companies and some let you submit a model to get automated quotes from a bunch at once. I found my favourite local printer/supply store that way a few years back. if we have them in Canada then I'd be surprised if there wasn't an equivalent in Australia.
there's also services like Shapeways which can print in basic or exotic materials and ship them
My library has one, and it's saved me the itch of wanting my own printer a few times now. I have made a deal with myself that once I print things regularly enough, I can consider getting a printer of my own, but at the current clip of maybe one print a year, it doesn't make sense. I'd probably print more if I had the printer, but so far I haven't needed anything bad enough to warrant that, and have plenty of other projects in to which I can sink my money.
Plus, picking up a print gives me a reason to go to the library, which I love.
Precisely this. Or try making friends with someone with a 3D printer or ten.
I generally print and send small things for free, for anyone who asks nicely in certain forums and discord servers so long as they're local (country) or want to pay the shipping.
3D printing is a hobby for me, I use it for functional prints mostly, and I love for people to experience what I did the first time I got my hands on something 3D printed.
I used 3D print services at first, but I found the quality from some of them wasn't up to my standards; they're optimising for speed and profit, fair enough.
If you have money and little time and patience, Bambu labs p1 or x1 series is one of the easiest to set up out of the box, and you can get or add on the AMS (automatic material system) which makes it easier to do multicolor printing. (US $700+)
If you have little money and more time and patience, Creality Enders are a good basic introduction to all the nuances, pains and heartaches of 3d printing but will give you a better idea of fundamentals. ($100-300) Expect to lay out another $100 for filament, upgraded bed and other small parts like bed springs.
Don't buy a used machine as a starter because you'll just be taking on someone else's headache, but once experienced you can find some craigslist and offerup deals for spare parts or a small print farm, occasional like new "used twice" $50 printers.
You've got a few answers from other people now. From my perspective, I'd say that the landscape has changed a bit since I started, at the time, the budget entrypoint was an Ender 3 v2 from Creality. Nowadays, they have better models, and there are plenty of other options out there.
I'd still personally recommend something like the (new) Ender 3, or similar, not because it's a great printer, but because the community around it is huge; you'll be able to get lots of help, and there are plenty of mods. Have a poke around Reddit etc and see what the most popular model is these days.
After a couple of years I heavily modified the E3v2, to the point nothing but the frame remains, and then I build a Voron v2.4 (350mm).
Once I had a printer, I started learning to design/model things, learn how modeling for 3D printing is different to other forms of manufacturing, and then just make things you want/need.
3D printing is still a hobby for me, that's the way I'd like it to stay so I've got no advice on making things for sale etc.
I advise against self-assembly. Especially for your first one, let the factory assemble it. Doing it yourself significantly increases the likelihood of alignment/calibration problems.
These will be frustrating and hard to chase down, especially if you don’t have a mechanical background. You can make a whole hobby out of building, modifying and upgrading 3d printers… but that’s a very different thing from using a 3d printer as a tool for other projects.
if you don't want the printing rather than tinkering with the printer to be your hobby, I'd go with Bambu labs. they're more expensive but they are absolutely unmatched when it comes to the out of the box experience.
I avoided buying a printer for years and years because I wanted to print things, not spend my time tuning and tweaking the printer. finally broke down last year and bought a Bambu P1S with the AMS for multi-material printing and it's been a revelation.
It's truly set and forget. Keep the filament dry, keep up with routine maintenance and you'll never have to worry about a failed print.
If you have the option near you, definitely search for and visit a makerspace near you. One reason is that 3D printers require frequent maintenance - something which will be "taken care of" at a makerspace - and you can spend time talking to 3D experts before making the commitment.
At home, 3D printing is a highly skilled craft and takes lots of experience and expensive hardware. I have been doing 3D printing for a decade, and have been through all the pitfalls. It was a long hard road to get consistent quality prints. Sure, if I need something prototyped really rapidly then I'll print it at home. But if I want something done with exceptionally high quality, then for me its much easier to design the part, I use OpenSCAD, and then send the STL to one of the many 3D printing service providers to be printed. My personal favorite is JLC. They offer lots of different materials, and their commercial industrial 3D printing machines do a much better job than any DIY home printer.
> I have been doing 3D printing for a decade, and have been through all the pitfalls. It was a long hard road to get consistent quality prints.
A decade ago, I would have agreed.
The situation has changed so much in the past 2 years that it's not very difficult to get high quality prints from a modern printer.
Sending files to a professional 3D print shop will produce better parts, but it's nowhere near a necessity for something like a simple Raspberry Pi case. Those projects are perfect for the latest generation home 3D printers.
I have fdm and resin. Bambu absolutely changed the fdm world. But for resin if I need something done perfect, I just send it off. I’ve had 100% success rate on all the resin prints I didn’t print myself. Anyway.
Modern printers are pretty good, now. I have the ender 3 v2 and it was considered a huge upgrade over the original ender 3, but stuff from bambu labs are actually "remove from box, push print, get object" as long promised. The Bambu Lab X1 isn't cheap, starting at about $1200, but it Works As Advertised
Many public libraries have 3D printers you can use, or they will print your files for you. Some even have 3D laser scanning to create duplicates of existing objects.
Ask around if any of your friends have a 3D printer. For a one-off personal project that needs an RPi case most people with hobby printers would probably not mind. It costs pennies in materials, the only thing it uses is printer time, and hobby printers are usually idle 90% of the time.
For electronics housings, the material should be PETG, ABS, ASA, or any variant of nylon.
PLA is a bad choice an RPi case, it will warp under the heat.
Although this is a fun project, this seems like a silly amount of work to get this to work: this display controller has been supported in the Linux kernel for ages. Why not just add the panel to the device tree and let the kernel handle all that for you?
Tip for working with Dupont connectors: if you have N cables connecting to a pin header next to each other, then remove them from their 1x1 plastic housings and put all cables into a single Nx1 housing (there are very cheap sets with a couple of dozen different Nx1 and Nx2 housings each). It will almost completely prevent cables disconnecting themselves from the pin header.
Feel free to modify this as needed, e.g. by having a 6x1 connector on one side splitting into 4x1 and 2x1 on the other if that’s how the cables group. Or use a …x2 connector if the pin header has two rows like here.
Furthering the love, without the cursing, bent tweezers, and ruined retainer clips (getting the connectors out of the casings sometimes results in all of the above), you can purchase pre-crimped wires, then assemble as needed (https://www.pololu.com/category/299/ribbon-cable-with-pre-cr...).
Awesome! I think the next step for this project would be to implement a proper DRM kernel driver and device tree overlay, instead of copying the framebuffer in userspace.
For reference, take a look at the Beepy display driver module: https://github.com/ardangelo/sharp-drm-driver. It's for a monochrome Sharp memory LCD, but still uses the SPI interface on a RasPi.
Thanks for the suggestion! I have no idea about drivers, so it would be great for learning. Pardon my ignorance, but can the gpu render to other display devices as normal?
> can the gpu render to other display devices as normal?
Yep, it will just result in your driver showing up as another `fb` device. Then, you can configure the kernel fbcon boot parameter to use your display for tty, or launch X configured to use your fb device. This would also let you do fun stuff like run mpv pointed directly at the fb device without running X at all :)
I put my email in my profile, so feel free to message me if you need any pointers.
All these projects are fun exercises...but what kind of use case is "for when I don't need a laptop"? In french we have that expression that pretty much translate like this: "He who can do the most can (also) do the least". This pretty much applies to laptops. I mean a laptop is also a desktop if you put it on a desk.
When traveling this combination works really well because it doesn't have a battery (which means it can go in checked luggage and I don't even take it out of my bag when going through security if I carry it on board). It's very light and I don't need a separate adapter since any USB-C will do. It uses HDMI so I can connect to most hotel TVs to use as a large monitor. From this machine I can SSH to any of the other machines I need access to and so it acts as a terminal.
Between phone, powerbank, headset and cameras I put so much stuff out of the luggage through security[1] that I don't think adding or not a laptop/tablet matters that much.
Also unless you carry 5 meters usb and hdmi cords I don't think that use case is so universal. Power outlets are usually so badly located in hotels.
[1] basically I empty the handbag of everything that is not spare clothes. It is just easier to throw everything on that plastic tray than filtering what needs to be shown or not.
> It's very light and I don't need a separate adapter since any USB-C will do. It uses HDMI so I can connect to most hotel TVs to use as a large monitor. From this machine I can SSH to any of the other machines I need access to and so it acts as a terminal.
To each their own, but I specifically avoid taking a laptop on any pleasure trip where I want to limit the work I can do, not to make it easier to do work.
If it is a work trip (or at least work-interlaced), plugging a custom device into a hotel TV screen sounds tedious - and the screens are probably going to be of poor quality (low resolution, low refresh rate) - so good enough for a hotel room but much worse than a laptop or a monitor.
That said, glad it works for your use cases. If so, it probably will work for at least one other person!
I like the look of 1.83" IPS LCD Display Module (240 x 280) for £9. But as another comment already mentioned, they are often limited to RGB444, RGB565 and RGB666 formats.
Problem with these small displays is that lot of them are pretty bad.
It's possible to find good cheap (~$8-10) IPS panels with parallel 24-bit interface with wide viewing angles and good contrast, but these common cheap SPI ones are not it.
A lot of people would be less interested if the author moved the camera a bit from the perfect 90° position. :)
haha, it's actually got decent viewing angles as it's ips.
I do admit I should have shopped around a bit more though, lots of cheaper options out there.
This is precisely what I've been considering! I want a physically small display that can do 80x25 (at least) text, for those times when a laptop isn't available or is too cumbersome.
Because many of the SPI screens don't have the resolution to do at least 80x25, I'm currently using a small composite display, but if I find something that does at least 480x200, I'll give it a go. This'll be a good reference :)
If your Pi has an hdmi port, you could get an hdmi to usb adapter, connect it to your phone, and install a usb webcam app to use your phone as a display. The latency will be horrible if you cheap out on the adapter but it doesn't look too good for this setup either.
Nice project! I recently did something similar by porting the EndBASIC console to show up in a tiny LCD. Making it work at all was fun, but then optimizing the driver to be fast enough was a really cool exercise. I've submitted the story here: https://news.ycombinator.com/item?id=40906201
And while working on this, I also found out that NetBSD has a native LCD driver for its wscons framework, so presumably you can trivially get the full system's console on the LCD as well: https://man.netbsd.org/ssdfb.4
I use one of the small plug'n'play displays (well, nearly – you run a script) for my Pihole RPi to show stats and state. For mere interactive work, I have found that tablet displays packaged in a case from Aliexpress work nicely.
In case somebody is interested: there are decent ST77xx based displays for a lot less than $20 for the 2" size. Otherwise, with $20 you can get a much larger one on AliExpress, always based on the same chip so compatible with the code in this post. If you are ok with paying a bit more and want to be sure to get a quality product, for $20 you can get a solid color display on Pimoroni if you are in the UK or are willing to wait forever for the shipment in Europe.
Is it possible to use square magnifying glass to get to 7-8 inch or even 14? I want to make old school vibe amber color mini computer with a PI, and was thinking of using either 5" spi or one of the smaller ones 3.5 or so.
PS: we have been bombarded with AI so much that I misread the title as 'AI monitor for PI' :)
You can use a fresnel magnifier to accomplish this, but it will not manufacture more photons, so the bigger you make the magnified image, the dimmer it will appear.
I suppose the modern workflow is to 3d print one: but perhaps other consumers, like me, buying a $20 SBC and a $20 display have not outlayed for a 3d printer... Or purchase a 3d printed one to spec? Unfortunately I don't yet have the confidence in the quality of materials of a purchased 3d printed item, nor enough familiarity with the materials and process to choose from the many options online. They also did not seem particularly cheap.
Most recently, I ended up finding a 2nd hand (refurbished) small tablet, and simply used that as the display for a small system. It pulls the display content over wifi and displays it in a browser, which is incredible overhead for such simple content. But it is slim, has a touch screen, comes complete in a case, and was cheaper than purchasing a similar waveshare or other unnamed-brand display with a matching case (where one could even be found!)