What I like in Basejumpng is that it is place that let a lot of room for creation and imagination.
I love to make thing and all the process of looking for what is needed to make it.
I am former French army IT specialist, and after some school where I learn the basis I had to renew my knowledge all the time because the technologies are always changing.
I learnt programming basics in school, but I had to almost learn everything again some years ago when I've tried for the first time to make my own GPS logger with Arduino.
My GPS logger
What is it
This is a GPS logger software written in CircuitPython. It's reading the GPS data from the GPS chip and translate it into a csv file (organized text separated by ',') that can be read through USB.
What you need to go with this project
You do not need to know programing, but you need to be interested in more than making a cheap GPS logger because you will probably need do do some debugging, it is rare that everything is working at first.
You will also have to do some soldering and for that you need:
- a soldering iron
- some rosin welding wire
- some rosin flux, this is NEEDED to make good soldering point without burning the boards (experience...)
- a soldring iron cleaner, sponge or better one with the curly brass thing
- some cliping thing to maintain the parts while soldering
You will need a 3D printer for the box.
A computer for uploading the software.
The inside parts
- The main board is an ItsyBitsy from Adafruit, you can choose the M0 Express (the one I've used for my prototype) or the M4 express that is a bit more powerfull but same size. More power = faster so less chance to miss GPS data, but more power = les battery life. I did not run any battery test for now so I don't know how much it can record. BTW any CircuitPython bard should be able to run this program.https://www.adafruit.com/product/3727
- The GPS chip is a Beitian BN-220 (chinese copy of a uBlox M8N). You can buy any chip that is uBlox based it will work, for example the Drotek DP0106 that I am using for my "big" GPS logger is working too. You might have to change the box shape if you do not take the same card as me (see the wiring picture).
- A powering card to connect the battery to the system, I choose the Adafruit LiIon/LiPoly Backpack Add-On for Pro Trinket/ItsyBitsy.https://www.adafruit.com/product/2124
- A battery, max 150mAh because of the size if you wan to get it into the box I've made. You can get any brand but be carefull to have the matching connector ! https://www.adafruit.com/product/1317
- A switch to power ON and OFF.https://www.adafruit.com/product/805
- 2 100Kohm resistors to create a voltage divider (for the software to be able to know if USB is connected).
The software
First you will have to go through the first run, for that the Adafruit tutorial is better than whatever I could wrote.
https://learn.adafruit.com/introducing-itsy-bitsy-m0/circuitpython
I recommend going through the next 2 pages too. You need the Mu software to unlock and/or format the main bord just because shit can happend.
Get the files from Github : https://github.com/AntoineLaporte/CircuitPython-GPS-logger-uBlox
Unzip my file package and copy everything to the CIRCUITPY drive (replace existing files).
The software is ready to go !
If you want to see the code it is in boot.py and main.py (as you should have learnt in the Adafruit tutorial).
The file debugging.txt contains all what you need to unlock of format the drive.
Wiring
It is exactly what is drawn here:
Picture are at the bottom of the page.
The box
You can download the files from Thingiverse (do not start to look into other things, there is too much things you might want to print !)
https://www.thingiverse.com/thing:4077387
Debugging
If the program starts to not working anymore the simplest way to get back to normal is:
- save you data files
- reload the Firmware (get back into the Adafruit Learning pages)
- open MU
- connect your board
- do a Ctrl+C to get into the REPL in the MU Serial (console) (">>>" should prompt)
- open the "Debugging.txt" file and copy the lines under "# to reset all"
- paste them (right clic) in the MU Serial (console, where the ">>>" is)
- press Return
- the drive should be ejected and connect again
- put back the file you originally download
- you are good to go !
Computer Tricks
- if the card says it's not connected when you try to have access to the Serial (console), reset it and try to open the console just after the USB connection sound.
- sometimes you need to open the MU Serial (console) twice to get into a working one.
- if one day you want to work with Arduino and you have an access denied for uploading you code the same is usually working.
How it works
You turn it on.
A not flashing green light is coming.
At some point the led should blink red and green (when the GPS is sending good data), recording has started.
The software will record the file on the accessible memory if you jump (more than 2m/s vertical speed) and it will do it 10 secondss after landing (less than 1m/s vertical speed for 10 seconds), red/green light will stop.
If you want to record without jumping you will have to connect the logger to some USB before shutting it down, I don't know why it works but it is.
Max data you can record is around 1 hour, inside memory is max 2Mb. Do not forgot to empty the memmory when you can.
License
It is totally free and open source, but please do not make money with it.
You can tip me here or when you see me somewhere:
paypal.me/AntoineLaporte