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

Protect Your SD-Card for real

You always wanted to save your SD-Card from viruses, malware and Trojans. The solution to these is to make them write protected. As of now USB-device exist which can be made write-protected but are very rare to find and are expensive.  For SD-cards they do have a write-protected switch but you can easily bypass it using OS tweaks. The sdlocker developed allows to truly write-protect any SD card by toggling the TMP_WRITE_PROTECT bit on the flash memory controller of the card itself. Together with a USB card reader, this write-protected card can then be used as a read-only USB drive. The sdlocker is built around an Attiny 85 controller. The schematic is also been included along with the code on the website. The code is fully compatiable with avr gcc for those on linux system or you can even use avr dude which is a very famous programmer for the AVR series of controller. The good thing is that you ca edit the code based on your requirement and the level of security you require to protect from malwares. Continue reading

Interfacing MMC, SD and SDHC to AVR microcontrollers

In many microcontroller projects you run in to limited memory problems. Usually you get enough Flash for storing program code, but when talking about storing data – it runs out quickly. Think of data loggers or music players. Fastest and most accessible way of increasing memory is using SD (MMC, SDHC) cards. They are popular, cheap and can be connected to computer. Roland Riegel has been working library that allows interfacing memory cards to AVR microcontrollers. So far it supports MMC, SD, SDHC cards with partition table and can read/write FAT16/32 formatted cards. It is easy to connect cards to AVR. If it’s powered using 3.3V then connect lines directly to SPI, when voltage is 5V then simple voltage dividers lowers signals to required 3.3V. Depending on how card is formatted you may need different flash size microcontrollers like in order to support FAT32 you will need at least Atmega328. Roland performed several benchmark tests on reading and writing so you could judge the efficiency of code. Continue reading