Turn-key PCB assembly services in prototype quantities or low-volume to mid-volume production runs

AVR RF based bootloader

Sometimes when you deploy your device for permanent use it is not always convenient to connect to it in order to perform software upgrades. Necromant wanted something convenient and cheap that would allow him to connect to AVR without wires. Since he already had several nRF24L01 RF dongles he decided to build so called over-the-air bootloader. He ported Arduino based nRF24L01 library to AVR by removing Arduino dependencies along with few fixes. One RF dongle is attached to target MCU using either hardware SPI or software SPI. Bootloader fits in to 4KB. As programmer, there is a uISP dongle used where nRF24L01 sits on top. Currently programming speed isn’t great which is probably mostly limited by V-USB. Since RF dongles can handle up to 2MBPS speeds there are plenty space for improvements. But rather sticking to AVR, Necromant plans to build another dongle which will be STM32 based USB chip. Continue reading

ENC28j60 based atmega328p UDP bootloader

Kehribar have published his latest project – UDP bootloader for Atmega328. He used an Ethernet gateway board where Atmega328p and ENC28J60 Ethernet controller sits next to each other. UDP (User Datagram Protocol) is a transportation protocol, It doesn’t need IP settings so no need to set static (or dynamic) IP. This is not packet based protocol, so microcontroller has to take care of error checking. Anyway this fits in to 4096 bootloadred chunk and there is a chance to make it twice smaller. Check out for latest version of bootloader in git. Continue reading

Simply print firmware in to microcontroller

flash AVR by printing

This sounds crazy at first glance, but when you start looking at this, it sounds obvious and logical way. Dean Camera, who is creator of famous LUFA project decided to refresh his enthusiasm to developing by making bootloader based on printing. The idea of this is to flash AVR microcontroller by simply printing hex file like you would print it on paper. The trick was to write a bootloader which would be seen as USB printer device. So PC using standard drivers would accept it. Luckily windows already comes with “generic Text-Only” printer driver which deals nicely with text files. All is left is to print hex file to device. Bootloader runs Intel HEX parser which takes data to be written to flash memory. From one side this seems to be funny approach, but in other hand it can be really practical way. Drivers are all there and no special hardware is needed. Why not? Continue reading