Olimexino-STM32

Slammer
Tue May 31, 2016 12:33 am
This is about a maple compatible board, the Olimexino-STM32 (from Olimex). While there are references for this board on the forum, there is no dedicated topic. As an owner of the board I will write some words about it.
First, the board is not new, it is available for at least 6 years, mine is purchased in 2011 and it is revision B.

The board is an improved version of original maple. All pins are in the same location as in maple board.
The board comes with the official bootloader which can be replaced with bootloader V2. It is fully compatible with arduino-STM32 as maple board.
In comparison with Leaflabs Maple the improvements are:
– Switching power regulator for improved efficiency and wide input voltage (9-30V). It is based on well known (but a bit old) MC33063 regulator.
– On board Li-Po battery charger with automatic power supply selection. MCP73812 charger is used, adjusted at 70mA charging current.
– Separate 3V3 regulators (MCP1700) for digital and analog power planes.
– On board CAN interface and micro-SD slot.
– Custom UEXT connector for external peripherals (Olimex has many UEXT boards, like RS485, Ethernet, etc)
– RTC support ready (XTAL is here and Vbat to Battery connector)
– 2 User Leds

I didn’t like:
– SWD connector with 10 pins, spaced at 0.05”. A special adapter cable required for connecting ST-LINK.
– The power supply capacitors and inductor are very tall, any shield on top of the board cannot be placed correctly. I think that they corrected this problem in later revisions.

I like this board mainly bacause of the flexible power supply input. It can be powered directly from a 24V industrial supply. From the value of Rsc of MC33063 the cutoff current of regulator is about 1200mA, but the inductor is a bit small for this current, anyway the regulator can supply more than 500-600mA easily in 5V plane. For 3V3, two MCP1700 are used rated at 250mA.
It costs about 20$-25$ and it is rather expensive in comparison with chinese STM32 boards


RogerClark
Tue May 31, 2016 1:21 am
@slammer

Thanks for the information

ITeadStudio do something similar, https://www.itead.cc/iteadmaple.html but I suspect they are trying to get rid of old stock and they are now selling for around $5

The iTeadMaple doesnt look quite as touch as the Olimex board, but it is currently cheaper


ahull
Tue May 31, 2016 10:00 am
You can still pick the Olimexino up on ebay. http://www.ebay.co.uk/itm/Olimex-OLIMEX … SwUfNXRf15

Slammer
Tue May 31, 2016 12:01 pm
I bought it for a small application in industrial environment (as addon in a PLC system) but never used. I messed up with maplelib and arduino and I gave up…
Finally I used an Olimexino-328 (olimex version of UNO) for the application ( a rather simple sketch) with almost the same power supply input. The system is still running 24/7 for 6 years…
Now, with Arduino-STM32, the board is resurrected…

martinayotte
Tue May 31, 2016 1:47 pm
Olimex is a pretty innovative bulgarian company !
I’ve used there A20-Micro boards since few years.
They have several new designs in development, some that I wish becoming soon in production are the new A64 board as well as FPGA board.

stevech
Tue May 31, 2016 7:27 pm
and even
http://www.mouser.com/ProductDetail/Oli … AruR8P8HAQ

but having 20KB RAM is rather limiting.


martinayotte
Tue May 31, 2016 8:18 pm
Olimex has several other STM interesting offerings, although the last one is not with this buck-down power supply :

https://www.olimex.com/Products/ARM/ST/ … e-hardware
https://www.olimex.com/Products/ARM/ST/ … e-hardware
https://www.olimex.com/Products/ARM/ST/STM32-H405/


Slammer
Tue May 31, 2016 9:07 pm
It is noticeable that Olimexino-STM is cheaper than Olimexino-328…. it is not the first time.. Blue-Pill is cheaper than Arduino Nano…

ag123
Thu Jul 21, 2016 4:33 pm
the home site for this board apparently is
https://www.olimex.com/Products/Duino/S … e-hardware

i like this board particularly for its onboard micro sd-card slot, though sd-card is not a standard ‘duino’ feature.
Lots of non-duino programming would probably be needed.

and with the on board battery charger this board can run off a li-po battery
what comes to mind is that this is possibly a good datalogger board
and there is this notion that inserting a micro sd card may literally expand storage to gigabytes rather than several hundred k :lol:

like martinayotte mentioned, they have other boards such as H405, H407 and E407 (has an ethernet plug)
the H4 series uses STM32 F4 mcu which are apparently quite a bit faster, has more ram & other on chip features


Manny
Mon Jul 25, 2016 11:11 pm
ag123 wrote:the home site for this board apparently is
https://www.olimex.com/Products/Duino/S … e-hardware

i like this board particularly for its onboard micro sd-card slot, though sd-card is not a standard ‘duino’ feature.
Lots of non-duino programming would probably be needed.

and with the on board battery charger this board can run off a li-po battery
what comes to mind is that this is possibly a good datalogger board
and there is this notion that inserting a micro sd card may literally expand storage to gigabytes rather than several hundred k :lol:

like martinayotte mentioned, they have other boards such as H405, H407 and E407 (has an ethernet plug)
the H4 series uses STM32 F4 mcu which are apparently quite a bit faster, has more ram & other on chip features


Ollie
Sat Oct 15, 2016 5:00 pm
I was lucky and did purchase the Olimex GD32F103RBT6 Maple board from Amazon for $9.00 including delivery and taxes.

Here is the link https://www.amazon.com/gp/product/B01AP … UTF8&psc=1

Now I feel unlucky, because the board is not anymore available. The other reason to be slightly sad is that I failed in downloading from Arduino and was able to brick the board for USB access – lost the maple boot loader. Loading through serial or ST-link didn’t work for me. The only way at the moment to use the board is to use EmBitz 1.00 with ST-link. Works without any issues.

The challenge was the tiny 10 pin connector with 0.05 pitch used for ST-link SWD. The required flat cables and connectors are not widely available. I had to sacrifice one of the flat cables used in my LPC-Link 2 development boards. I was too lazy to review the LPC-Link 2 documentation to see if it was a perfect match with the Olimex SWD connector. It could have been possible that without cutting any cables, I could connect the LPC-Link 2 to PC with USB for ST-link and then connect the LPC-Link 2 to Olimex Maple.

I will update the STM32F103_Med64.csv table in F103 github with the pin numbers used in the Olimex boards, including the Arduino pins, UEXT pins, and Extension pins. I will add this board in the F103 github Wiki at https://github.com/OliviliK/STM32F103/wiki


RogerClark
Sat Oct 15, 2016 8:01 pm
if you have access to PA9 and PA10 ( UART 1) and Boot0 you can upload via a USB to serial adaptor.

I would have thought that one of the STM32 bootloaders would work, but it depends on what frequency the external osciallator crystal they use.
If the use 8MHz the normal STM32 bootloader should work


Slammer
Sun Oct 16, 2016 7:17 pm
PA9/PA10 are available and it is possible to use normal STM32 bootloader through UART, I have used this many times (at least in STM32 version)
Unfortunately SWD pins are not available on any other point except SWD connector, but olimex is selling the adapter https://www.olimex.com/Products/ARM/JTAG/ARM-JTAG-20-10

Ollie
Mon Oct 17, 2016 1:29 am
As promised, here is the Olimexino-STM32 (GD32F103RBT6) info I promised in the previous message

https://github.com/OliviliK/STM32F103/wiki/F103RB

I did add a column for Maple board in the medium density 64 pin mapping table

https://github.com/OliviliK/STM32F103/b … _Med64.csv

This column is not for the original Maple or any of its variants. It is for this particular clone.

If you can ever buy this board again for $9.00, it is highly recommended.


RogerClark
Mon Oct 17, 2016 1:59 am
Ollie

Does it use an 8Mhz external clock or a 12Mhz one ? (I presume its 8Mhz like most STM32F103 boards – but some GD32 use 12Mhz)


Ollie
Mon Oct 17, 2016 3:50 am
Yes, it is a 8 MHz crystal as shown in a picture at https://github.com/OliviliK/STM32F103/wiki/F103RB

RogerClark
Mon Oct 17, 2016 5:22 am
OK

It looks like they just replaced the STM32 with the GD32 and didn’t make any other changes to the hardware


Ollie
Tue Oct 18, 2016 9:37 pm
Olimex P103 is another low cost ($9.00) GD32F103RB development board. The same board can be used for STM32F103RB and STM32F405RE.

See the second entry in the following Wiki page

https://github.com/OliviliK/STM32F103/wiki/F103RB

If your prototyping includes a lot of soldering, this could be a good alternative for you.

I am still wondering, how Olimex can sell these GD32 boards in US for 1/3 of the price that customers are paying in Europe :o


Nikita
Fri Jul 28, 2017 8:11 am
Hello all. I try to make project for CAN-bus with libopencm3, and I noticed examples in it for Olimexion-STM32; I have got hand-made special cable for connecting ST-Link to board, but how I can see there is no power on board with it, so ST-Link Utility states that there is no board connected. When I try to connect board via USB and try again ST-Link still cant connect to board. Previously I compiled code with gnu-make and upload it with ST-Link utility to blue pill board. So can anyone help me understand how to upload compiled hex-firmware to this board!

zmemw16
Fri Jul 28, 2017 9:42 am
[Ollie – Tue Oct 18, 2016 9:37 pm] –
I am still wondering, how Olimex can sell these GD32 boards in US for 1/3 of the price that customers are paying in Europe :o

the usa seems to buffer its internal markets c.f. petrol
then there are trade agreements and balances.
Tom Clancy “Executive Orders” istr has some interesting passages, descriptions and resultant implications.
maybe also in “Debt of Honour” – vague recollection. “Red Storm Rising” is a different mechanism.

stephen


katesfb
Mon Oct 09, 2017 1:46 am
Hi,
What is the correct board option to use with the olimexino-STM32. In Arduino under the boards manager with subsection STM32 boards (stm32duino.com) there are a few options that seem relevant to the olimexino. I have been using Maple (rev3), is this correct as not all examples seem to work.

Any help is much appreciated.

Cheers.


RogerClark
Mon Oct 09, 2017 6:14 am
What MCU is on the board ? F103RC ??

Does it have come with the bootloader installed ?


katesfb
Sun Oct 15, 2017 10:29 pm
Hi,
And thanks for the reply.

The MCU is stm32F103RBT6.

It looks like it comes with the maple boot-loader installed as is mentioned here https://www.olimex.com/Products/Duino/S … e-hardware

Any help is much appreciated.

Cheers.


RogerClark
Mon Oct 16, 2017 4:18 am
Not all examples work with all boards

The F103RB is just a larger F103C with a few more pins, it doesnt have things like DAC that the F103RE or VE or ZE has etc

Also, unless someone reports a compile issue with an example I have no way of knowing that it doesnt work, as its impractical for me to test every example for every change to the master repo


Manny
Mon Oct 16, 2017 7:26 am
I use Maple (rev3) with the the stm32duino bootloader option which is much better than the one the board comes with.

Phono
Thu Nov 16, 2017 2:12 pm
Hi all,
I have used Olimexino-STM32 boards for several years in various projects, incluing my biggest one, where 5 of these boards control the steering and monitor the system health of my hybrid-propulsion leisure boat. They work in conjunction with homemade interface shields as well as SEEED ethernet shields, and all the boards are connected to a single CAN bus.
I am totally satisfied with them. No crash ever, although they run in a very noisy environment (2 x 10 kW electric motors) and sometimes at rather high temperatures.
I would certainly recommend them for an industrial application. Their ability to be supplied with a 24V battery and their ready to use CAN bus connection are very convenient.
The only advice I would like to give is this one :
all boards since the beginning until revision E included have the “5V” pin (as defined for genuine Arduinos) actually powered with the internal 3.3V. This poses a compatibility problem with some shields that expect 5V on this pin.
Since revision F they fixed this and you can now find both 3.3V and 5V on the power connector, as expected.
Please pay attention to this, as when you order these boards you do not know which version is actually delivered.
It is, however, easy to change a version E to version F by just cutting 2 traces and adding 2 straps on the PCB, which I recommend.
Jean-Marc

ag123
Tue Nov 28, 2017 1:23 pm
OLIMEXINO-STM32 is still listed as not supported on the wiki, is it still true?
http://wiki.stm32duino.com/index.php?ti … _64_pin.29

Phono
Tue Nov 28, 2017 6:26 pm
I must admit I did not know this wiki, and I do not know what “supported” means. I use the Aduino IDE V1.8.3 and the STM32 package from this site.
I select the board “Maple (Rev 3)” and it works. The only unsupported feature was the built-in CAN interface, but it is in the process of integration for a pending version. Maybe, the “unsupported” feature should be corrected, unless this means something else.

metrobcn
Sun Oct 28, 2018 1:48 pm
[Phono – Tue Nov 28, 2017 6:26 pm] –
I must admit I did not know this wiki, and I do not know what “supported” means. I use the Aduino IDE V1.8.3 and the STM32 package from this site.
I select the board “Maple (Rev 3)” and it works. The only unsupported feature was the built-in CAN interface, but it is in the process of integration for a pending version. Maybe, the “unsupported” feature should be corrected, unless this means something else.

Dear masters,

I’ve seen several posts related to can bus support in olimexino stm32. The issue is about the shared isr with usb… how do i overcome that? Seen that there are some libraries scattered around, so maybe the grearest Phono or any other experienced user might give me hint in how to deal with it. I am experienced so i need the just the essence. The libs and a brief pseudocode example


metrobcn
Tue Oct 30, 2018 8:28 am
Dear all,

I need a basic hint to solve a basic issue: Have not been able to use the stm32duino bootloader with this olimexino board even following the comments from Phono and other users.
* I am able to use STFlashLoaderDemo to upload different binaries from stm32duino site
* I have installed the windows DFU drivers
* I have arduino ide with stm32 boards configured. I am able to upload code with serial board

My issue is that win7 is not recognizing the board as a DFU / COMX. I have tried different bootloader binaries, specifically those that have been mentioned in a couple of threades through out this forum:
* maple_rev3_boot20.bin (no led flashing on olimexino board)
* generic_boot20_pa1.bin (olimexino stm32 led is in pa1 => so it flashes correctly)
None of them show the connected board as DFU device in windows… (even when setting the programming mode by reset + button push) Therefore no chance to use the usb flash in arduino ide

If I use the leaflabs ancient firmware (from their site) maple.bin it correctly appears as a DFU device but i am not able to use the stm32duino bootloader flashin mode (somehow logical)

Please give a slightest hint in which trick you use. Do not need thorough explanation just a couple of word


Manny
Tue Oct 30, 2018 3:46 pm
Two things you can do to get a sketch to upload, try resetting near the end of the sketch when it stalls trying to find a DFU device.

Put the board into ‘perpetual bootloader mode’ by holding the reset and holding the user_button for a few seconds, LED D13/PA5 will start to blink slowly…then upload the sketch normally.


metrobcn
Wed Oct 31, 2018 10:02 am
Dear Manny,

Thank you very much for giving part of your time to help me. Unfortunately your suggestions did not work in my case. However I managed a way out to have the USB loading working. I am writing it down so that it might be useful for anyone else dealing with olimexino-stm32 board.

The steps are esserntially those to setup the stm32duino as listed in (https://wiki.stm32duino.com/index.php?t … stallation)

Arduino IDE Setup

  • Download and install the official Arduino IDE. Version 1.8.7 is running fine for me after following all the steps in this mini tutorial

      Run Arduino IDE, and open the menu Tools -> Boards -> Boards Manager. Install the “Arduino SAM Boards” package (This installs compiler support for ARM Cortex-M3). There is no need to define any url with json file. It will take a while. Close arduino IDE.

        Download a zip file containing the Arduino STM32 files from here https://github.com/rogerclarkmelbourne/ … master.zip This repo contains updated libraries for peripherals and specific devices, with a wise criteria betting for stability.

          Unzip the folder inside the MyDocuments\Arduino\hardware. i had to create the hardware folder. It should result in something like this [C:\Users\<user>\Documents\Arduino\hardware\Arduino_STM32]

        USB bootloader

        • Despite is feasible to upload sketches to olimexino-stm32 board using a classical USB to TTL Serial module (remember to set the switch or jumper to 3V3!!) it is more convenient to upload them with direct connection between the olimexino stm32 board and a USB port of a computer. To do so it is required a bootloader. Fortunately the great team and individuals STM32duino community, branching the excellent job of Leaflabs (smart MIT people), prepared one. This steps are essentially those of this link: http://wiki.stm32duino.com/index.php?ti … bootloader

            Download the ST FlashLoaderDemonstration Tool from this site http://www.st.com/content/st_com/en/pro … stm32.html This tool manages flash memory pages of the STM32FXXX chips. It helps to erase the whole memory and flash a new .bin firmware.

              Now an important step i got stuck as there are some different criteria in this forum regarding the Olimexino-STM32 board. Go to https://github.com/rogerclarkmelbourne/ … y_binaries. These are the bootloader binaries with no sketch on it. It has been updated “recently” and just takes 7 kbytes. it’s been improved (RAM and so…).The key point is to select the suitable binary for olimexino-stm32 board. After testing others, the one that perfectly works for me is “generic_boot20_pa1.bin”. Olimexino board has a secondary led in PA1 (yellow one) therefore you can see when the board is running in boot mode or executing the uploaded program.

                Be reminded that olimexino-stm23 comes with a Maple bootoader pre-installed. So that if you just plug the USB to power the unit on it flashes the green led. We are going to replace this bootloader with the STM32duino bootloader, so that we can upload new sketches from direct USB connection from our Arduino IDE

                  Set the USB to TTL Serial board voltage switch to 3V3!!!. Connect it to the the olimexino-stm32 UEXT (check pdf manual https://www.olimex.com/Products/Duino/S … -STM32.pdf) connector so that:

                  Serial Board UEXT
                  GND — ————–GND (pin 2)
                  RX —————– TX (pin 3)
                  TX —————– RX (pin 4)

                  It is better if you do not connect VCC (pin1) as the olimexino-STM32 board will be powered from the USB to Serial Module…

                    Connect the USB Serial board to a free USB port in the PC. (Do not power the olimexino board yet). After connecting open windows device manager to check if a new Virtual COM port has been installed. This Virtual COM port corresponds to the USB to Serial board. If it does not appear (strange) check drivers and so. Windows shouid manage that setup by itself (it is a common driver). Leave the Device Manager open.

                      Now power up the olimexino board. I recommend to not use a free USB port from your PC as you could be confused with new hardware not configured yet. Better use an external cell phone charger. After powering up, if this is the first time you are about to flash it, the green led should flash 6 times. This is due to the Maple bootloader all boards come with.

                        Now put the board in perpetual boot mode. To do so you just need to keep reset button pushed (close to the LiPO connextor) and meanwhile push also the “button” (close to the mini usb connector). Keep the button pressed while you release the reset button, so that the board reboots with button pressed (forcing the BOOT0 line of the chip set at HIGH). It does not need to be kept for a long time (a couple of seconds to the most). Release the button. The board won’t flash the green led. Therefore you know that it is not running the program but it is in perpetual boot mode.

                          Run the ST FlashLoaderDemonstration Tool. Select the COM Port corresponding to the UBS Serial Board you checked before with the Device Manager. Leave the rest of the settings to their default values (some sites recommend to lower the speed to 19200, but I have sucessfully flashed the bootloader several times at 115200)

                            Press “Next” button twice till you see the commands selector window (erase, file selector etc). Choose the generic_boot20_pa1.bin. (You would need to change the file extension file to *.bin instead of *.s19). If the tool stalls before reaching the command window, repeat setting the perpetual bootloader mode.

                              Execute the flash command. Unplug the serial board and power cycle the olimexino.stm32 board by directly connecting to the USB PC port. You will see that now the yellow led flashes few times (instead of the green one). The unit will not be detected by windows because it needs a special driver.

                                Go to https://github.com/rogerclarkmelbourne/ … er/drivers download the win directory that contains the drivers. Run the “install_drivers.bat”. It actually does not install any new driver but helps windows to link USB reference to the serial driver and names it.

                                  Unplug and replug the board so that we help windows to check for new devices. Open device Manager a new libusb device collection would appear with Maple DFU inside.

                                  The board is ready to be uploaded sketches through USB

                                Uploading Sketches

                                • Open Arduino IDE (it is required to be closed and reopened so that the hardware folder is updated in the Board Manager menu option). Go to Tools -> Board -> Select Maple (Rev 3) board! Do not try anyother else. You shall scroll down, as It is under STM32 board collection.

                                    At Tools-> Board -> check the speed is set to 72MHz.

                                      Now go to File -> Examples -> STM32 Examples -> Blink.

                                        Press Arrow to Build and Upload. The nw program shall be falshed by USB. NOTE: There is no need to put the Flash Board in Perpetual Boot!

                                          Arduino IDE sketches usually compile with USB Serial, so that they can be used to debug messages. So after uploading your windows device manager will see a new Virtual COM port corresponding to the olimexino-stm32 board.

                                            Go to Tools -> Port -> and set the new port

                                          NOTE: When sketch includes Serial.begin() to debug through USB, after uploading the sketch it might return an error about not being able to reset USB. Despite of it all my tests proved that the skecth uploaded correctly.

                                          That’s it!!

                                          Hopefully this is clear enough for any user with the olimexino-stm32 board.

                                          Regards.

                                          PS: Now I just need some helping hand in how to use CAN Bus with this unit. Seen some posts that I need to use different CAN.XXX files but dunno exactly how

                                          PPS: I made several mistakes when flashing and never bricked the board. But I do not take any responsibility for any bricked unit!


                                          Leave a Reply

                                          Your email address will not be published. Required fields are marked *