With the demise of the parallel port, a simple way for a Python script to control external hardware has disappeared. The goal of this project is to use relatively simple hardware like an Arduino Nano and the Microchip MCP23S17 port expander as an extensible bit banger.
Ideally, all hardware should be leaded and breadboard friendly for easy project prototyping.
The ELEGOO Nano is used as an USB RS232 to SPI controller to control the port expander. This fits nicely on a breadboard and has sufficient resources to control a very large number of bits.
The Nybble protocol, https://sourceforge.net/projects/nybbler, is used to communicate between Python and and port expander chips.
Tkinter is used for both the GUI and as a thread manager for the serial port interface. This makes it possible to have a simple plug and play application.
Nattya, https://sourceforge.net/projects/nattya/, a hex friendly TTY interface is used for debug because the Arduino IDE doesn't support hex RS232 data.

Features

  • Python controlled hardware using an Arduino Nano as an SPI interface.
  • 100% open source.
  • Event driven programming model using both Python and Arduino callback functions with parameter passing.

Project Samples

Project Activity

See All Activity >

Follow PyBitBanger

PyBitBanger Web Site

Other Useful Business Software
PRTG Catches Network Issues Before They Cause Downtime Icon
PRTG Catches Network Issues Before They Cause Downtime

Threshold-based alerts flag problems early, so your team can act before users notice, not after.

Reactive troubleshooting usually means hearing about a problem from frustrated users, not your monitoring tool. PRTG sets threshold-based alerts across devices, servers and applications, notifying your team by email, SMS or push the moment a metric crosses a set limit. That means catching a failing disk or overloaded server before it becomes an outage and getting time back from firefighting. Start a free trial and set your first alerts today.
Download 30-Day Trial
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of PyBitBanger!

Additional Project Details

Registered

2021-05-08