I’ve written a few software UARTs for AVR MCUs. All of them have bit-banged the output, using cycle-counted assembler busy loops to time the output of each bit. The code requires interrupts to be disabled to ensure accurate timing between bits. This makes it impossible to receive data at the same time as it is being transmitted, and therefore the bit-banged implementations have been half-duplex. By using the waveform generator of the timer/counter in many AVR MCUs, I’ve found a way to implement a full-duplex UART, which can simultaneously send and receive at up to 115kbps when the MCU is clocked at 8Mhz.
μSim is a lightweight PIC CPU and ALU simulator. This simulator supports the PICmicro mid-range instruction set and designed to work on both PC and Arduino platforms. Compare with most of the other emulators, μSim does not provide all MCU features and peripherals. This simulator design as a minimalistic system, and based on the requirements, it can extend with additional peripherals and features.
The NRI G-13.mft by Crane is a versatile and high secure coin validator. It can be programmed using the propretary WinEMP software and PC interface, or event it has some DIP Switch that can be used to program the device. Unluckily it does not come with a UART interface. But it features a “machine tester” I/O interface we can use to track the inserted coins.
The Atmel ATTINY85 is a great chip (cheap, easy to use, supported in the Arduino IDE). Unfortunately it only has 5 IO pins, which limits its usability. There are guides on using a High-Voltage Programmer (HVP) to change the Reset pin into an IO pin. However, that prevents you from programming the Flash (Program Memory) until you re-enable the Reset pin. Thankfully the Flash can be programmed with an HVP, but the commands and protocol are different. My USBtinyISP simply cannot be modified to be an HVP. Using an Arduino as ISP (In-Service Programmer) on an ATTINY85 is fairly simple but doesn’t work if the Reset pin is disabled.
The main objective of this project is to create an experimental prototype of a digital potentiometer using Microchip’s MCP4141 IC. MCP4141 is available with end-to-end resistances of 5KΩ, 10KΩ, 50kΩ, and 100KΩ. This potentiometer-module can drive MCP4141 with any of the above mention resistances.
AVR-HV2 is Arduino based high voltage parallel programmer for AVR microcontrollers. This programmer can read, write, and erase both flash memory and EEPROM. Also, this can use to set fuse bits of AVR MCUs. Compare with the previous version of AVR HVPP, this design is based on commonly available components with a simple schematic. In this release driver software is also rewritten to provide cross-platform support.