Skip to content
/ atio Public

RP2040 firmware for controlling GPIO over USB CDC with AT commands

License

Notifications You must be signed in to change notification settings

machdyne/atio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ATIO

ATIO is RP2040 firmware that lets you control IO with an AT command set.

Usage

Plug the device into a computer.

$ minicom -D /dev/ttyACM0 -b 115200

Building

To build the RP2040 firmware, assuming you have pico-sdk installed:

$ mkdir build
$ cd build
$ cmake ..
$ make

To build and run a simulated version on Linux for debugging/testing:

$ make
$ ./atio

Protocol

ATIO received commands can be terminated with CR, LF or CRLF.

ATIO transmitted messages are terminated with CRLF.

ATIO sends informational messages prefixed with "#".

When ATIO is initialized it will send "READY".

ATIO commands respond with "OK", "ERROR" or "+value".

Test

> AT
< OK

Reset device

> AT+RST
< ...
< READY

Set direction of GPIO n (0 = input, 1 = output)

> AT+GPIODn=X
< OK

Example:

> AT+GPIOD5=1
< OK

Enable pull-up resistor for GPIO n

> AT+GPIOPUn
< OK

Enable pull-down resistor for GPIO n

> AT+GPIOPDn
< OK

Disable pull-up/pull-down resistors for GPIO n

> AT+GPIOPNn
< OK

Set value for GPIO n

> AT+GPIOn=1
< OK

Get value for GPIO n

> AT+GPIOn?
< +1

License

ATIO is released under the Lone Dynamics Open License.

About

RP2040 firmware for controlling GPIO over USB CDC with AT commands

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published