Dangerous Prototypes

In development => Project development, ideas, and suggestions => Topic started by: Squonk on May 17, 2012, 02:00:03 pm

Title: USBug LPC1343 Development Board
Post by: Squonk on May 17, 2012, 02:00:03 pm
I forked from 2 previous DP forum threads (Madelon LPC development board (http://http://dangerousprototypes.com/forum/viewtopic.php?f=19&t=3426) and Dangerous 3D Models (http://http://dangerousprototypes.com/forum/viewtopic.php?f=2&t=3525)) I squatted for a while to create a specific thread on my USBug LPC1343 development board.

The USBug is a complete USB-based microcontroller development system in a very small footprint. All programming is done via the USB port. No special programmer is needed, only a standard "Mini-B" USB cable and a Windows/Linux PC or a Macintosh with a USB port are required.

Here are the key features:
And here are a 3D model rendering and a real picture:
[attachment=0][attachment=1]
The full project is available on my GitHub project page (http://https://github.com/Squonk42/USBug).

I don't know yet what I will do with it: I don't have any production plan yet!

I have 16 prototype PCBs available and components to populate 3 of them.

If there is a high demand, I can get to Seeed and try to make it an industrial product they would sell, but let's see how it goes first!

In the meantime, I can provide the bare PCB or assemble some of the boards I have here...

Please let me know what you think about it!
Title: Re: USBug LPC1343 Development Board
Post by: isaac on May 21, 2012, 07:01:01 am
I've been looking at many of these mini arm dev boards myself, and perhaps interested in creating my own.

Have you taken a look at https://github.com/corecode/mchck/wiki (https://github.com/corecode/mchck/wiki) ?

What are your goals with this project?

I personally want a fully open development platform with easy to use peripheral libraries, a reliable bootloader, and ideally on chip debugging interface that plays well with GDB.

 I'd be interested in a raw or assembled PCB if you want to send me one. I'd also like to help with the project if we have similar goals.
Title: Re: USBug LPC1343 Development Board
Post by: Squonk on May 21, 2012, 08:11:33 am
Thank you for your interest!

Yes, I checked the MC HCK! board, and I even suggested a few improvements in the forum (http://http://dangerousprototypes.com/forum/viewtopic.php?f=56&t=4032#p40528). However, it looks very focused on price, going from the STM32L151 to the Nuvoton NUC120 may not be a good move... Well, we will see! As long as it is open, I don't consider it as a competitor, but more as a contributor.

I must say I am a still big fan of the AVR CPUs, but in the long term, I think moving towards 32 bits is the future. And among all ARM Cortex chips, the ones that drew my attentions are:
I must say that I only worked with the last 2 ones, so I may be missing something with the STM32L, but days only get 24 hours!

Just speaking of the LPC11xx/LP13xx, I also check the available open designs:
But I found these either too large, too expensive, or lacking proper ESD/EMC protections. So I decided to roll my own, and I thought it would provide me a great experience on a mixed hardware/software design.

My goals look very similar to yours: I am attached to open designs, so I placed all the hardware design files under open licenses, and plan to do the same for all software developments.

The ROM-based LPC bootloader is the main reason for choosing this particular chip: I find the USB memory stick (driverless!!!) approach to be the less daunting for a non programmer user.

And I included the standard ARM SWD header just to be able to use the onboard debugging support. Even better: if you check the forum links in my initial post, you will find that one of my secret goals is to implement an USB CDC-ACM gdbserver to SWD interface into the USBug! My dream would be to use 2 USBugs to debug each other...

Just send me a PM with your coordinates, so I can send you at least a bare PCB.
Title: Re: USBug LPC1343 Development Board
Post by: mikestefoy on May 23, 2012, 10:10:41 am
I would like to buy a couple of assembled boards.
do you have a timescale ?

Also, have you any plans for a LPC3147 version?

Mike
Title: Re: USBug LPC1343 Development Board
Post by: Squonk on May 23, 2012, 10:28:35 am
From what I have seen, the LPC1343/45/46/47 and LPC11U23/24 are all pin to pin compatible, although software-wise they are different (USB and GPIOs, mostly).

So the PCB should work for all these chips without modification.

Right now, with Rev. A PCB, I can only get parts from DigiKey (because of the special mini-USB connector and crystal), which is really difficult to order from where I live (France), as they only use UPS as carrier and charge a lot for VAT + customs taxes.

I have 16 Rev. A PCBs and enough parts to put together 3 more boards, but I plan to make a Rev. B board to accommodate for getting parts from easier suppliers in Europe (RS, Farnell). This should only consist in changing a few items in the BOM and some footprints (and adding a voltage supervisor).

So at your option, I can send some bare PCBs and you buy the parts yourself, or you wait until I have some free time to assemble what I have left (Isaac already want one), or you wait until the next Rev PCB (around 1 month as I am using SeedStudio, plus parts ordering and assembly).
Title: Re: USBug LPC1343 Development Board
Post by: Squonk on June 02, 2012, 06:28:40 pm
I compiled MicroBuilder's LPC1343CodeBase (http://https://github.com/Squonk42/LPC1343CodeBase) for the LPC1343 USBug.

Not much tested yet, but at least it compiles ok under the latest LPCXpresso v4.2.2 [Build 275] [03/04/2012], and I have both the LED blinking and the command interpreter working on the USB CDC console!
Title: Re: USBug LPC1343 Development Board
Post by: Squonk on July 07, 2012, 10:41:28 pm
I have a few bare rev. A boards left (10 out of the initial 20 batch from SeeedStudio), so if someone is interested, please send me a PM.

I have been asked for part kits, which I don't supply at the moment. Unfortunately, there is not enough interest (yet!) to start a fulfillment @ SeedStudio Propagate (http://http://www.seeedstudio.com/propagate/) service, as they charge $500 for setup fee and service, plus you have to advance the parts for 100 kits min...

However, this may be a good idea to start grouping part orders, as we can save on individual distributor shipping fees this way.

I put both a Digi-Key (http://https://github.com/Squonk42/USBug/blob/master/BOM/DigiKey_basket.txt) and Farnell (http://https://github.com/Squonk42/USBug/blob/master/BOM/Farnell_basket.txt) basket on Github, so you may have an idea of how much it will cost if you order one by yourself, and how much we can save by grouping.

Let me know by PM if you are interested in such a grouped part order.
Title: Re: USBug LPC1343 Development Board
Post by: Squonk on July 10, 2012, 07:04:04 pm
For comparison's sake, here is a picture with 2 USBug boards, along with some popular other boards (click on picture for full scale image):

(http://http://img337.imageshack.us/img337/9575/boardcomparison.jpg)
Title: Re: USBug LPC1343 Development Board
Post by: Squonk on July 10, 2012, 07:11:08 pm
To get an idea about the USBug cost, the total amount for my initial 4 part kits order from Digi-Key was 75.33€, shipped to my place (EEC). But it is kinda lottery with the customs, they may charge you additional 10~20€, depending on agent :)

Comparing this price to the other equivalent finished boards, it's not that bad:

Of course, you can find other cheaper/better board, like the RPi (http://http://www.raspberrypi.org/), the OLinuXino-Micro (http://https://www.olimex.com/dev/imx233-olinuxino-micro.html) or the Chumby Hacker (http://http://www.adafruit.com/products/278) boards (or a few other Chinese boards from eBay, like the FriendlyARM (http://http://www.friendlyarm.net/)), but if you want to learn small ARM embedded microcontroller CPU programming on bare metal (no Linux here!) with modern tools as well as SMT soldering, the USBug may be a project to consider.
Title: Re: USBug LPC1343 Development Board
Post by: meseta on July 26, 2012, 09:14:52 pm
Hi Squonk, I came across this thread totally by accident.  I'm the co-founder of Universal Air Ltd, and designer and developer of the Forebrain dev boards and its libraries.

I'd just like to say that your work with the USBug looks awesome, and I think any work that encourages more people to work with microcontrollers and electronics, and moving away from 8-bit cores should be praised.

On a side note, have you considered using the LPC1347?  We will be upgrading our boards to run the newer chip, currently we use Forebrain LPC1343s on our quadcopters, and we've maxed it out with all the telemetry and GPS handling code.  The LPC1347 has more flash, internal EEPROM, 12-bit ADC, an extra SSP and I hope some fixes to the bootloader.

If you need any help with anything, let me know!
Title: Re: USBug LPC1343 Development Board
Post by: Squonk on July 26, 2012, 11:01:31 pm
Hi meseta!

I am glad you joined us on this forum, this is a really great place to be!

And thank you for the compliments! Of course, I know the Forebrain dev board, which is also an amazing platform. All the work you have put into it, as well as the supporting website, are both  a great source of inspiration.

I also agree with you regarding moving away from 8-bit microcontrollers. Not only for the CPUs themselves, but also for the benefits of all the accompanying peripherals that are moving to higher gears with these 32-bit SoCs!

As for the LPC1347, yes: I designed it from the start to be compatible with a broad range on NXP CPUs, both lower and higher ends. Right now, I have assembled 3 boards:
You can see the first 2 ones depicted above, the last one was not yet assembled when I took the picture! I got a few early LPC1347 pieces from Farnell (thanks mikestefoy!), so the USBug is probably one of the first LPC1347 dev board around... You can check all the (supposed) pin-to-pin compatible CPUs on my Github page (http://http://squonk42.github.com/USBug/) under the "CPU Variants" accordion section.

Right now, the help would be for taking the decision of what I need to do with this USBug board: it is both very exiting and technically interesting, but also frustrating and intimidating regarding the user's expectations: should I invest more time and money in this project, get help from someone, I don't know!

So any advice is welcome!
Title: Re: USBug LPC1343 Development Board
Post by: meseta on July 27, 2012, 01:30:16 am
Yes, that's a tough decision.  Development boards are a very niche market, there are few customers and there's a growing list of competitors, you really have to work hard to make your product stand out from the rest.  When we approached Sparkfun with our Forebrain product, they basically told us that we did not differentiate ourselves from their existing products.

And therein lies the problem: a bare-bones development board is supposed to be minimalist and contain only the necessary components to have it working, as a result it's going to be very similar to any other bare-bones development boards out there.  If you compared the USBug, Forebrain and EA Quickstart Board, let's face it, aside from some small differences they're pretty interchangeable.

So what can you do?  I believe the best thing to do is to offer a complete solution.  The problem with development boards is that a customer really needs to be proficient in both electronics and programming to make use of it, and that really limits your market.  If you were to make your product easy to program, through offering pre-written libraries, copy+paste code and whatever, then suddenly even beginner programmers and non-programmers can use your product.  If you were to make little add-on boards that let your dev board do something useful without the customer needing to build a circuit, then suddenly those without experience in electronics can use your product.  If you do both, then you've done what the Arduino has done - provide a product that has masses of documentation and pre-written code, and a vast array of add-on boards that will do almost everything you might think of.  And that is why the Arduino is successful.

What we've done is similar, we've focused on UAVs.  Dev boards aren't our main product, we sell quadcopters that are extremely tinkerable.  Because we offer a complete quadcopter kit, you don't necessarily need to be able to program, build circuits, and design mechanical systems to work with quadcopters, you can take our kit and expand its capabilities using the skills tha tyou have, whether it's tinkering with the firmware, attaching new circuits, or modifying the frame.  We've tried it as easy as possible for people to do this - the flight code is open-source and updating firmware is easy thanks to the LPC13xx's bootloader, the dev board at the heart of the quadcopter can interface to other boards, and the low-cost frame is made of sheet aluminium and is very easy to saw or drill into and if you made a mistake you can just buy a replacement part

The business model of companies like Sparkfun and Adafruit have a similar aim - they sell breakout boards that let you do things without necessarily having all the skills you would otherwise have needed without their products.  And it applies to other industries too; take Apple for example, the iPod wasn't the first MP3 player, but it was/is popular because Apple offered a complete solution through iTunes - with other MP3 players, you had to know how to rip CDs yourself (or download them via file-sharing) and mess with ID3 tags to get the info showing properly; while Apple's products gave you a complete solution that let you easily get the songs you want and have them automatically loaded onto your iPod.

A bare-bones dev board might have a million and one uses, but there are just too few people who are capable of making use of one, and even fewer who would choose one over others that offer a more complete solution.  I think this is the key to making USBug successful.  If you decide to go ahead and invest time and money into it, my advice to you is to think about what skills and experience (or connections) that you have that would allow you to make USBug a more complete solution for people, whether it's providing some extremely easy method of writing code, or add-on boards that give it functionality, or a whole application or platform that USBug is part of.  Teaming up with someone with complementary skills to you might make it easier, perhaps someone with mechanical design experience.

But definitely have fun, and learn from the experience.
Title: Re: USBug LPC1343 Development Board
Post by: ian on July 30, 2012, 12:21:38 pm
meseta may I please reproduce this in a post on the blog?
Title: Re: USBug LPC1343 Development Board
Post by: meseta on July 30, 2012, 07:46:17 pm
Sure.  Is there any chance you could mention the context in which I wrote the post?

I've fixed a couple of typos, might be more that I didn't spot.
Title: Re: USBug LPC1343 Development Board
Post by: ian on July 31, 2012, 11:25:30 am
Sure thing, thank you. We'll post it up, if the context isn't satisfactory please let me know.
Title: Re: USBug LPC1343 Development Board
Post by: meseta on August 01, 2012, 12:37:29 am
Yeah, that's great, thanks.
Title: Re: USBug LPC1343 Development Board
Post by: Rubi on October 14, 2012, 04:28:03 pm
Hi Squonk

Thank you very much for the pcbs, I just soldered one and it was really fun.
There are no hard to solder smd parts and it worked at the first try.
It is not a board for the smd beginner, but with some average smd skills, there should be no problems.

I made some changes f.e., used a BAR43C a 2.2uF tantal c, a micron MIC5205-3.3 and a different usb connector from which I had to cut of the position marks. I used those different parts mainly because I already had them. The usb connector you use is very strange, I never have seen one of these.Nevertheless I was able to buy the esd diodes from RS and I was lucky to have the necessary xtals at home.My buttons are 6mm long instead of 5 but they luckily fitted. So in the end there was no need to order from Digikey which is pretty expensive here in Austria.

The solder process was pure fun and the test file worked instantly.

Thank you very much for the pcbs, this was a real fun project.
I so much prefer empty pcbs and solder them myself.
Maybe to only sell the pcbs for the diy community could make the Usbug stand out over it's competitors.

Cheers
Rubi
Title: Re: USBug LPC1343 Development Board
Post by: Squonk on October 14, 2012, 09:13:27 pm
Thanks Rubi!

It's nice to get a feedback and see you really had fun soldering it!

Yes it is not for the faint-hearted, as there are some 0603 parts to solder, but nothing impossible with a soldering iron, like BGA or QFN chips. The fine pitch LPC chip is actually pretty easy to soldering using the "tack & reflow" technique with a flux pen.

The strange USB connector is coming from an old SparkFun EagleCad library I had, where a Hirose connector was used with pretty unusual position pins.

FYI, I set up the list of parts with the references both at Digi-Key and Farnell: it is in the github repository.

Yes, ordering from DigiKey in Europe really hurts, not because of the item price or shipping (it is free over 65 EUR), but because of the carrier that s....: the only option is to use UPS, which charges 34 EUR for a ridiculous "customs processing fee": they have strictly nothing to do, since DK already declared the custom code for each individual part! And these jerks are stupid enough to send the invoice directly to the business account corresponding to the shipping address (my company) instead of my home billing address, as it was specified! It was only after 2 invoices unsuccessfully sent to my company that they retrieved the correct address, and sent me a very bad letter with threats of bailiff... I paid them, of course, plus extra interests: 45.63 + 3.65 = 49.28 EUR to UPS, 9.72 EUR to Customs and 75.33 EUR to DK: 37% UPS, 7% Customs, 56% DK...

I wish DK had warehouses within the EEC, or they could provide another cheaper and less stupid carrier (like USPS) as an option.
Title: Re: USBug LPC1343 Development Board
Post by: andersm on October 15, 2012, 12:17:29 am
If they're an option, Farnell have a warehouse in the UK (RS also have one, but their prices always seem more expensive than the competition). Mouser ships from the US, but every time I've used them has been very painless, no extra fees or anything.
Title: Re: USBug LPC1343 Development Board
Post by: Squonk on October 25, 2012, 08:29:13 am
Yes, both Farnell and RS are the best options in Europe, and RS even provide a special website for hobbyists with VAT included (at least in France). I do not totally agree with your remark on their higher price: if you count in taxes and shipment, they are not far from what you get with Farnell in the end. I would say they complement.

Please understand that I do not complain against DK (apart from their limited carrier choice), the problem is with UPS and probably other international parcel services charging ridiculous amounts for electronic paperwork: at this tag point, this is just a hidden margin unrelated to the actual performance or real item value.

I fear that by using Mouser or any other US-based distributors, I fall into the same trap, as they probably use the same parcel services for worldwide delivery.
Title: Re: USBug LPC1343 Development Board
Post by: andersm on October 25, 2012, 12:08:00 pm
If you go to Mouser's Estimate Shipping page (http://http://www.mouser.com/EstimateShipping/EstimateShipping.aspx) you'll see that they offer the choice of UPS or FedEx, and the following:
Quote
FedEx - Incoterms: DDP (Duty and customs fees paid by Mouser).
UPS - Incoterms: DDP with VAT unpaid (VAT collected at the time of delivery).
Title: Re: USBug LPC1343 Development Board
Post by: Squonk on October 25, 2012, 02:06:12 pm
Thank you for the link!

I may try Mouser with FedEx, then, and avoid UPS as much as possible.

( ! ) Fatal error: Uncaught exception 'Elk_Exception' with message 'Please try again. If you come back to this error screen, report the error to an administrator.' in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
( ! ) Elk_Exception: Please try again. If you come back to this error screen, report the error to an administrator. in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
Call Stack
#TimeMemoryFunctionLocation
10.01522155664session_write_close ( )...(null):0
20.01552287256ElkArte\sources\subs\SessionHandler\DatabaseHandler->write( )...(null):0
30.01552288032Database_MySQL->query( ).../DatabaseHandler.php:119
40.05712426768Database_MySQL->error( ).../Db-mysql.class.php:273