Add a watchdog which resets the WLAN module when it hangs.
Add system clock initialization code for Xmega controllers.
Improved timing and source code structure.
The correct line-feed format for the WLAN module is now auto-detected. Debugging via SERIAL_ECHO option is now disabled by default.
Reduced RAM usage a lot and improved stability.
Add hardware layouts for Arduino Uno, Crumb328, Crumb644, Crumb128 and Crumb2561.
AT and I/O commands can now be executed on both WLAN and USB.
Simple text commands provide access to the I/O ports, so you don't need any special driver or library. It works out of the box with almost any programming language and any operating system, for example PC, Samrtphones, Tablets, Raspberry Pi, and so on.
The C Compiler for the microcontroller is free availabe for Windows (e.g. GNU Toolchain), Linux (avr-gcc) and Mac OS. The example app "ioModule" for PC and smartphones can be compiled with Qt Creator.
For example, the following command sets the pin PC3 to high level:
And this command queries port D in hexadecimal format:
You will find the whole command set below. You can execute about 4 commands per second.
The Crumb644 must be modified by interrupting a trace next to the USB-UART chip and insert an 1k Ohm resistor. This modification should be done by an experienced technician because the parts are very small. All other Crumb board can be used without modification.
Many AVR boards above are available with pre-installed bootloader, so you don't need an extra programming adapter.
These commands can be used on a single I/O line (PB7), a port (PB) or all ports together by a single command:
PB7 and PB are examples, all ports are accessible in the same way. When accessing all ports together, the size of the hexadecimal number depends on the size of the AVR, referring to the ports: DDCCBBAA or HHGGFFEEDDCCBBAA.
The commands for single pins support characters as an alternative to 0 and 1:
The commands d, p and o respond always with "Ok". The i command responds this way:
The available references depend on the capabilities of the Mikrocontroller:
Example for the r command:
The a command expects the channel number of the analog input, for example:
The length of the hexadecimal number depends on the size of the shift register (8-32 bits).
Again, the length of the hexadecimal number depends on the size of the shift register (8-32 bits). The current status of port Y can be read out by the command i.
The Commands d and p are not available on the port extensions!
In addition, you may execute any AT command that the WLAN module understands (except AT+CIPSEND). However, you can only receive the first line of each response. The following command sequence configures the WLAN connection of the ESP module: