LPC11U24 mini pcb

21 Oct 2012

I just finished my development of a pcb with an LPC11U24.

Thechnical data:

- same pinout with mbed (almost)

- same mechanics with mbed

- power via USB or external power source

- 2 buttons (RESET & ISP enable)

- ISP programming via USB or UART(p38:ISP_RX, pin37:ISP_TX)

- press ISP button during reset and use the native USB bootload capability for ISP

- USB connected direct to the LPC11U24 USB interface

- 4 LEDS

- SPI Flash capability

- Supply current 12mA

- SWD debug interface

- 2 side PCB with 1206 components

- Next step is to exchange the LPC11U24(32Kb Flash) with LPC11U37(128Kb flash)





25 Oct 2012

Very nice work.

I notice you have AT45B321 on schematic/board,

have you managed to get it to work as Local File System ??



28 Oct 2012

I placed on the pcb the AT45DB321 for future use, but not tested yet. All other functions (usb bootloader, usb virtual serial port, uart0, uart isp, i/o) tested and working OK.

Regards Thanassis

28 Oct 2012

Hello Thanassis,

can You please test my Hello World USBMSD program for AT45DBxx? LPC11u24 then become to be USB flashdisk for PC via D+, D- pin. Actually SPI bus is configured on p5, p6, p7 and chip select is p8. I tested it with with 8 Mbit and 16 Mbit but might be able to work with others too.

Import programUSBMSD_AT45_HelloWorld

Example program for USBMSD device (USB Flashdisk) library using AT45DBxx serial flash storage chip. Works with 2, 4, 8, 16, 32 and 64 Mbit chips within AT45DBxx

29 Oct 2012

Hello little llumpu,

I have just tested your source code and it is working fine with my board and an AT45DB161D-SU flash chip. The only issue was that I need to first reset the device and then initialize the flash. Read speed is 120Kb/sec and write speed is 40Kb/sec.

#include "USBMSD_AT45.h"

DigitalOut rst(P1_0);

int main() {
    rst = 0;
    rst = 1;

USBMSD_AT45 Flash(p5, p6, p7, P1_1, 512);  // Mosi, Miso, Sclk, CS, Size of block being transported over USB
                                  // each time. Can be 512, 1024, 2048, 4096. Best is to select same
                                  // size as AT45DBxx SRAM buffer size. If page size of flash is not
                                  // binary 2^N (256, 512, 1024 bytes) but is 264, 528 or 1056 bytes
                                  // before each write we read block being written to SRAM then rewrite
                                  // part of them with data from host and write whole SRAM buffer back
                                  // to flash. This avoids to data being rewritten in other blocks
                                  // we actually do not write to.
    while(1) {
   // Do something else here

Best Regards


02 Nov 2012

Hello, nice Project. Are there compatible Chips on market for the AT45DB161D-SU ? Atmel stopped complete production of Flash Memory.



02 Nov 2012

Hello Joerg, Atmel sold AT45DB production to another company:

Effective September 28, 2012, Atmel has sold its Serial Flash products (AT45XXX Data Flash, AT25XXX BIOS Flash) ("Serial Flash Products") business, including all existing inventories, to an affiliate of Adesto Technologies ("Adesto").

I think Adesto will continue to produce this flash.

Regards Thanassis

18 Apr 2014

Mouser.com reports the AT45DB161D-SU will discontinued soon. I have never used it but looks good. A replacement recommendation would be good

18 Apr 2014

Adesto is replacing the AT45DB161D an AT45DB161E with http://www.mouser.com/ds/2/590/doc8782-263196.pdf hope this helps

22 May 2015

Athanassios, This is a brilliant piece of work. Come to think of it, I can use it in so many different applications. Also, since it already has a USB boot loader, it is possible to format a USB and insert a pre-defined script in that USB. I intend to use it as a small USB formatting and scripting tool, this way a PC being used in my office will be free from this task.


Please log in to post a reply.