GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - Neotron-Compute/Neotron-BMC: Firmware for the Neotron Board Management Controller

BranchesTags
Open more actions menu

Latest commit

 

History

199 Commits
199 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
.vscode
.vscode
 
 
datasheets
datasheets
 
 
neotron-bmc-commands
neotron-bmc-commands
 
 
neotron-bmc-nucleo
neotron-bmc-nucleo
 
 
neotron-bmc-pico
neotron-bmc-pico
 
 
neotron-bmc-protocol
neotron-bmc-protocol
 
 
.gitignore
.gitignore
 
 
CHANGELOG.md
CHANGELOG.md
 
 
Cargo.toml
Cargo.toml
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
openocd.cfg
openocd.cfg
 
 
rustfmt.toml
rustfmt.toml
 
 

Repository files navigation

Neotron-BMC

Firmware for the Neotron Board Management Controller (NBMC).

Introduction

The NBMC is an always-on microcontroller used on Neotron systems. It has very low idle power consumption, allowing it to remain powered up at all times. This lets it listen to button events from the Power and Reset buttons, and control the system LEDs, main ~RESET signal and turn the main 5V Power Rail on and off. This lets your Neotron system have smart 'ATX PC' style features like a soft power button, and it also ensures that all power rails come up before the system is taken out of reset.

The NBMC appears to the main Neotron system processor as an Expansion Device. As such it sits on the SPI bus as a peripheral device, with a dedicated Chip Select line and a dedicated IRQ line. It provides to the system:

  • an extra I²C bus,
  • a four-wire UART,
  • two PS/2 ports (one for keyboard, one for a mouse),
  • two analog inputs for monitoring for the 3.3V and 5.0V rails,
  • two GPIO inputs for a power button and a reset button, and
  • three GPIO outputs - nominally used for
    • the main DC/DC enable signal, and
    • the power LED

Hardware Interface

Neotron Pico

The NBMC firmware is designed to run on an ST Micro STM32F0 (STM32F030K6T6) microcontroller, as fitted to a Neotron Pico.

See the board-specific README

Nucleo-F401

The NBMC firmware can also run on an ST Micro STM32F4 Nucleo board.

See the board-specific README.

It's currently quite out of date compared to the Neotron Pico version.

BMC Registers

See the neotron-bmc-protocol and neotron-bmc-commands for more details on how the BMC registers are accessed and modified.

Build Requirements

Build requirements are available for Neotron-BMC-pico and Neotron-BMC-nucleo.

Licence

This repository as a whole is licenced under the GNU Public Licence version 3. See:

  • The LICENSE file
  • The GPL Website

Our intent behind picking this licence is that you must ensure anyone who receives a programmed Neotron BMC processor, also receives:

  • A note stating that the firmware is licenced under the GPL v3, and
  • Access to Complete and Corresponding Source Code (e.g. in the form of the URL to a commit/tag in this repository, or the source repository the firmware was commercially distributed or was built from a different repo to this one).

For the avoidance of doubt, it is not our intention to:

  • prevent you from selling PCBs containing a programmed Neotron BMC processor, or
  • prevent you from making changes to the Neotron BMC source code.

It is however our intention to ensure that anyone who sells or distributes this firmware (or products that contain it):

  • provides proper attribution, and
  • gives the customers/recipients access to the source code, including any changes that were made.

Note that this firmware image incorporates a number of third-party modules. You should review the output of cargo tree and ensure that any licence terms for those modules are upheld. You should also be aware that this application was based on the Knurling Template at https://github.com/knurling-rs/app-template.

Note also that some crates within this tree are made available individually under different licences. See each individual crate for details.

About

Firmware for the Neotron Board Management Controller

Resources

Readme
GPL-3.0 license
Activity
Custom properties

Stars

6 stars

Watchers

1 watching

Forks

5 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.