There are no reviews yet. Be the first to send feedback to the community and the maintainers!
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.STM32F0_minimal
Absolute minimum code required to boot an STM32F0 chip.GD32VF103_templates
A few minimal bare-metal "hello, world" programs to help learn about the GD32VF103 RISC-V microcontroller without relying on a particular framework.STM32F0_minimal_C
Minimal code required to boot an STM32F0 chip into a C 'main' method.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.game_and_watch_fun
Repository containing code to run on a Nintendo Game and Watch.KiCAD_STM32_Example
Example project containing a KiCAD project for a basic STM32 breakout board.STM32F723E_QSPI_Example
Example program demonstrating how to access Quad-SPI Flash chips using an STM32F723E Discovery Kit.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.STM32_LiPo_Example
Simple lithium battery-powered STM32 board using an MCP73831 for charging.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.rv32i_nmigen_blog
Minimal RISC-V RV32I CPU design as described in a companion blog post.STM32_UART_Examples
A few simple example projects demonstrating how to use some core features of STM32 UART peripherals.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!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.CP2102N_simple
Simple breakout board for a CP2102N USB / UART bridge.W1209_ADC_Monitor
Example firmware to monitor the ADC and display it to a 3-digit 7-segment display on a W1209 board.STM32_ILI9341_HWSPI
Minimal code example for using the STM32's hardware SPI peripheral to drive an ILI9341 TFT display.STM32_DMA_Examples
Some simple examples demonstrating how to use STM32 DMA peripheralsSTM32F0_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.nmigen_getting_started
A few basic designs to demonstrate the syntax for using nMigen's basic features.ARM_Cortex_M_Assembly
Various practical examples for getting started with developing on Cortex-M platforms using Thumb assembly. Work-in-progress as I learnSTM32F7_ramloaders
A couple of examples demonstrating how to run ephemeral programs in RAM and use Tightly-Coupled Memories on an STM32F723E Discovery Kit.Tetris-PebbleTime
Tetris for the Pebble Time watch.RFM95W_LoRa_test
Minimal STM32 application to demonstrate sending and receiving messages over LoRa using a HopeRF RFM95W radio module.nmigen_ice40_spi_flash
Simple test application to read data out of an iCE40 FPGA board's SPI Flash chip.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.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.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.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 STM32L031K6nmigen_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.STM32_Epaper29_Example
Example firmware for an STM32F0 or L0 to draw to a 2.9" eink display using its SPI peripheral.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.STM32G0_HelloWorld
Just an example test program for a pretty new line of STM32 chips.W1209_Example_Firmware
Example firmware for the STM8-based W1209 digital thermostat/relay board.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.HolidayStarLights
Addressable RGB LEDs can be a fun and festive addition to any holiday!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_C_Interop_Templates
Super-simple templates to remind me of the syntax for Rust/C interoperability.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.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.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+).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-CSTM32x0_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.NiMH_battery_checker
A simple STM8 application to check the charge level of an NiMH battery and light up one of three LEDs.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.flexible_plywood_generator
Script to generate flexible rectangular areas of plywood.STM32G0_Rust_DMA
Example of how to use an STM32G0's DMA driven by its DACs in order to generate two audio tones.svd2json
Simple Rust project which converts SVD files to JSON using the svd2rust crate.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.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!iCE40_tests
A couple of simple test programs for iCE40 FPGAs.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.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 displaySTM32F0_quickstart
A dummy project for quickly starting a new C/assembly program. Includes basic GPIO setup and a hardware interrupt.MSP430_PWM
A couple of basic PWM examples for the MSP430 using GCC.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!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.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.Love Open Source and this site? Check out how you can help us