Evaluation Type: Development Boards & Tools
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?:
What were the biggest problems encountered?: USB-C issues (would not restart with OnePlus USB3 chargers) and issues setting up in Buster (wouldn't download updates).
Raspberry pi roadtesting
After receiving the Raspberry Pi (no unboxing videos as I’m sure you’ll find a large number on youtube if you’re into that kind of thing) I first set about downloading the latest version of Debian Buster with the GUI from the official site (link), getting a brand new microSD card and using win32DiskImager to transfer the img file to the card. As this was something I’ve done a number of times (a week) it’s nearly second nature at this point. I had purchased a Micro HDMI cable and the official Raspberry Pi USB C power supply in anticipation of this road test also.
The pi booted quite quickly after resizing the file system. Straight into the desktop it started a setup procedure to change the country/keyboard/language, change the password, setup wifi and download updates. Updates took a while even though the image was less than a month old, but this was due to Buster changing to its Release version, after some googling I found this command worked a treat, accepting the new version"sudo apt -y update", accepting the new version, while "apt-get update" always encountered problems.
I did find the ssh notifications on the desktop quite annoying, they appear on every boot so long as you use the default password for the raspberry, which is handy when you're in development.
I have 4 different power supplies that should be suitable (3amp and upwards at 5v) and nearly a dozen cables/adapters etc. and testing them out I found that all of the power supplies powered the raspberry Pi, however some of the cables showed the insufficient power/voltage lightning symbol and a couple of those that did power it well had issues, namely that when I requested the raspberry pi to reboot it halted and required power to be removed a couple of times before it would boot (these were OnePlus Dash chargers by the way, other than the official Raspberry Pi Power Supply the Griffin PowerBlock also worked perfectly).
I next set about printing a case to protect the SBC (Single Board Computer) from accidental shorts, etc. Finding one on Thingiverse was simple as there are already many different types, mostly modified versions of previous cases. As I had a 20mmx20mmx10mm 5v fan laying around from a previous project and reading other reviews that the Pi 4 can get quite hot I decided to modify an existing case and put together a small board to control it and work this into the case.
Using instructions I found here it was quite easy to put together a quick fan speed controller and a startup script to manage the temperature. As it’s only a small fan it wouldn’t cool the Pi very much but a near constant low speed keeps it in check and the noise level down to a minimum.
The case is a bit rough and ready so it will need some further modification to keep the slim profile which I will update at a later stage.
Once the case was complete I got to work on the Slide Show script (as promised in the brief).
As I had already done some work on this, it didn’t take too long to customise it for the Raspberry Pi, including some auto resizing on double-click. It doesn’t have a lot of error handling on it at present but I intend to add to it as I do some more testing (particularly with my rural internet connection it tends to drop from time to time, so there will need to be some error handling on the connection). Otherwise it works well, and provides enough customisation to allow for all photos to be included or a single album by changing some variables.
For another project I had a PoE hat and an official Raspberry Pi 7” Touchscreen and thought I would test the Pi with these also. Both the touchscreen and PoE hat worked perfectly, the fan on the PoE hat works straight out of the box but I needed to modify the trigger temperatures and fan speed settings to reduce the noise here also as it was too noisy at normal operating temperatures (~60C).
Using the official 7” touchscreen as a digital photoframe looked nice, photos were clear and viewable at decent angles. I found it to work really well with both, the touchscreen was quite responsive and display was fluid, there was enough power to keep the device and display running, using a couple of tabs in chromium, a background python script and 14 neopixels (at about 70% brightness). Using a cheap usb volt/current detector, it peaks around 1.5 email@example.com and averages about 1.25 firstname.lastname@example.org.
The next part of my submission was to use the Pi as a digital lava lamp using Julian Butlers project as a template, but I wanted to design and 3D print the majority of the parts and try to have it react directly to sound. Julian's project uses a FadeCandy to control the neopixels. I’ve used a raspberry pi to do this directly, but after seeing Julian's project and how nice the changes were and easy to program, I thought I’d give it a go, and I really love the results. The LED colour does seem sharper, more in tune with the colour that’s set and the transition between colours seems a lot smoother than using the adafruit neopixels python library.
After designing the case and printing it, I put it all together. I found I made some of the parts a little too tight and neglected to put in notches in some places for the nuts for the buttons but some hot-glue soon sorted that out (I’ll try redesign the case for these failures when I have the time). The case was a bit tight for some of the switches and cabling but it worked well none-the-less. I’ve found transparent filament to work well to diffuse neopixels before but I really wanted to blend the colours rather than just diffuse them. To do this I printed each of the cylindrical parts (split into 3 to ensure that they’d fit on my print bed) with 50% infill (which took a while). I then sanded down the outside layer of the plastic to further diffuse the light, starting rough with a 150 grade and going down to a 240 and then 400 for a polish. I then sprayed the parts with a clear Lacquer (Tamiya TS-13) to finish it off nicely. I still have a couple more rounds of sanding and clear coat to fill in the layering and to see if it’ll increase the frosting effect but as you’ll see from the video below it turns out quite nicely as is. Bear in mind this was filmed during the day with the brightness turned down on the phones camera, so it does look a lot better when taken in a dark(ish) room.
While testing the device out I tried using a microphone to react to sound, just like in Julian’s project, but I’ve found that it doesn’t react very well to live music, just ambient sound. To have the raspberry pi react to music I set the pi up as a server and tested a few Processing sketches on my PC as it was quicker compile for any changes in the script. The Pi4 can render the visuals very well, but it takes a little longer to compile the processing sketches than my Dell Precision T3500 (which is old but its still awesome). I’ve found that having them pre-compiled works a treat on the Pi, but for development it was much quicker on my PC. To have the Raspberry Pi react directly to music I purchased a USB mic input/stereo output dongle and used that as a line-in. I thought about putting an amp and speakers into the lower part of the enclosure but I thought it would take up too much room, making the device too bulky, and the reduction in size along with the other components would mean the sound would leave a lot to be desired. I’ve designed and 3D printed some cases for small speakers before (some small 5watt ones and 15watt ones too for a DIY iPod dock) and although they can be nice, to do it right means it’ll take up some more room and powering the Pi and an amp by the same source (it tends to produce a lot of noise) has proved to be a headache in the past. I came to the conclusion to split the input coming into the enclosure and send one half to the raspberry pi and another to an output jack that could be connected to an alternate sound source (such as a HiFi system).
In the original design (https://www.thingiverse.com/thing:3896654) I neglected to put in holes for the 3.5mm audio jacks so I drilled some holes to accommodate the jacks. The case also was very tight with the additional cabling and the USB to Audio device and therefore required some modifications to both the USB cables and the case itself to accommodate the additional parts.
Two previous attempts to put the case together and insert the raspberry pi underneath the audio jacks resulted in some breakages (Micro SD Cards). The Micro SD cards were of a decent quality and the Pi booted and reacted quite quickly utilising those, however the only replacement I had of a sufficient capacity was a generic 8GB which seems to have had a negative affect on the speed of the Pi (including boot time which was about 15 seconds and is now about 30) and the sketches are a little slower too.
Aside from that and the threads wearing on the plastic from taking the enclosure apart so often I managed to get it all tucked (not so neatly) away inside and get it working.
As you can see from the video, it seems to respond nicely. I’m hoping to get a new decent quality SD card and replace it when I’ve redesigned and reprinted the enclosure. You'll be able to find future updates at my thingiverse thing link here.