• Reviewer: @ngu25
• Full Review and Getting Started Guide: https://www.devheads.io/wp-content/uploads/2024/08/AVR128DB48_DevHeads_Review-1.pdf
The AVR128DB Curiosity Nano kit is based on the AVR DB family of microcontrollers featuring the AVR CPU, running at up to 24 MHz across the full supply voltage range of 1.8V to 5.5V. The value addition is in the form of an Analog Signal Conditioning module, Custom Configurable Logic blocks, and more, all available in a single package.
Key features of the kit include:
● High-performance AVR RISC CPU with hardware multiplier running up to 24 MHz
● 128 KB in-system self-programmable Flash memory, 512B EEPROM, 16KB SRAM
● **Functional Safety:** IEC 60730 and IEC 61508 (industrial), ISO 26262 (automotive)
● Multi-voltage I/O (MVIO)
● Configurable custom logic (CCL)
● 3 x operational amplifiers (OPAMPs)
● 12-bit differential analog-to-digital converter (ADC) and 10-bit digital-to-analog converter (DAC) with output buffer
● 5 x USART, 2 x SPI, I2C peripherals and more
The board comes in a tiny and compact package and almost felt weightless inside the ESD cover. Accompanied by two 1 x 28 berg strip connectors, the board is in a breadstick form factor that fits perfectly on the breadboard.
## Op Amp
The op amp design is one of the highlights of the AVR128DB, and there are several demo examples
available in the microchip [Github repository](https://github.com/search?q=org%3Amicrochip-pic-avr-examples+OPAMP&type=repositories). The excerpts from a demo application below describe the flow of configuring and using the peripheral:
“`/*Initialize IO ports and opamp peripheral blocks*/
port_init();
opamp_init();
/*OP0 configured as a non inverting pga, gain = 4x*/
OPAMP.OP0RESMUX = OPAMP_OP0RESMUX_MUXWIP_WIP5_gc |
OPAMP_OP0RESMUX_MUXBOT_GND_gc | OPAMP_OP0RESMUX_MUXTOP_OUT_gc;
OPAMP.OP0INMUX = OPAMP_OP0INMUX_MUXNEG_WIP_gc |
OPAMP_OP0INMUX_MUXPOS_INP_gc;“`
Designers can also use the Microchip Code Cofigurator(MCC) GUI available in the [MPLAB X IDE v6.20](https://www.microchip.com/en-us/tools-resources/develop/mplab-x-ide). The configuration process is quite intuitive and a list of all possible configurations is available from a dropdown.
## Configural Custom Logic
The CCL is one of the most interesting features of this MCU, as it allows the user to develop in custom configurations using the available logical elements. One example is a simple two-input XNOR gate that allows up to three input logic gates with a few limitations like on the input/output pin mappings.
## Key Takeaways
The AVR DB development kit has immense potential in low- to mid-range applications with a sweet spot in mixed-signal embedded applications. It delivers analog signal conditioning, real-time control, and multi-voltage operation in a single package that optimizes design flexibility and cost.
The open-source examples (including peripheral-specific demos) are helpful for reducing the effort and learning curve in applications like industrial control involving analog sensors and signals, feature-rich home appliance products with low power/compute requirements, automotive ancillaries, and so on. It would be interesting to explore its configurable blocks alongside (comparatively) mid- or high-end cores like ARM Cortex M3/M4 or newer generation PICs.
## Next: [Unboxing & Getting Started](https://www.devheads.io/wp-content/uploads/2024/08/AVR128DB48_DevHeads_Review-1.pdf)