Friday, February 26, 2021

Night at 8

It's quite interesting to see that in several languages (mostly of latin or european origin), the word "night" begins with an "n", followed by something sounding very much like the number "8", in that language...
LanguageEightNight
Englisheightnight
Frenchhuitnuit
Spanishochonoche
Portugueseoitonoite
Italianottonotte
Latinoctonocte
Germanachtnacht
Dutchachtnacht

Friday, January 22, 2021

Several configurations for a Raspberry Pi Laptop

The Raspberry Pi is a cool single-board computer, modular, onto which you can hook up web cam, loudspeakers, external hard drives, all kinds of devices.
It has wireless and bluetooth connectivity, several USB ports, an Ethernet port. It has everthing I expect from a computer.
It can play music and movies, with the new Raspberry Pi 4 and its 8 Gigabytes of RAM, I can even do real development work without any problem, with tools like PyCharm or IntelliJ.

The Raspberry Pi 400 has recently been released, this is a very cool configuration to think about. For 100.00 USD it comes with the board (4Gb of RAM), a keyboard and a mouse. "All" you need to add is one (or two) HDMI screen(s).
A desktop HDMI screen can be an expensive device...

Along the same lines, below are a couple of configs I came up with before the Raspberry Pi 400 was released..., keeping in mind that those configs are mobile configs, not desktop ones.

The different configurations presented here can be acheived for less than 150.00 USD. And they do work for real.
Note: The configurations presented below have small screens... But nothing is preventing you to plug in a big one.

Here are several configurations for a small Raspberry Pi based laptop, to be taken on the go.

Click on the pictures to enlarge them.


In its Pelican box, with a 7" touchscreen (no keyboard needed, it's like a tablet). The Raspberry Pi is behind the screen, ducked in the foam.

With a wood and plexiglass custom case, a breadboard, wireless keyboard with touchpad, and a 7" HDMI screen

Raspberry Pi 4, 7" HDMI high-definition screen, wireless keyboard, in its own 3D printed holder. (STL files for 3D-printing are available here).
Same config, but without the holder, in a Pelican case It all fits in
Putting things to work At work!

Yet another config, in a waterproof box, with webcam, 5" HDMI screen and small wireless keyboard (STL files for 3D-printing are available here).

In the box, closed. Connecting the loudspeakers
Unpacking At work.

With an Adafruit 3.5" TFT, as explained here:
Same config, with another enclosure (all STL files available here):

And there is a Raspbian OS 64-bit version in preview... I'm looking forward to the 16Gb version of the Raspberry Pi 4!

Sunday, November 29, 2020

Mac Look and Feel, on a real computer!

 Definitely something to check out: Twister OS

It runs on pretty much any Raspberry Pi 4, it comes loaded with tons of cool apps, and it possibly looks like a Mac Desktop 😀.

I'll look deeper into it, but it sounds already promising!


Thursday, November 26, 2020

PKIX path building failed

I was gradle'ng on the Raspberry Pi Zero as usual, and during a build, I had the following message: 

sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

What the Fr*nch??!

I spent too much time and sweat trying to find a solution.
If that happens to you, just re-install your JDK!

sudo apt-get update 
sudo apt-get install openjdk-8-jdk-headless

The Raspberry Pi Zero cannot - so far - run a Java version above 8. 
This operation above also re-installs the required certificates. 
And you're back on track.

Friday, November 20, 2020

Raspberry Pi based fully featured small laptop

 The full project is here, with the STL and OpenSCAD files for 3D printing, and the list of parts.

It comes with screen, keyboard, touchpad, speakers, camera, USB ports...

It plays movies, music, fully featured!! And for less than $100.

At work


Friday, May 29, 2020

Raspberry Pi 4 with 8GB of RAM...

Released yesterday, there is now a Raspberry Pi 4 with 8Gb of RAM, for $75 in the US!
(See the Raspberry Pi blog).
And it comes along with a beta-64 bit OS, named Raspi OS, that targets Raspberry Pis 3 and higher.

I tried it (on a Raspberry Pi 4, with 4 Gb of RAM), it works fine, and fast!
This beta version does not come with Java installed, but a simple sudo apt-get install default-jdk installs it (JDK 11) in a couple of minutes.
I cloned a repo (https://github.com/OlivierLD/raspberry-coffee.git) and built it without any problem or error.

Now, I might wait a bit longer to get a new Raspberry Pi. As it is now, it should be able to support 16 Gb of RM, I'll wait a bit, and see...

Anyway, that makes yet another good reason NOT to get a Mac.
Steve Jobs vs Eben Upton..., I vote for Eben Upton, biiiiiig time.


Friday, May 22, 2020

Using OpenCV to downgrade an image

This is a bunch of comments on the code visible on github. The goal here is to downgrade a color image to display it on a led matrix, like a small OLED screen here, an SSD1306. We will use OpenCV, in Java. Here are the steps we follow:
  • We start from the colored image
  • We turn it to gray
  • We thresh it
  • We resize it (smaller)
  • We store it in a file, custom format
  • We can then display the image on the led matrix (oled screen here)
Original Grayed
Threshed Resized
The level of details of the final display is obtained during the threshold part.
See in OpenCVSwingColor2BW.java:
    // threshold
    Mat threshed = new Mat();
    Imgproc.threshold(gray,
            threshed,
            150, // 127,
            255,
            0);
Tweaking the thresh parameter (150 above) leads to different results.
The final result is stored in a binary file (image.dat).
The matrix used here is 128x64 pixels big. The file will contain 64 lines of 2 longs.
A Java long has 64 bits, 2 longs make 128 bits, that's all we need to encode one line of 128 leds on the screen.
See the code in OpenCVSwingColor2BW.java for details.

Adios Papou