• Stars
    star
    29
  • Rank 860,307 (Top 17 %)
  • Language
    C
  • License
    MIT License
  • Created almost 5 years ago
  • Updated almost 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A few minimal bare-metal "hello, world" programs to help learn about the GD32VF103 RISC-V microcontroller without relying on a particular framework.

More Repositories

1

ESP32_minimal

Minimal code for a 'bare metal' ESP32 program which does not use ESP-IDF. Really just a learning exercise because the ESP-IDF is Apache-licensed and quite good; I just had trouble finding lower-level information about the chip.
Makefile
42
star
2

STM32F0_minimal

Absolute minimum code required to boot an STM32F0 chip.
Makefile
37
star
3

STM32F0_minimal_C

Minimal code required to boot an STM32F0 chip into a C 'main' method.
Assembly
29
star
4

STM32_CPP_Inheritance

Example firmware to run an SSD1306 display as a demonstration of C++ inheritance in an embedded application on an STM32 ARM Cortex-M chip.
C
19
star
5

game_and_watch_fun

Repository containing code to run on a Nintendo Game and Watch.
C
17
star
6

KiCAD_STM32_Example

Example project containing a KiCAD project for a basic STM32 breakout board.
16
star
7

STM32F723E_QSPI_Example

Example program demonstrating how to access Quad-SPI Flash chips using an STM32F723E Discovery Kit.
C
15
star
8

min_freertos_blink

An example FreeRTOS project for STM32 microcontrollers. I'm hoping this can be a simple starting point for learning about using a realtime operating system.
C
15
star
9

STM32_LiPo_Example

Simple lithium battery-powered STM32 board using an MCP73831 for charging.
14
star
10

OLED_test_boards

Repository with KiCAD projects for two boards which provide SPI communication to a 30-pin 128x64 monochrome SSD1306 display panel, and a 23-pin 96x64 multicolor SSD1331 one.
12
star
11

rv32i_nmigen_blog

Minimal RISC-V RV32I CPU design as described in a companion blog post.
Assembly
11
star
12

STM32_UART_Examples

A few simple example projects demonstrating how to use some core features of STM32 UART peripherals.
C
10
star
13

STM32WB55Cx_minimal

(Currently untested) minimal STM32WB board. These look cool because they have a bluetooth / 802.15.4 radio and an internal switching power supply. Fun!
C
10
star
14

SQLite3_STM32_SDMMC

Repository to test building sqlite3 as a static library for an ARM Cortex-M platform. Nothing functional yet, but I plan to use the 'Gristle' FAT filesystem library with a custom SD/MMC peripheral driver for the STM32L4 line of microcontrollers. Why? Because I want to make a handheld GPS mapping device, and it'd be cool to use spatialite databases.
C
10
star
15

CP2102N_simple

Simple breakout board for a CP2102N USB / UART bridge.
8
star
16

W1209_ADC_Monitor

Example firmware to monitor the ADC and display it to a 3-digit 7-segment display on a W1209 board.
C
8
star
17

STM32_ILI9341_HWSPI

Minimal code example for using the STM32's hardware SPI peripheral to drive an ILI9341 TFT display.
C
8
star
18

STM32_DMA_Examples

Some simple examples demonstrating how to use STM32 DMA peripherals
C
7
star
19

STM32F0_minimal_GPIO

Minimal STM32 project for using GPIO pins - as an example, this uses a button connected to pin B1 to control an LED connected to pin B3.
C
7
star
20

nmigen_getting_started

A few basic designs to demonstrate the syntax for using nMigen's basic features.
Python
6
star
21

ARM_Cortex_M_Assembly

Various practical examples for getting started with developing on Cortex-M platforms using Thumb assembly. Work-in-progress as I learn
Assembly
6
star
22

STM32F7_ramloaders

A couple of examples demonstrating how to run ephemeral programs in RAM and use Tightly-Coupled Memories on an STM32F723E Discovery Kit.
C
6
star
23

Tetris-PebbleTime

Tetris for the Pebble Time watch.
C
5
star
24

RFM95W_LoRa_test

Minimal STM32 application to demonstrate sending and receiving messages over LoRa using a HopeRF RFM95W radio module.
C
5
star
25

nmigen_ice40_spi_flash

Simple test application to read data out of an iCE40 FPGA board's SPI Flash chip.
Python
5
star
26

STM32F723E_FMC_Examples

A few examples showing how to configure the STM32 external memory controller to communicate with the PSRAM and display on an STM32F723E Discovery Kit.
C
5
star
27

STM32_quickstart

Another 'quickstart' recipe for starting a new STM32-based GCC project. I've tried a few different project layouts for bare-metal C applications targeting Cortex-M microcontrollers, and this repository is an effort to reduce the common pain points that I encounter by minimizing external dependencies and auto-generating tedious compenets like the vector table.
C
5
star
28

STM32F0_SSD1331_softSPI

Example code for drawing to a 96x64-pixel SSD1331 16-bit color OLED display over SPI from an STM32F031 chip, without using the hardware SPI peripheral.
C
4
star
29

STM32x0_timer_example

Example project demonstrating how to set up the core system clock and use it to drive a timer peripheral to blink an LED every second on an STM32F031K6 or STM32L031K6
C
4
star
30

nmigen_rv32i_min

Minimal work-in-progress implementation of a RISC-V CPU using nMigen. It supports the core RV32I instructions, but it is too large and still in-progress.
Assembly
4
star
31

STM32_Epaper29_Example

Example firmware for an STM32F0 or L0 to draw to a 2.9" eink display using its SPI peripheral.
C
3
star
32

STM32_ExternalMemory

Minimal example demonstrating how to map external memories to an STM32's internal memory space using its Quad-SPI and "Flexible Memory Controller" peripherals.
C
3
star
33

STM32G0_HelloWorld

Just an example test program for a pretty new line of STM32 chips.
C
2
star
34

W1209_Example_Firmware

Example firmware for the STM8-based W1209 digital thermostat/relay board.
C
2
star
35

svd2rust_example_stm32l0x1

Example repository demonstrating how to generate a Rust 'peripheral access crate' from an SVD file, and how to use that library to blink an LED.
Rust
2
star
36

HolidayStarLights

Addressable RGB LEDs can be a fun and festive addition to any holiday!
C
2
star
37

STM32G0_TFT_DMA

Example embedded Rust project demonstrating how to use an auto-generated 'Peripheral Access Crate' to drive a small TFT display over SPI using DMA.
Rust
2
star
38

Rust_C_Interop_Templates

Super-simple templates to remind me of the syntax for Rust/C interoperability.
C
2
star
39

STM32_Rust_HAL_Blink

Example repository to blink an LED on an STM32F3 board using the 'cortex-m-quickstart' Rust template and the 'stm32f30x-hal' crate.
Rust
2
star
40

STM32_viz_gen

Simple scripts to partially automate generating visualizations of STM32 peripheral mappings. The scripts are in pretty rough shape though, and they still require some manual steps.
Python
2
star
41

STM32x0_minimal_GPIO

Minimal STM32 project for using GPIO pins - as an example, this uses a button connected to pin B1 to control an LED connected to pin B3. This is a minimal project to demonstrate supporting two different chip architectures - the STM32F031 (Cortex-M0) and STM32L031 (Cortex-M0+).
C
2
star
42

FPM-C_STM32_Example

Adapted example code from the 'FPM-C' fingerprint sensor library for an STM32L4 core. The library does include an example for the cheap-and-cheerful 'blue pill' board, but I'm not sure what it uses as a build system: https://github.com/brianrho/FPM-C
C
2
star
43

STM32x0_DS3231_I2C_Example

An example project for using an STM32F0 or L0 chip to communicate with a DS3231 Real-Time Clock module over I2C. Example code for using an EEPROM chip on the same bus is also included.
C
2
star
44

NiMH_battery_checker

A simple STM8 application to check the charge level of an NiMH battery and light up one of three LEDs.
C
1
star
45

STM32_Rust_PAC_Blink

Example repository to blink an LED on an STM32F3 board using one of Rust's "Peripheral Access Crates". It's a step down from a HAL, similar to a header file full or register structs and bit definitions in C.
Rust
1
star
46

flexible_plywood_generator

Script to generate flexible rectangular areas of plywood.
Python
1
star
47

STM32G0_Rust_DMA

Example of how to use an STM32G0's DMA driven by its DACs in order to generate two audio tones.
Rust
1
star
48

svd2json

Simple Rust project which converts SVD files to JSON using the svd2rust crate.
Rust
1
star
49

MotoMate

An STM32-based GPS receiver handheld board with a small display and microSD card slot: eventually, I'd like to make some simple mapping / logging firmware and a case for mounting it to motorcycle handlebars.
C
1
star
50

STM32_TIM_Neopixels

Simple WS2812B/SK6812 example for a few STM32 chips using a timer peripheral. Either I was very lazy about the timing values, or it's a demonstration of how to use logic analyzers to debug timing protocols. You decide!
C
1
star
51

iCE40_tests

A couple of simple test programs for iCE40 FPGAs.
Verilog
1
star
52

Hello_MSP430

Just a simple 'blink' program for an MSP430G2553 Launchpad.
Makefile
1
star
53

EEGLogger

Program to log EEG data and recognize SSVEP signals. Created by the Washington University in St. Louis Brain Computing Interface club - we decided it wouldn't hurt to open source it.
C++
1
star
54

STEAMGalV2_Tetris

'Tetris' firmware for a "STEAMGal" STM32 board - it's based off of the "Arduboy" credit card-sized educational platform, but it uses an ARM Cortex-M core and a full-color OLED display
C
1
star
55

STM32F0_quickstart

A dummy project for quickly starting a new C/assembly program. Includes basic GPIO setup and a hardware interrupt.
C
1
star
56

MSP430_PWM

A couple of basic PWM examples for the MSP430 using GCC.
C
1
star
57

STM32G031Kx_bb

Simple open-source breakout board for a 32-pin STM32G031 microcontroller. Designed to be easy to hand-solder, with wide footprints and no parts smaller than 0805. Feedback is welcome!
1
star
58

STM32F0_SSD1306

Simple SSD1306 monochrome OLED screen driver for the STM32F0 line of chips. (Currently only 128x64-px screens on an F030F4 or F031F6). Huge thanks to Adafruit, '4ilo', and 'thaletterb', and countless users of various forums; Adafruit's library is way better. But this might be an okay reference for using peripherals in Thumb assembly.
C
1
star
59

visual_mcu_ide

I dunno, programming is such a chore sometimes. Finite State Machines are ostensibly an alternate view of a compiled program, so let's try a more visual method for programming microchips.
C
1
star