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.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.Hello_MSP430
Just a simple 'blink' program for an MSP430G2553 Launchpad.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