June 2021: The latest version of pi-topOS is here!
It’s been a busy few months for us since we did our last OS release back in December 2020.
In this post, I will be discussing the various changes that have been made to pi-topOS since our last OS release (C781 2020-12-22).
All of these changes are available if you update an existing OS, but it is recommended to download the latest OS and install it fresh onto an SD card if you do not have your pi-top already configured for your needs.
Our Python SDK (software development kit) has received a number of improvements since December.
API Change: pi-top  Miniscreen
In the previous public stable version of pi-topOS (C781 2020-12-22), the pi-top ’s miniscreen display was accessed via an
oled class. This has been replaced with a
miniscreen class to help clarify our terminology and improve usability.
All content on Further now makes use of this class, so older versions of pi-topOS will require updating.
In addition to this, please note that it is now recommended that you access this (and all other pi-top device functionality) from the
from pitop import Pitop pitop = Pitop() miniscreen = pitop.miniscreen
Machine Learning / Robotics Kit
We have expanded our SDK to include more machine learning-based features such as face detection, emotion tracking and colored ball detection. Robotics Kit also benefits from more advanced navigation/autonomous driving and a new pincer controller.
We are continuing to invest our efforts into expanding the functionality, stability and performance of our SDK to make the learning through play experience with pi-top hardware much more exciting!
As mentioned in this post, we have also introduced “web controllers” as part of ‘web labs’ section of the Python SDK - a great way to quickly create interfaces to display information and create virtual controllers, such as a web-based rover controller! Be sure to check out that post if you haven’t seen it yet - they’re really cool!
You can now run
pi-top support health_check, which provides information about the overall system that can help in diagnosing some issues.
Other notable changes that we’ve made to the SDK are:
- Most objects can be imported directly with
from pitop import
- Added smooth acceleration mode to servo motor class
pi-top oled spicommand for changing SPI bus
- Added pixel inversion support to miniscreen (draw black onto white)
- Added manual page for CLI (“manpage”)
man pi-topto read the CLI’s manual directly in the terminal
- Updated luma.core dependency fixes some intermittent GPIO issues
- Improved our documentation
pi-top hardware support
pi-top  Expansion Plate
We have just released an updated version of the firmware for the pi-top  expansion plate that offers:
- Improved synchronisation between DC motors on motion start
- Improved handling of low servo motor speeds
- Added a filter for gyroscopic data to improve yaw drift
- Added a status register
To update your expansion plate firmware, simply make sure that your OS is update and you have your plate connected properly. You should see a notification on the desktop telling you to update - follow the on-screen instructions.
pi-top  miniscreen
We have also added a new feature - the pi-top  miniscreen now has screensaver functionality to protect against OLED burn-in. Check out this forum post to learn more about that.
A few other improvements have also been made:
- Improved pi-top  miniscreen performance
- Increased legacy power-off timeout to 15s to improve shutdown stability for older systems
- Added custom startup GIF support for pi-top  miniscreen
- Improved battery reporting 100% reliability
- Improved peripheral auto-initialisation
- Fixed pi-top  miniscreen boot animation for non pi-topOS systems
- Reduced logging when pi-top  minscreen image is updated
- Reduced logging by default for battery messages
Now onto the more developer-related stuff…
We have begun an ongoing effort to document pi-topOS - check it out here!
This is in the early stages, but will continue to grow as we work on different areas of the codebase and answer user questions.
Raspberry Pi Firmware Update Support
We have (finally!) added support for patching Raspberry Pi EEPROM to work with pi-top s. Check out this FAQ post for more information about what is required to make this work. pi-topOS will now also correctly install the updated EEPROM firmware files, allowing you to benefit from the increased performance and functionality of running the latest firmware!
Our integration with pi-top’s learning platform, Further, offers a convenient way to run code on your pi-top device while following tutorial content. We have improved performance of existing functionality, and added support for using key presses on your device as inputs as well as opening GUI windows.
We have made good progress in updating how we manage our software. We are aiming to move towards fewer source packages (and therefore fewer GitHub repositories).
pt-os-core contains a number of small software packages that either help to organise our dependencies or provide very specific, limited behaviour. More complicated applications will have their own source package and GitHub repository.
I2C probing is no longer handled directly in
pt-firmware-updater via the
pt-i2cdetect command. The command is now called
i2cping, and is provided by a new package:
i2c-tools-extra, which is derived from the
And finally… all pi-top software is now built on GitHub via GitHub Actions, which brings us one step closer to being able to have full build and deploy transparency for all of pi-topOS’s software!
It’s been a busy few months for us on the pi-topOS team! We hope you like the improvements.
We are currently developing a new server application called “web portal”, which is going to allow for some pretty exciting new ways to use your pi-top  (or Raspberry Pi) remotely. Keep an eye out for more information about this!
Web Portal will also serve as the backend for some much-needed updates to our desktop applications, giving a unified feel across the OS for the user and simplifying development by standardising their implementations. Expect to see a better OS updater soon!
Special thanks go out to all of the active users here on the forum who are collaborating in this effort. If you aren’t already on this forum, get involved - we want to hear from you!