Skip to main content
Any Framework

Iot.Device.Aw9523x assembly for .NET nanoFramework C# projects

Published
Aug 31, 2026
1mo ago
Total Downloads
984
984

Install

dotnet add package nanoFramework.Iot.Device.Aw9523x --version 1.0.57

No framework information available.

README

AW9523X - I2C GPIO and LED controller

AW9523X is a generic 16-channel I2C GPIO expander and LED controller. This binding intentionally exposes generic register and port operations so it can be used on any AW9523X-based board.

Documentation

Usage

using System.Device.I2c;
using Iot.Device.Aw9523x;

I2cDevice i2c = I2cDevice.Create(new I2cConnectionSettings(1, Aw9523x.DefaultI2cAddress));
Aw9523x aw9523 = new Aw9523x(i2c);

byte chipId = aw9523.ChipId;

Generic port access

// Configure all pins on port 0 as outputs
aw9523.WriteDirectionPort(Port.Port0, 0x00);

// Set bit 1 on output port 0
aw9523.SetOutputBits(Port.Port0, OutputMask.PortBit1);

// Read current input state on port 1
byte inputs = aw9523.ReadInputPort(Port.Port1);

CoreS3 usage pattern

On CoreS3, board-level functions are wired through AW9523X output bits. You can apply the same policy used by M5Unified in the application/sample layer:

const OutputMask coreS3BusEn = OutputMask.PortBit1;
const OutputMask coreS3UsbOtgEn = OutputMask.PortBit5;
const OutputMask coreS3BoostEn = OutputMask.PortBit7;

// Enable internal bus power
aw9523.SetOutputBits(Port.Port0, coreS3BusEn);
aw9523.SetOutputBits(Port.Port1, coreS3BoostEn);

// Enable USB OTG output
aw9523.SetOutputBits(Port.Port0, coreS3UsbOtgEn);
aw9523.SetOutputBits(Port.Port1, coreS3BoostEn);

Changes from Previous Version

No structural changes between v1.0.33 and v1.0.57.

Adoption Assessment

A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.

No SPDX license expression is published. Review the license text and your organisation's policy before redistribution.No target framework metadata is available. Confirm compatibility in a representative project before standardising on this package.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.