In the 21st century, technology has advanced rapidly. The microcontrollers in the hands of geeks have evolved from the old 51 and PIC to AVR and STM32, along with various convenient development tools, such as the once-popular Arduino. However, the Atmega328-based AVR microcontroller is still quite outdated, being almost 20 years old, while ARM is now in vogue. Today, we will discuss a product born from the encounter of Arduino and STM32 – the Olimexino STM32.
We know little about Olimex, a long-established third-party development board manufacturer from Bulgaria, with products covering various MCU and SoC product lines… STM32 is naturally one of its important targets. Today, I will evaluate the Olimex-STM32 for everyone.
When I first got the board, I was indeed amazed by it. The red board, densely packed with components, paired with stylish packaging, haha…
The outer packaging still follows Olimex’s consistent design style, which is very characteristic of the brand. Inside, there is only a bare Olimex-STM32 board wrapped in an anti-static bag, with no other accessories.
From the appearance of the development board, one can see the deep skills of an established manufacturer. The overall layout on the front is compact and orderly, with various components on the left, a large STM32 chip on the right, and various interfaces arranged around.
Looking at the back of the Olimex-STM32, we can see various interface functions and markings, with a TF card slot in the upper right corner.
Next, let’s take a close-up to see the features of this board.
The lion logo and a close-up of the STM32 main control show that the model is F103, a very classic entry-level chip.
A close-up of the component arrangement, which is done very well.
The Olimex-STM32 interfaces are very comprehensive.
The overall size design of the Olimex-STM32 is very compact.
Let’s digress a bit; why use a lion as a logo? The lion is one of Bulgaria’s symbols, and the national emblem is composed of three lions, plus various lion sculptures can be seen everywhere in Bulgaria…
Back to the main topic, since this is part of the Arduino series, we should compare it to see the differences, haha…
As shown below, Maple Rev5 is the board we are using (its twin brother), while the last column is the Arduino UNO based on Atmega328. The two in the middle are our Rev5 extending in two directions: simplicity and high performance. It is clear that our Olimex has strong performance.
Anyone interested can search for Olimex-STM32 on www.olimex.com to find our board, with an official price of $19.95, which is quite cheap compared to the official price of Arduino.
Now that we’ve discussed performance, let’s look at how to use the Olimex-STM32.
Since the main control chip is the STM32F103, which is a mainstream chip today, all technical materials and reference manuals can be downloaded for free from the ST official website or Chinese community. We won’t go into detail here; let’s focus on the board’s information.
As a completely open-source board, all materials related to the board can be downloaded from the sales page on www.olimex.com, including the user manual, development environment, schematics, bootloader, and reference examples. All materials that may be needed are provided for free.
It’s important to mention that the development environment for the Olimex-STM32 board uses Maple IDE, which has a user interface completely identical to Arduino’s development environment. It supports Windows, Linux32/64, and MAC OS systems. For Windows, you can just unzip it without installation; it contains STM32 hardware libraries and has been deeply encapsulated to be fully compatible with Arduino. This means that friends who have used Arduino can easily get started with our Olimex-STM32. Isn’t that user-friendly?
The Olimex-STM32 board connects to the computer using a mini USB cable. After powering on, it will show a serial port in the device manager for communication with the IDE and to receive control from the IDE, as shown below;
The only difference is that Arduino uses a serial port to download programs, while our Olimex uses STM32’s DFU mode to download programs. Therefore, we need to install the DFU driver separately for the board, with the following installation steps:
1. Connect the mini USB cable to power the board. After powering on, the blue LED on the board will blink quickly six times and then slowly six times. This indicates that the board is running its built-in bootloader before running the main program. Our first task is to keep the system in bootloader mode to have enough time to install the DFU driver.
2. After powering on, press the RST button. While the blue LED is blinking quickly, press the BUT button until the blue LED changes to a slow blink. At this point, release the button, and the system will remain in DFU mode without running the user program.
3. In the device manager, find the Maple 003 device, then manually install the driver located in ./Maple IDE/drivers/mapleDrv/dfu (Win8/10 requires disabling digital signature). After successful installation, the device manager will recognize our board, as shown below, and then we can happily develop using Maple IDE.
The Olimex website provides users with some example programs, and Maple IDE also comes with many examples to facilitate user learning and usage.
If you are not familiar with the function libraries included with the IDE, you can refer to the file located at ./Maple IDE/reference/index.html, or visit http://docs.leaflabs.com/docs.leaflabs.com/index.html, where there are detailed descriptions of the operation functions for various peripherals.
Attached is an example of serial communication, the classic hello world!
Our Olimex-STM32 not only supports standard Arduino peripherals but also features a UEXT interface, which can conveniently expand over a dozen categories, totaling 40 to 50 types of external expansion boards. Each expansion board is also open-source, and the official site provides detailed usage documentation. All these expansion boards can be purchased on the Olimex website, allowing users to engage in various developments.
The UEXT interface includes a set of 3.3V power supply, a UART, an I2C, and an SPI interface. The specific pin definitions are as follows; a detailed description of the UEXT is available in a dedicated document called Universal EXTension connector (UEXT).pdf, which I won’t elaborate on here.
Finally, I recommend a book titled “Arduino Development Practical Guide: STM32 Edition,” which introduces how to use the Olimex-STM32 under the Maple IDE. Currently, there is no electronic version available online, but you can preview a small part of the content on Baidu Reading. Interested friends can purchase a physical copy.
1.Career development path for testers, how should we move forward?
2.Concise and clear! Experts guide you to understand the boot process of ARM-Linux
3.Has the artificial intelligence bubble burst twice? Will it burst again?
4.Embedded engineers wielding the universal “three axes” of C language!
5.In-depth good article | How to master all programming languages
6.Masayoshi Son: A great change is coming, it feels like sleeping is a waste of time
Disclaimer: This article is a network reprint, and the copyright belongs to the original author. If there are any copyright issues, please contact us, and we will confirm the copyright based on the copyright certificate you provide and pay the remuneration or delete the content.
Leave a Comment
Your email address will not be published. Required fields are marked *