Skip to content

matthijskooijman/ArduinoCore-stm32l0

 
 

Repository files navigation

Arduino Core for STM32L0 based boards

What is it ?

ArduinoCore-stm32l0 is targeted at ultra low power scenarios, sensor hubs, with LoRaWAN connectivity.

Supported boards

STMicroelectronics

  • MJS2020-PROTO1
  • MJS2020-PROTO2

Installing

Board Manager

  1. Download and install the Arduino IDE (at least version v1.6.8)
  2. Start the Arduino IDE
  3. Go into Preferences
  4. Add https://kittengineering.github.io/package_stm32l0_boards_index.json as an "Additional Board Manager URL"
  5. Open the Boards Manager from the Tools -> Board menu and install "KITT Engineering STM32L0 Boards"
  6. Select your STM32L0 board from the Tools -> Board menu

OS Specific Setup

Linux
  1. Go to ~/.arduino15/packages/kittengineering/hardware/stm32l0/<VERSION>/drivers/linux/
  2. sudo cp *.rules /etc/udev/rules.d
  3. reboot
Windows
STM32 BOOTLOADER driver setup for MJS2020 boards
  1. Download Zadig
  2. Plugin STM32L0 board and toggle the RESET button while holding down the BOOT button
  3. Let Windows finish searching for drivers
  4. Start Zadig
  5. Select Options -> List All Devices
  6. Select STM32 BOOTLOADER from the device dropdown
  7. Select WinUSB (v6.1.7600.16385) as new driver
  8. Click Replace Driver
USB Serial driver setup for MJS2020 boards (Window XP / Windows 7 only)
  1. Go to ~/AppData/Local/Arduino15/packages/kittengineering/hardware/stm32l0/<VERSION>/drivers/windows
  2. Right-click on dpinst_x86.exe (32 bit Windows) or dpinst_amd64.exe (64 bit Windows) and select Run as administrator
  3. Click on Install this driver software anyway at the Windows Security popup as the driver is unsigned
ST-LINK V2.1 driver setup for STMicroelectronics boards
  1. Plugin STMicroelectronics board
  2. Download and install ST-Link USB Drivers

From git

  1. Follow steps from Board Manager section above
  2. cd <SKETCHBOOK>, where <SKETCHBOOK> is your Arduino Sketch folder:
  • OS X: ~/Documents/Arduino
  • Linux: ~/Arduino
  • Windows: ~/Documents/Arduino
  1. Create a folder named hardware, if it does not exist, and change directories to it
  2. Clone this repo: git clone https://github.com/kittengineering/ArduinoCore-stm32l0.git kittengineering/stm32l0
  3. Restart the Arduino IDE

Setup correct solderlinks for B-L072Z-LRWAN1 in order to make the native USB work

SB15 and SB16 should be soldered in order to make the USB D+ and USB D- working. SB37 solderlink should be removed/cleared to disable the NRST from the embedded ST-Link

Recovering from a faulty sketch

Sometimes a faulty sketch can render the normal USB Serial based integration into the Arduindo IDE not working. In this case plugin the STM32L0 board and toggle the RESET button while holding down the BOOT button and program a known to be working sketch to go back to a working USB Serial setup.

Credits

This core is based on and compatible with the Arduino SAMD Core

About

Arduino Core for STM32L0

Resources

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Languages

  • C 90.9%
  • C++ 8.6%
  • Assembly 0.2%
  • Objective-C 0.1%
  • Tcl 0.1%
  • Makefile 0.1%