Raspberry Pi 400 - First Impressions

6 min read


I grew up programming on my TV using ZX81 from Sinclair and Spectum. Computers that are built into keyboards that you can connect to a TV, are a part of my DNA. So, with this in mind how can I resist buying the new Raspberry Pi 400! ?



Here are my first thoughts on the hardware and how it can be used for light weight development.



I like it :)



Tech Specs



The Raspberry Pi 400 is, basically it's a Raspberry Pi 4 housed within a keyboard. You can find much more thorough descriptions elseewhere however the most important details from the tech specs are:



- Broadcom BCM2711 quad-core Cortex-A72 (ARM v8) 64-bit SoC @ 1.8GHz - 4GB LPDDR4-3200 - Dual-band (2.4GHz and 5.0GHz) IEEE 802.11b/g/n/ac wireless Ethernet - Bluetooth 5.0, BLE - Gigabit Ethernet 2 USB 3.0 1 x USB 2.0 ports Horizontal 40-pin GPIO header 2 x micro HDMI ports (supports up to 4Kp60) - MicroSD card slot for operating system and data storage - 79-key compact keyboard



(full specifications can be found here)



The 400 comes with a 16GB SD card that comes pre-installed with Raspbian and a plethora of applications (LibreOffice) and tools for developers (Geany, Mathematica, Scratch), utilities (Chromium, VLC Media Player) and games (Minecraft).



First Impressions on Hardware



It was easy to plug in the 400 and get it running. It's a great device, with a wide range of ports and connectors at the back. The keyboard is...ok. The keyboard costs PS67 in the UK. Just another wordpress site The kit, which comes with a mouse and power supply, HDMI cable, official guide and power supply, was purchased for PS94. Given the price point the keyboard is very good, but it does feel slightly "plasticy".



The 400 doesn't have an audio-out. The HDMI output delivers audio. This is an issue for me since my monitor doesn't come with speakers. It's not a major issue, but it's something I didn't think of.



The other thing the 400 does not have is the connector for the Raspberry Pi camera module. This isn’t a major issue for me but it could be an issue when you plan to build any camera projects using the 400.



The 400 features a GPIO header at its back. This allows you to easily build electronics projects using the help of a ribbon cable. The Adafruit TCobbler Plus makes it easy to connect the 400 and breadboards to build...stuff!



The 400 is quick to boot and extremely capable as a general-purpose desktop device. It's been a great tool for surfing the web and installing apps, as well as running docker containers and creating code.



Overall, the hardware is pretty good and I love the form factor. I can see schools/code clubs buying these devices and using the in their computing labs.



Developer Experience



I set up my Raspberry Pi 400, and I am impressed. My setup includes:



- Set up Chromium and installed the 1Password extension - Installed Visual Studio Code using these instructions - Installed the VS Code Remote Containers extension so that I can utilize Docker dev containers to write code within



On the whole the setup was simple. So simple, it's almost boring! I had a couple of issues however, in the end it was a breeze to set my Raspberry Pi 400 up so that I can write code and use Docker and push my changes to GitHub. I am currently writing this blog post in VS Code and building it using Jekyll inside the Docker container.



The only issue that I hit is the ARM support for various Docker images. Because it was dependent on dependencies that didn't have ARM variations, the default Ruby dev container image would not create. I used the Ruby 2.7 docker images as a base and copied/pasted the components I needed into my Dockerfile (removing Node, Zsh Oh My Zsh and several other). I'm not sure what it was that failed to build and I'll need to go back and work out the issue and remember that if you're using the Rasberry Pi is ARM built, it's not all development tools have ARM versions.



After installing the tools and played aroundwith them, I've created some very basic Rust code (with the same build time as my MacBook! I have written some Python 3 code that is GPIOZero and based on GPIOZero (controlling LEDs and butons) and created a Jekyll/Ruby development container. I also built/updated my blog.



I have several Raspberry Pi computers (1 to 3). The majority of them are Model B format, but I also have a few Zeros too. They're all in a box, and unopened. I've played with them, then put them away. Part of that is because the performance hasn't been that good, but the form aspect is an important factor. It's as if the Raspberry Pi 400 has the capability I require (for casual projects) and is a form factor that I'm happy to plug in on my desk.



It gives me a massive nostalgia rush!



Below you can see two instances of VS Code running (both dev containers), and I'm browsing. It manages to take it all with ease.

In case you have found a mistake in the text, please send a message to the author by selecting the mistake and pressing Ctrl-Enter.
Comments (0)

    No comments yet

You must be logged in to comment.

Sign In / Sign Up