Hello,
Me and my friend have just pre-launched an open-source IMU board called Pellicanus (because we heard that pelicans are good at navigation
). It's an open-source GNSS/INS(inertial navigation system) board for navigation. I am a PCB designer and I developed the board. My friend specializes in navigation algorithms and me and him wrote a lot of code to implement loosely coupled kalman filter and it's all open-source, so that you can change the code for your own application or uase our code for learning and experimenting with navigation, it's more fun than you think.
Subscribe to our pre-launch page:
https://www.crowdsupply.com/g-fusion/pellicanusWe use Raspberry Pi's RP2040 as our processor. It can be programmed with micropython if you are into it, you can also use C. Micropython can make your development process faster, and potentially making your application's performance slower
, but it's still a nice alternative if you are just trying to get something working.
UPDATE (15.02.2022) -Start
We decided to convert pellicanus to a small SMD module with castellated holes, so that it can be integrated in any project easily.
Here is the layout view of the new SMD module in KiCAD. I tried to make it as tiny as possible so that it doesn't take up much space in the PCB.
Here is some sweet 3D views from KiCAD. I wanted to share renders, but I am not that capable, 3D rendering stuff is not more for me.
Since it's an SMD module it cannot be used as a single unit, it gotta be on another PCB, and therefore I developed a simple dev board for the Pellicanus.
The dev board includes:
- Type-C USB connector
- 3-pin Speedometer connector
- SDCard connector
- Qiwiic connector
- A few LEDs and a button
- Left-over pins from the RP2040
Here is a picture of the dev board
UPDATE (15.02.2022) -End
UPDATE (15.02.2022)
This is the first version of PELLICANUS which will not make into production
Pellicanus includes accurate and low-drift
gyroscope and
accelerometer. Pellicanus also includes a
magnetometer,
barometer and a
GNSS module.
Here is a list of the main components:
Gyroscope:
IAM-20380Accelerometer:
IAM-20381Magnetometer:
MMC5983MABarometer:
MS563702BA03-50However we are going to be switching to
IAM-20680 which has both gyro and accelerometer and have the same performance, so performance is going to be the same.
We're experimenting with calibration, our end goal is to facilitate calibration for accelerometer and magnetometer. Here is some data showing the magnetometer output before and after the calibration.
Once the calibration is done, the calibration data is stored in pellicanus for future use. Each Pellicanus board will come with calibration data stored in it. Trust me it really helps with the drift (I will show the drift data befor and after calibration in a later post). We are also preparing documents on how to calibrate the board once you get it.
We are working on calibrating gyro, but it's going to take time as calibrating them is more involved than calibrating the accelerometer or magnetometer.
At the end we are going to provide you with the mathmatical model and software for implementing extended Kalman filter, but you can also implement your own algorithms because it's a platform that you can play with precision IMU sensors.
Here is short list for the specifications:
Accelerometer Meas Range: ±2 g, ±4 g, ±8 g, ±16 g
Gyro Meas Range: ±250 dps, ±500 dps, ±1000 dps, ±2000 dps
Mag Meas Range: ±8 gauss
Operation Temperature: -40°C to +80°C
Gyro Bias Instability: 7-8°/hr
Dynamic Heading Accuaricy: ±1°
Dynamic Pitch/Roll Accuaricy: ±0.1°
Position Accuaricy: ±4 meters
Pressure Sensor Meas Range: 300-1200 mbar
GNSS position, speed and heading correction
We are looking for suggestions about what to add to the board. - What are some of the essential features for an INS board to have that we missed?
- Do you have a cool idea about this project? We like to hear.
More to come later.