So you just received your LimiFrog and now you’d like to start playing with it.
Here are some instructions and recommendations to get going.
1- First read these important safety recommendations
2- Assemble your LimiFrog by following this short manual.
3- Get familiar with the “anatomy” of your LimiFrog, exposed here.
4- Try it out: turn on your LimiFrog (press ON button) and check its behavior.
The pre-loaded program will check all on-board sensors can be accessed and will report results in two ways :
- general purpose red LED turned on if success, blinking if failure
- if present, screen reports the access status of each sensor
In addition, the pre-loaded program runs a USB driver that makes LimiFrog detectable as USB mass storage device when you connect it to a PC (the data flash has been pre-formatted as FAT file system).
Now, on to programming LimiFrog with your own code :
5- Identify how to properly connect the ST-Link/V2: check these explanations
6- Select a development environment
Any development environment suitable for the STM32 can be used to develop on LimiFrog.
The software package provided with LimiFrog assumes usage of gcc for ARM for compiling and linking, therefore if you plan to use it and have no other preference, it is suggested to pick a toolchain based on gcc. Of course if you are familiar with other well-known toolchains such as ARM IAR or Keil uVision, you can also use these — with your own project set-up files.
A number of Integrated Development Environments (IDE) relying on gcc can be freely downloaded — for example the “STM32 System Workbench”, Coocox and now Atollic True Studio (now without code size limitation). Most of them are Eclipse-based.
Altenatively, there is the option of using Makefiles in a terminal environment. The software package provided has been developed this way, under Linux.
If you don’t insist on using an IDE I suggest this approach.
This document is a “journal” of the steps which worked for me to install this kind of environment.
If you prefer an IDE (Integrated Development Environment), this other document outlines the steps that worked for me to re-use the provided Makefiles in an Eclipse-based IDE, specifically the STM32 System Workbench (available under Linux and Windows)
Note: in some cases, after flashing a new program (and when the former one was using the OLED), the STM32 may hang. In such case, to start the new program it is necessary to perform a hard power-off (maintain ON/OFF button pressed for about 8s) and then back on — or use the hardware reset.
7- Another tool worth knowing: ST’s ST-LINK utility software
NB: Unfortunately a number of completely different things are called “ST-Link” or similar name. Here we are talking about a utility software, not the ST-Link/V2 hardware.
This software can be freely downloaded from ST’s site (for Windows only, unfortunately) along with its user manual.
It allows to download executable code (.bin file) into an STM32 connected to the host PC through an ST-Link/V2 probe, plus it brings a number of useful features such as :
- comparing code already in Flash to a reference file
- examining/setting STM32 “option bytes”
- updating the firmware embedded in ST-Link/V2 probes
- setting brown-out reset levels
You may want to try this :
- Install the ST-LINK Utility on your PC,
- Select an executable provided as part of the software package, for example :
download it and open it in the ST-LINK Utility
- Flash it using the ST-LINK Utility : use menu’s Open File followed by Program and Verify
If you don’t need a fully-fledged IDE for interactive debugging and want to work on Windows, one possible strategy could be to compile and link using the ARM gcc compiler for Windows (download from https://launchpad.net/gcc-arm-embedded/+download) and flash the resulting .bin executable using the ST-LINK utility.
8- Explore the GitHub repository – starting with the documentation
- The LimiFrog-SW repository contains a software package to get you started.
There is no obligation to use it though; if you are already familiar with the STM32 and prefer to start from you own material, that is fine.
Start by checking the main ReadMe file and the documentation directory.
- The LimiFrog_HW repository contains information related to hardware aspects of LimiFrog, including 3D-printable case models.
Note that the datasheets of the chips used on-board are stored in the LimiFrog-SW repo (under documentation/datasheets).
- If what really interests you is MicroPython, you may want to go directly to this folder of the repo.