hiisukun 3 months ago

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!)

  • mbreese 3 months ago

    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.

  • squigz 3 months ago

    > 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

    • hiisukun 3 months ago

      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.

      • inhumantsar 3 months ago

        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

    • eddieroger 3 months ago

      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.

    • alias_neo 3 months ago

      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.

      • orphea 3 months ago

        Do you happen to have any suggestions as to how to get started with 3D printing? Can you recommend a 3D printer to buy as the first one?

        • dole 3 months ago

          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.

        • alias_neo 3 months ago

          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.

        • pbronez 3 months ago

          To get started, buy a printer.

          If I was starting over, I would get a BambuLab A1 https://bambulab.com/en-gb/a1

          If you want to spend less, you can get an Ender 3 or one of its many clones https://www.creality.com/products/ender-3-3d-printer

          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.

        • inhumantsar 3 months ago

          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.

        • dv35z 3 months ago

          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.

  • lithiumii 3 months ago

    You can also build one with LEGO, which is like the OG 3D-printing.

  • Teknomancer 3 months ago

    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.

    • outworlder 3 months ago

      > It was a long hard road to get consistent quality prints.

      Not anymore. Modern printers will give you pretty consistent results out of the box.

      You do need to send to commercial 3d printing services if you need exotic materials.

      • TheCleric 3 months ago

        Amen. I remember spending hours getting my Ender 3 from out of the box to “decent prints”. My Ender 3 KE has been rock solid from the start.

    • Aurornis 3 months ago

      > 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.

      • sixothree 3 months ago

        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.

    • hadlock 3 months ago

      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

  • giantg2 3 months ago

    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.

  • dheera 3 months ago

    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.

  • abdullahkhalids 3 months ago

    Your local library might have a 3D printer - many do. You can walk in there, and check the quality of their prints, before getting one done there.

  • spoonjim 3 months ago

    What you're looking for used to be called a "project box." They still sell them.

zevv 3 months ago

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?

_Microft 3 months ago

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.

You will love it, believe me.

mafuyu 3 months ago

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.

  • nomza 3 months ago

    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?

    • mafuyu 3 months ago

      > 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.

jgrahamc 3 months ago

I've used a Raspberry Pi 400, an Adafruit CYBERDECK HAT and a Joy-IT 3.5" display to make a small, portable computer for when I don't need a laptop: https://blog.jgc.org/2023/10/cyberdecking-raspberry-pi-400-o...

  • prmoustache 3 months ago

    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.

    • jgrahamc 3 months ago

      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.

      • prmoustache 3 months ago

        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.

      • danans 3 months ago

        > 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!

  • onemoresoop 3 months ago

    >I've used a Raspberry Pi 400, an Adafruit CYBERDECK HAT and a Joy-IT 3.5" display to make a small, portable computer for when I don't need a laptop:

    It's cool but you did create something that is not very different from a laptop.

    • jgrahamc 3 months ago

      It does not contain a battery. It can safely go in an aircraft hold.

megous 3 months ago

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. :)

  • Ballas 3 months ago

    Generally I agree with you, however the ones from waveshare are surprisingly good, albeit with a 16bit (RGB565) interface.

  • nomza 3 months ago

    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.

    • megous 3 months ago

      Good for you. :)

johnklos 3 months ago

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 :)

0x1ceb00da 3 months ago

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.

jmmv 3 months ago

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

bouvin 3 months ago

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.

antirez 3 months ago

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.

throwaway71271 3 months ago

Amazing!

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' :)

  • theodric 3 months ago

    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.

    • throwaway71271 3 months ago

      Thanks thats what I was looking for, wasn't sure how it is called :)

lawlessone 3 months ago

The browser .gif reminds me of browsing WAP pages on a Nokia back around 2004-6

CodeWriter23 3 months ago

Fooling the GPU into working and copying the framebuffer, interesting approach. Really simplifies implementation.

contctlink 3 months ago

Definitely something I could use as an external display for a pomodoro timer

  • Cthulhu_ 3 months ago

    Kinda expensive and overbuilt for a pomodoro timer to be honest, you can get analog or digital timers for cheap.