PSGadget
0.4.2
Experimental PowerShell module for direct hardware control via FTDI chips FT232R and FT232H — drive GPIO pin states, write I2C, actuate physical devices, and more.
Minimum PowerShell version
5.1
Installation Options
Owners
Copyright
(c) 2026 Mark Go. All rights reserved.
Package Details
Author(s)
- Mark Go
Tags
FTDI Hardware GPIO UART I2C SPI PsGadget MicroPython ESP32 ESP-NOW IoT FT232H FT232R SSD1306 OLED Telemetry
Functions
New-PsGadgetFtdi Test-PsGadgetEnvironment Get-FtdiDevice Connect-PsGadgetFtdi Get-PsGadgetMpy Connect-PsGadgetMpy Set-PsGadgetGpio Get-PsGadgetGpio Get-FtdiEeprom Get-PsGadgetFtdiEeprom Set-PsGadgetFt232rCbusMode Set-PsGadgetFtdiEeprom Set-PsGadgetFtdiMode Get-PsGadgetConfig Get-PsGadgetLog Set-PsGadgetConfig Install-PsGadgetMpyScript Install-MacOSD2XXDrivers Get-PsGadgetEspNowDevices Invoke-PsGadgetI2CScan Invoke-PsGadgetI2C Invoke-PsGadgetStepper Invoke-PsGadgetSpi Invoke-PsGadgetUart Start-PsGadgetTrace
PSEditions
Dependencies
This module has no dependencies.
Release Notes
v0.4.2: UART support via D2XX. PsGadgetUart class with Write/Read/ReadLine/Flush/BytesAvailable. Invoke-PsGadgetUart cmdlet. GetUart() on PsGadgetFtdi. UART [PROTO] trace entries (DarkYellow in viewer). All standard baud rates, 8N1/7E2/etc, RTS/CTS and Xon/Xoff flow control. v0.4.1: SPI support via MPSSE. PsGadgetSpi class with Write/Read/Transfer. Invoke-PsGadgetSpi cmdlet. GetSpi() on PsGadgetFtdi. SPI [PROTO] trace entries (Blue in viewer). All 4 SPI modes supported. v0.4.0: Removed 9 deprecated SSD1306/PCA9685 wrapper functions; Send-PsGadgetI2CWrite demoted to internal private helper. Invoke-PsGadgetI2C is now the sole I2C entry point. PsGadgetFtdi.GetDisplay/Display/ClearDisplay use class methods directly. v0.3.6: Invoke-PsGadgetStepper - unified stepper motor cmdlet for FT232R/FT232H via async bit-bang. Bulk USB write for jitter-free step timing. Calibrated StepsPerRevolution (28BYJ-48: ~4075.77 half-steps, NOT 4096). Angle-based moves via -Degrees. PsGadgetFtdi.Step() and .StepDegrees() shorthand methods. v0.3.5: SSD1306 OLED integrated into Invoke-PsGadgetI2C. v0.3.4: ESP-NOW wireless telemetry.
FileList
- PSGadget.nuspec
- lib\ftdisharp\FtdiSharp.dll
- lib\net8\System.Device.Gpio.dll
- Private\Ftdi.Cbus.ps1
- Private\Ftdi.Unix.ps1
- Private\Invoke-NativeProcess.ps1
- Public\Connect-PsGadgetMpy.ps1
- Public\Get-PsGadgetEspNowDevices.ps1
- Public\Install-MacOSD2XXDrivers.ps1
- Public\Invoke-PsGadgetStepper.ps1
- Public\Set-PsGadgetFtdiEeprom.ps1
- Classes\PsGadgetMpy.ps1
- lib\native\FTD2XX.dll
- lib\net8\UnitsNet.dll
- Private\Ftdi.IoT.ps1
- Private\Ftdi.Windows.ps1
- Private\Mpy.Backend.ps1
- Public\Get-ConnectedPsGadget.ps1
- Public\Get-PsGadgetFtdiEeprom.ps1
- Public\Install-PsGadgetMpyScript.ps1
- Public\Invoke-PsGadgetUart.ps1
- Public\Set-PsGadgetFtdiMode.ps1
- PSGadget.psd1
- Classes\PsGadgetPca9685.ps1
- lib\net48\FTD2XX_NET.dll
- lib\netstandard20\FTD2XX_NET.deps.json
- Private\Ftdi.Mpsse.ps1
- Private\Get-PsGadgetModuleLogger.ps1
- Private\Send-PsGadgetI2CWrite.ps1
- Public\Get-FtdiDevice.ps1
- Public\Get-PsGadgetGpio.ps1
- Public\Invoke-PsGadgetI2C.ps1
- Public\New-PsGadgetFtdi.ps1
- Public\Set-PsGadgetGpio.ps1
- PSGadget.psm1
- Classes\PsGadgetSpi.ps1
- lib\net48\FTD2XX_NET.xml
- lib\netstandard20\FTD2XX_NET.dll
- Private\Ftdi.PInvoke.ps1
- Private\Initialize-FtdiAssembly.ps1
- Private\Ssd1306.Backend.ps1
- Public\Get-FtdiEeprom.ps1
- Public\Get-PsGadgetLog.ps1
- Public\Invoke-PsGadgetI2CScan.ps1
- Public\Set-PsGadgetConfig.ps1
- Public\Start-PsGadgetTrace.ps1
- Classes\PsGadgetFtdi.ps1
- Classes\PsGadgetSsd1306.ps1
- lib\net8\Iot.Device.Bindings.dll
- lib\netstandard20\FTD2XX_NET.xml
- Private\Ftdi.Spi.ps1
- Private\Initialize-PsGadgetConfig.ps1
- Private\Stepper.Backend.ps1
- Public\Get-PsGadgetConfig.ps1
- Public\Get-PsGadgetMpy.ps1
- Public\Invoke-PsGadgetSpi.ps1
- Public\Set-PsGadgetFt232rCbusMode.ps1
- Public\Test-PsGadgetEnvironment.ps1
- Classes\PsGadgetI2CDevice.ps1
- Classes\PsGadgetUart.ps1
- lib\net8\Microsoft.Extensions.Logging.Abstractions.dll
- Private\Ftdi.Backend.ps1
- Private\Ftdi.Uart.ps1
- Private\Initialize-PsGadgetEnvironment.ps1
- Public\Connect-PsGadgetFtdi.ps1
- Classes\PsGadgetLogger.ps1
- lib\README.md
Version History
| Version | Downloads | Last updated |
|---|---|---|
| 0.4.2 (current version) | 4 | 4/11/2026 |
| 0.3.7 | 12 | 3/18/2026 |
| 0.0.3 | 17 | 1/26/2026 |
| 0.0.2 | 5 | 1/26/2026 |
| 0.0.1 | 4 | 1/26/2026 |