That’s decidedly just a snapshot ... But as the saying goes, a hardware product has to stand for itself. Today I had a first look at an evolving product - PSLab – which is a microboard, completely open source on multiple levels, powered by a range of applications equally open source. Based on my first, half-day experimenting with the board I am already impressed, I haven’t tried it all, not by a long shot. Hence, this is not meant to be a product review, but it helps me to capture the status quo and share some thoughts on how I see future possibilities for PSLab being used in an educational context. There are already options out there to be used for learning and teaching, including single board computers such as the Raspberry Pi or micro boards from Arduino, ESP8266 / 32, IoT boards from PyCom or the many boards from Adafruit or Sparkfun. However, PSLab follows a different pathway, wherefore the title of this blog post refers to a ‘different’ board.
So what is PSlab? Let’s start by the hardware and then reflect on the supporting software options. You can actually attempt to produce your own, there is an instructables page for it (provided you are fond of SMD soldering). A snippet from the device’s fact sheet says gives a perfect intro to the device :
„PSLab is a small USB powered hardware extension for your Android phone or PC that lets you measure all kinds of things. PSLab comes with a built-in Oscilloscope, Multimeter, Wave Generator, Logic Analyzer, Power Source, and we are constantly adding more digital instruments. PSLab is many devices in one.“
More detials are included in the device specification. Interestingly, you can connect the PSLab out of the box to your Android smart phone. Then with the kind of options you have through the (open source) App, you can specify a wave, listen to it (frequencies for comparison :-). You can ‘observe’ the wave in motion. The wave generator is also on Youtube.
Visualizing sinus and square waves helps to analyse and measure signals from external sensors. Even sporadic signals can be captured by using trigger values, which stop capturing data if a signal is below a certain value. Or we can see clock-signals lining up with data bits (typical for SPI communication). Anyway, if the Oscilloscope is your favourite, then there are things to know about general quality criteria of Oscilloscopes ... or you can use wave generation for PWM (pulse width modulation), a common way to regulate the speed of a motor or the brightness of an LED or – with some extra effort - you could read the ASCII code of a message reading a pin output.
I am sure we could plot PWM curves using the serial plotter within the Arduino IDE. However, the point of PSLab is its high sampling rate and reliability for time critical processes, based on a dedicated state machine. However, this is where the PSLab (Pocket Science) honours its name, we don’t need to focus on the the infrastructures, such as the right voltage supply of 3.3 or 5 volt - unless we want to - and can straight away use PSLab for small experiments measuring sound and light or produce a wave controlling lights or drive 4 step motors. What is still missing are easy to understand descriptions of engaging experiments (possibly for different age groups) to get started. Or I could imagine that a simple YoutTube channel with attached Github repos might already do the trick. Once we have an initial collection of experiments for stufdents, I imagine that this could trigger a snowball effect. This could be similar to EXPEyes' collection of experiments. Another idea I found intriguing – specially in times of Covid – is the idea of a remote science lab controlled and monitored over the internet.
Based on my first very brief stint with the associated software tools I would see the mobile app as most complete, versatile and powerful. Next I would see the desktop app (frontend) and the python library (backend). The python library seems to be a more experimental approach, but highly effective if we want to connect the PSLab data flow with other tools such as Processing for visualizations or Machine Learning for clustering or categorizing the data. Finally, the new version currently tested has many new features such as micro-SD card storage, or a battery slot for the real time clock. I wonder whether using the SPI-Flash File System on the ESP8266 would have been an alternative option for data storage and shipping the PSLab with Wifi support right from the start would be a plus. Anyway, a slot for mounting the chip on the board is available, so that’s probably a mini-project for the future.
Github (android app and python libraries): https://github.com/fossasia
Github (ElectronJS desktop): https://github.com/fossasia/pslab-desktop
Github (virtual lab): https://github.com/fossasia/pslab-webapp
PSLab Desktop Stack: https://metaspora.org/pslab-openup2020.pdf
Google Play: https://play.google.com/store/apps/details?id=io.pslab