Difference: MecrispCubeFirefly (5 vs. 6)

Revision 62022-08-29 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"
%DASHBOARD{ section="banner"
Changed:
<
<
image="/twiki/pub/MecrispCube/BoardSupportPackageWBfeather/WB_Feather_header.jpg" title="!MecrispCube for the STM32WB Feather Developer Board"
>
>
image="/twiki/pub/MecrispCube/MecrispCubeFirefly/header.jpg" title="Mecrisp-Cube for the STM32WB Firefly Developer Board"
  titlestyle="color:#F00000;" }%
Intro
Changed:
<
<
After discovering Adafruit's Feather STM32F405 for myself, I wanted to develop a Feather board for the STM32WB. Luckily I found the STM32WB Feather Development Board from Reclaimer Labs. This board has everything I need.
>
>
Unfortunately the STM32WB Feather Development Board is no longer available. But there is a very good substitute the Firefly designed by Tlera Corp. The pinout is very similar to Arduino UNO but with the size of an Arduino Nano. The GPIOs are very carefully selected. JTAG SWD is on the pin header too!
  Instant real-time programming with Forth.
Changed:
<
<
Sources on GitHub (WBfeather branch on Mecrisp-Cube)
>
>
Sources on GitHub (Firefly branch on Mecrisp-Cube)
 
Changed:
<
<
>
>
 
Line: 22 to 24
 

Features

  • 61 KiB RAM dictionary
Changed:
<
<
  • 384 KiB Flash dictionary
>
>
  • 128 KiB Flash dictionary
 
  • Forth as CMSIS-RTOS thread. CMSIS-RTOS API to use FreeRTOS within Forth.
  • Buffered terminal I/O (5 KiB buffer for UART Rx). Interrupt driven and RTOS aware, key and emit block the calling thread. USART1: D0 RX, D1 TX
  • USB-CDC for serial communication via USB. Redirect console I/O like cdc-emit, cdc-key
  • microSD and internal serial Flash mass storage for blocks and FAT filesystem.
Changed:
<
<
    • Internal Flash drive 0:, 16 MiB serial Flash W25Q128
>
>
    • Internal Flash drive 0:, 384 KiB Flash
 
Changed:
<
<
    • LEDs: LED1 (red) D12
    • Digital port pins: D0 to D15 (without D7 and D8)
    • Analog port pins: A0 to A5
    • PWM: TIM1CH1 A4, TIM1CH2 D1, TIM1CH3 D0
    • Input capture TIM2CH1 A5
    • Output compare TIM2CH2 D13, TIM2CH3 D5, TIM2CH4 D6
    • EXTI: D5, D6, D11, D13
>
>
    • LEDs: LED1 (blue), Neopixel (D8, optional)
    • Digital port pins: D0 to D15 (some ports are shared)
    • Analog port pins: A0 to A4 (can also be used as digital port pins D16 to D20)
    • PWM: D0 (TIM1CH3), D1 (TIM1CH2), A4 (TIM1CH1)
    • Input capture A1 (TIM2CH2)
    • Output compare D13=13 (TIM2CH1), A2=18 (TIM2CH3), A3=19 (TIM1CH4)
    • EXTI: D2, D4, D7, and D10
 
  • UART: D0 RX, D1 TX
Changed:
<
<
  • SPI: D2 SCK, D3 MISO, D4 MOSI (e.g. for display, memory)
  • I2C: D14 SDA, D15 SCL (external peripherals e.g. pressure sensor)
>
>
  • SPI: D11 SCK, D12 MISO, D13 MOSI (e.g. for display, memory, CS for SD-Card is D10)
  • I2C: D14 SDA, D15 SCL (external peripherals e.g. pressure sensor, OLED)
 
  • vi Editor origin in BusyBox tiny vi. Workflow development: begin Edit EVALUATE while SaveFile repeat
  • Real Time Clock (32 bit UNIX time stamp, valid times are from 1.1.2000 to 31.12.2099 because of the STM32WB RTC peripheral) time!, time@, and .time (YYYY-MM-DDTHH:MM:SS ISO 8601).
Line: 55 to 57
 
Changed:
<
<
For more BSP details see BoardSupportPackageWBfeather.
>
>
For more BSP details see BoardSupportPackageFirefly.
 
Line: 63 to 65
 

Getting Started

These instructions will get you a copy of the project up and running on your local

Changed:
<
<
machine (STM32WB Feather Developer Board) for development and testing purposes.
>
>
machine (STM32WB Firefly Developer Board) for development and testing purposes.
 

Prerequisites

Line: 75 to 77
 
    • minicom, microcom, screen - Linux
    • Use the built in Eclipse console (but no LF)

Changed:
<
<
Flash the Mecrisp-Cube binary (MecrispCubeWBfeather.bin) or the util-binary (MecrispCubeWBfeatherUtil.bin) to the Feather Board.
>
>
Flash the Mecrisp-Cube binary (MecrispCubeFirefly.bin) or the util-binary (MecrispCubeUtil.bin, everything included e.g. internal flash drive and Forth tools) to the Firefly Board.
 
Changed:
<
<
  1. Connect the Feather Board USB to the PC
  2. Hold the USR button (BOOTP Pin), push the RES button, release the USR button
  3. Program the binary (MecrispCubeWBfeather.bin or MecrispCubeWBfeatherUtil.bin) with the STMCubeProgrammer (select USB Device)
  4. Reset or power cycle the Feather board
>
>
  1. Connect the Firefly Board USB to the PC
  2. Hold the BTN button (BOOTP Pin), push the nRST button, release the nRST button
  3. Program the binary (MecrispCubeFirefly.bin or MecrispCubeUtil.bin) with the STMCubeProgrammer (select USB Device)
  4. Reset or power cycle the Firefly board
  Start the terminal emulator application on the PC. Check for the serial communication port (e.g. for Linux /dev/ttyACM0).
Line: 96 to 98
 
Mecrisp-Stellaris RA 2.5.4 by Matthias Koch.

Changed:
<
<
Mecrisp-Cube 1.4.4 for STM32WB Feather, 63/384 KiB RAM/FLASH dictionary (C) 2021 peter@spyr.ch * Firmware Package STM32Cube FW_WB V1.11.0, USB-CDC, BLE Stack 5.0 (C) 2021 STMicroelectronics
>
>
Mecrisp-Cube 1.4.5 for STM32WB Nucleo, 63/128 KiB RAM/FLASH dictionary (C) 2022 peter@spyr.ch * Firmware Package STM32Cube FW_WB V1.14.1, USB-CDC, BLE Stack 5.3 (C) 2022 STMicroelectronics
  * CMSIS-RTOS V2 FreeRTOS wrapper, FreeRTOS Kernel V10.3.1 (C) 2020 Amazon.com * FatFs for internal flash and microSD - Generic FAT fs module R0.12c (C) 2017 ChaN * tiny vi - part of BusyBox (C) 2000, 2001 Sterling Huxley
Line: 110 to 112
 

Special Functions on Startup

USB-CDC is the default console.
Changed:
<
<
Button 1
CRS (Bluetooth Cable Replacement Service) is standard console
Button 2
UART is standard console
Button 3
ignore /etc/rc.local
Button USR
start STM bootloader
red LED
the LED lights up during the initialization phase
>
>
Button BTN
start STM bootloader
blue LED
the LED lights up during the initialization phase
 

Neopixel as Status Indicator

The optional NeoPixel displays the status
Line: 125 to 124
 

Additional Tools and Local Filesystem

Changed:
<
<
Populate a microSD with the contents of sdcard. Put the microSD into the uSD Card slot and reset or power cycle the board.
>
>
Populate a microSD with the contents of sdcard. Put the microSD into the uSD Card slot and reset or power cycle the board.
  The directory should look like this:

Line: 200 to 199
 Get the sources from github:


Changed:
<
<
psi@homer:~> git clone --branch WBfeather https://github.com/spyren/Mecrisp-Cube
>
>
psi@homer:~> git clone --branch firefly https://github.com/spyren/Mecrisp-Cube
 Klone nach 'Mecrisp-Cube' ... remote: Enumerating objects: 1157, done. remote: Counting objects: 100% (1157/1157), done.
Line: 218 to 217
 Browse to Mecrisp-Cube directory
Changed:
<
<
Generate code from the STM32CubeMX MecrispCubeWBfeather.ioc file:
>
>
Generate code from the STM32CubeMX MecrispCubeFirefly.ioc file:
 
Project -> Generate Code 
Line: 229 to 228
 {list of changed files} $ git restore {files to restore}
Changed:
<
<
>
>
or instead of git restore
$ git stash
$ git stash drop
  Select the Build Configuration (Debug if you want to debug the project) and Build the project:

Line: 249 to 252
 Creative Commons License
This work by Peter Schmid is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

META FILEATTACHMENT attachment="wbfeather.jpg" attr="" comment="" date="1625171894" name="wbfeather.jpg" path="wbfeather.jpg" size="714220" user="PeterSchmid" version="1"
Added:
>
>
META FILEATTACHMENT attachment="firefly2.jpg" attr="" comment="" date="1661802237" name="firefly2.jpg" path="firefly2.jpg" size="678344" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="header.jpg" attr="" comment="" date="1661802752" name="header.jpg" path="header.jpg" size="52927" user="PeterSchmid" version="1"
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback