Tag Archives: featured1

New Products – OzzMaker 16×16 RGB LED Matrix Panel

We’ve just added three new products to the OzzMaker shop: a 16×16 RGB LED Matrix Panel, and small Raspberry Pi connector boards for our matrix, one which supports a LiPo battery built specifically to drive it.

 

OzzMaker LED matrix

The panel

The 16×16 RGB LED Matrix Panel uses the HUB75 signalling protocol, but with one important twist — instead of the awkward 16-pin IDC ribbon you’d normally wrestle with, our panels use a flat FFC cable for connections. That makes chaining panels together a lot less fiddly.

Below you can see 5 setup in a cross formation, being driven buy a Raspberry Pi with a OzzMaker RGB LED Matrix Connector with Lipo/Ii-Ion support.

OzzMake LED matrix
4 LED panels connected in a cross

Back of cross

OzzMaker RGB LED matrix cross back
Back of cross

 

You can chain 50+ panels in a long strip for scrolling text, or tile them into bigger square displays — 64×64 and beyond. Each panel has solder pads along its edges that act as anchor points: line two panels up side by side, match the pads, and flow solder across them to join the panels together — a bit like spot-welding. The result is a single rigid display rather than a loose array of separate boards

OzzMaker RGB LED Matrix
50 panels

The panels are driven with hzeller’s open-source library, which is well-documented, actively maintained, and works with Python or C. We also have plenty of examples available for scrolling text, animations,  (yes, including a Pac-Man animation), clocks,  patterns, etc..

 

Raspberry Pi Connectors

We have two type of connectors which are used to connect the 16×16 RGB LED Matrix Panels to a Raspberry Pi.

 

OzzMaker Raspberry Pi LED connector
OzzMaker RGB LED Matrix Connector for Raspberry Pi
OzzMaker RGB LED connector with Lipo/Li-Ion
OzzMaker RGB LED Matrix Connector for Raspberry Pi with Lipo/Ii-Ion support

Each connector is a small board that sits on the 40-pin GPIO header and gives you a clean, solder-free way to plug a panel straight into a Pi. No jumper wires, no IDC ribbon. It also breaks out the unused GPIO pins and adds a QWIIC connector for I²C accessories, so you can keep building on the same Pi. The second connector above has support for a Lipo/Li-Ion battery which allows you to power your Raspberry Pi and OzzMaker RGB LED matrix from a single 3.7V LiPo or Li-Ion battery.  It also includes a charger!

OzzMaker RGB LED matrix eyes
Raspberry Pi connector which supports Lipo battery

They work with the Pi 3, Pi 4, Pi Zero and Pi Zero 2. Pi 5 support is in progress.

 

10 Panels chained

Click on the below image to see the video

OzzMaker RGB LED matrix
10 panels chained

 

Create a LED cube

Use 6 OzzMaker 16×16 RGB LED matric panels to create a LED cube.
The cube on the left below is using the OzzMaker RGB LED Matrix Connector for Raspberry Pi with Lipo/Ii-Ion support, connected to a Raspberry Pi Zero and a small 3.7V LiPo battery, all which is sitting inside the cube.

LED cube
Two RGB LED cubes

Get them

New Product: OzzMaker SARA-R5 LTE-M GPS + 10DOF

We have released a new product ; OzzMaker SARA-R5 LTE-M GPS + 10DOF

OzzMaker LTE-M GPS IMU 10DOF

This is an all in one module which can provide location tracking and LTE-M services such as data, text and SMS to your project. It comes in the same form factor as a Raspberry Pi Zero, which makes it nice and compact when used with a Raspberry Pi Zero.

It is a feature packed board, which includes the  following components;

  1. LTE-M cellular modem
  2. GPS  receiver (including assisted GPS)
  3. Accelerometer
  4. Gyroscope
  5. Magnetometer (Compass)
  6. Barometric/pressure sensor (altitude)
  7. Temperature sensor

 

This board includes a SARA-R510M8S  module from uBlox,  this module can be used for LTE-M connectivity and includes an integrated GPS receiver. Using both these features together results in obtaining a GPS fix in seconds, using Assisted GPS.

The below video shows a comparison between assisted and normal GPS.

  • Asisted GPS takes 19secs to get a fix
  • Normal GPS takes 8min 22Sec to get a fix


 

Typically, a GPS module can take a few minutes to get  Time To First Fix(TTFF), or even longer if you are in  built up areas.  This is because the Almanac needs to be downloaded from  satellites before a GPS fix can be acquired and only a small portion of the Almanac is sent in each GPS update.

Assisted GPS speeds this up significantly by  downloading  ephemeris, almanac, accurate time and satellite status over the network, resulting in faster TTTF, in a few seconds. This is very similar how to GPS works on a smartphone.

 

 

Using u-Center to connect to the GPS on Raspberry Pi

u-Center from u-Blox is a graphical interface which can be used to monitor and configure all aspects of the GPS module on a BerryGPS-IMU or BerryGPS-GSM.

u-Center from uBlox
U-Center

 

u-Center only runs on Windows. It can connect over the network to a Raspberry Pi.  This will require us to redirect the serial interface on the Raspberry Pi to a network port using ser2net.

Pi Setup

Do an upt-get update and then install ser2net;

pi@raspberrypi ~ $ sudo apt-get update
pi@raspberrypi ~ $ sudo apt-get install ser2net

Edit the ser2net config file and add the serial port redirect to a network port. We will use network port 6000

pi@raspberrypi ~ $ sudo nano /etc/ser2net.conf

And add this line at the bottom;

6000:raw:600:/dev/serial0:9600 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS

This is a breakdown of the syntax for the line above;
TCP port : connection type : timeout : serial port : serial port speed : serial options

you can now start ser2net using;

pi@raspberrypi ~ $ sudo ser2net

And you can use the below command to check if it is running by seeing if the port is open and assigned to the ser2net process;

pi@raspberrypi ~ $sudo netstat -ltnp | grep 6000

If it is running, you should see something similar to the output below;

check result of ser2net

Windows PC Setup and Connecting to the GPS module

You can download u-Center from here.

Once installed, open u-Center. You will get the default view as shown below.  No data will be shown as we are not connected to a GPS.

u-Center default view

The next step, is to create a new network connection and connect to the GPS which is connected to our Raspberry Pi. You can create a new connection under the Receiver and then Network connection menus.

u-Center connect to Raspberry Pi
In the new window, enter the IP address of the Raspberry Pi and specify port 6000. This is the port we configured in ser2net on the Raspberry Pi.
u-Center Raspberry Pi Address

This is what the default view looks like when connected and the GPS has a fix.u-Center connected

 

u-Center

Below I will list of the more useful windows/tools within u-Center.
You can also click on the images below for a larger version.

Data View
This window will show you the longitude, latitude, altitude and fix mode. It will also show the HDOP, which is the Horizontal Dilution of Precision.  Lower is better, anything below 1.0 means you have a good signal.

u-Center Data View
u-Center Data View

Ground Track
This window will show you where the satellites are as well as what time.

u-Center Ground Track
u-Center Ground Track

Skye View
Sky view is an excellent tool for analyzing the performance of antennas as well as the conditions of the satellite observation environment.

u-Center Sky View
u-Center Sky View

Deviation Map
This map shows the average of all previously measured positions.

u-Center Deviation Map
u-Center Deviation Map

Continue reading Using u-Center to connect to the GPS on Raspberry Pi →

GPS Data logger using a BerryGPS

This post explains how to log GPS data from a BerryGPS or a BerryGPS-IMU and then how to plot this data onto Google Maps and many other maps E.g. OpenStreet, WorldStreet, National Maps, etc..

Raspberry Pi GPS

1. Setup GPS

Follow the instructions on this page to setup your Raspberry Pi for a BerryGPS-IMU. Ensure GPSD is set to automatically start and confirm that you can see the NMEA sentences when using gpsipe;

pi@raspberrypi ~ $ gpspipe -r

 

2.  Automatically Capture Data on Boot.

We will be using gpspipe to capture the NMEA sentence from the BerryGPS and storing these into a file. The command to use is;

pi@raspberrypi ~ $ gpspipe -r -d -l -o /home/pi/`date +”%Y%m%d-%H-%M-%S”`.nmea

-r = Output raw NMEA sentences.
-d = Causes gpspipe to run as a daemon.
-l = Causes gpspipe to sleep for ten seconds before attempting to connect to gpsd.
-o = Output to file.

The date the file is created is also added to the name.

Now we need to force the above command to run at boot. This can be done by editing the rc.local file.

pi@raspberrypi ~ $ sudo nano /etc/rc.local

 

Just before the last line, which will be ‘exit 0’, paste in the below line;

gpspipe -r -d -l -o /home/pi/`date +"%Y%m%d-%H-%M-%S"`.nmea

Reboot and confirm that you can see a .nmea file in the home directory.

Continue reading GPS Data logger using a BerryGPS →

Guide to interfacing a Gyro and Accelerometer with a Raspberry Pi

This guide covers how to use an Inertial Measurement Unit (IMU) with a Raspberry Pi . This is an updated guide and improves on the old one found here.

I will explain how to get readings from the IMU and convert these raw readings into usable angles. I will also show how to read some of the information in the datasheets for these devices.

This guide focuses on the BerryIMU. However, the theory and principals below can be applied to any digital IMU, just some minor modifications need to be made.

Git repository here
The code can be pulled down to your Raspberry Pi with;

pi@raspberrypi ~ $ git clone http://github.com/ozzmaker/BerryIMU.git

 

The code for this guide can be found under the gyro_accelerometer_tutorial01_angles directory.

A note about Gyros and Accelerometers

When using the IMU to calculate angles, readings from both the gyro and accelerometer are needed which are then combined. This is because using either on their own will result in inaccurate readings. And a special note about yaw.

Gyros – A gyro measures the rate of rotation, which has to be tracked over time to calculate the current angle. This tracking causes the gyro to drift. However, gyros are good at measuring quick sharp movements.

Accelerometers – Accelerometers are used to sense both static (e.g. gravity) and dynamic (e.g. sudden starts/stops) acceleration. They don’t need to be tracked like a gyro and can measure the current angle at any given time. Accelerometers however are very noisy and are only useful for tracking angles over a long period of time.

Accelerometers cannot measure yaw.   To explain it simply, yaw is when the accelerometer is on a flat level surface and it is rotated clockwise or anticlockwise.  As the Z-Axis readings will not change, we cannot measure yaw.   A gyro and a magnetometer can help you measure yaw. This will be covered in a future guide.

 

Setting up the IMU and I2C

The IMU used for this guide  is a BerryIMUv3  which uses a LSM6DSL,
that consists of a 3-axis gyroscope plus a 3-axis accelerometer and a LIS3MDL which is a 3-axis magnetometer.

  • LSM6DSL – Accelerometer and gyroscope datasheet can be found here.
  • LIS3MDL – Magnetometer datasheet can be found here

 

This IMU communicates via the I2C interface.

The image below shows how to connect the BerryIMU to a Raspberry Pi

BerryIMUv3 and Raspberry Pi I2C hook up

 

The BerryIMUv3 can also be connected using the Raspberry Pi QWIIC connector and cable;

QWIIC connector Raspberry Pi
QWIIC connector for the Raspberry Pi

 

Continue reading Guide to interfacing a Gyro and Accelerometer with a Raspberry Pi →

Create a Digital Compass with the Raspberry Pi – Part 1 – “The Basics”

This will be a multipart series on how to use a digital compass(magnetometer) with your Raspberry Pi.

The magnetometer used in these tutorials is a LSM9DS0 which is on a BerryIMU. We will also point out where some of the information can be found in the Datasheet for the LSM9DS0. This will help you understand how the LSM9DS0 works.

The math and logic in this series can also be used with other magnetometers or IMUs.

We will also go over how to do some basic communication on the i2c bus. As well as using SDL to display the compass heading as traditional compass as shown in the video above.

Git repository here
The code can be pulled down to your Raspberry Pi with;

pi@raspberrypi ~ $ git clone https://github.com/ozzmaker/BerryIMU.git

The code for this guide can be found under the compass_tutorial01_basics directory. 

Overview of a Compass

Raspberry Pi Compass
A traditional Magnetic compass (as opposed to a gyroscopic compass) consists of a small, lightweight magnet balanced on a nearly frictionless pivot point. The magnet is generally called a needle. The Earth’s Magnetic field will cause the needle to point to the North Pole.

To be more accurate, the needle points to the Magnetic North. The angle difference between true North and the Magnetic North is called declination. Declination is different in different locations. This angle varies depending on position on the Earth’s surface, and changes over time.

The strength of the earth’s magnetic field is about 0.5 to 0.6 gauss .

Continue reading Create a Digital Compass with the Raspberry Pi – Part 1 – “The Basics” →