Turn Your Raspberry Pi Into a Standalone AVR/ESP Programmer with LEMPA
One of the challenges of developing and producing microcontroller-based hardware projects in a repeatable, small/medium volume, is the amount of work it takes to flash the MCUs with the required firmware. Another side of the problem for designers who work with diverse types of microcontrollers is the number of different kinds of programmers they need to have to be able to program the different microcontrollers successfully. Sensing this plight and desiring to provide a better experience for designers, Georgia Based Roey Benamotz’s recently announced the launch of his new integrated MCU programmer called LEMPA.
Designed as a Raspberry Pi HAT with the desire for a Pi or other Pin Compatible SBC to serve as the host device, LEMPA provides an easy way for developers to program Microchip Atmega/ATtiny and ESP Microcontrollers with full support for CI/CD and onboard LEDs that provide visual feedback during firmware upload.
The HAT comes with; a ZIF socket to allow for quick insertion and removal of the target DIP-type MCUs, a connector/Socket for ATtiny microcontrollers, and headers for an Arduino Pro Mini dev board. Asides from the LED that provides visual feedback during firmware upload, the board also comes with another LED that can be used to test for the success of the flashing process.
Inline with the goal of the project being to create an integrated tool that enables easy and fast firmware upload, Benamotz also developed a Python-based software that can pull firmware updates from a remote server and handle profile management and flashes the target MCU with the firmware using AVRdude. The software, which runs directly on the Raspberry Pi and other compatible SBCs, makes LEMPA a complete wireless standalone solution without the need for users to connect it to a separate PC to upload firmware, ensuring very little/no wire mess is made.
For repeatability of the firmware upload process, once the setup has been done, to upload firmware, all the user needs to do is to use the jumper on the HAT to select a profile, and press just one button on the HAT to initiate the firmware upload process.
Some highlight features and specification LEMPA(LEan Mean Programming mAchine) include:
- Self-contained – no need for PC
- Full support for CI/CD – binaries automatically downloaded from cloud or local network
- Single-button: One click to program the MCU, long click to download the latest firmware
- Support for multiple profiles with the simple editing of a JSON file. A jumper on board chooses which profile to use.
- Fully open-source
- Does not require cumbersome FTDI adapter or similar
- Embedded LEDs provide immediate feedback without the need for a monitor.
While the LEMPA HAT is currently available for sale on Tindie for $19.99, the LEMPA Software is entirely open source and all the code files are available on the project’s Github page here.
More information on LEMPA may be found on the product’s Tindie page which also contains a video that shows how the project works.