Small footprint USB - Page 1
Forum section: electronics / general

author: technix
author_rank: Super Contributor
timestamp: September 14, 2017, 05:23:33 pm
content: What is your preferred small footprint, low pin count USB microcontroller? I am thinking about a gadget that can be controlled in my KVM tree and dims an IKEA USB-powered LED lamp. That means the thing needs only USB and a single PWM output. Please refrain from suggesting BGA, CSP or QFN parts.Candidates (you can add your own:)* PIC16F1455 in TSOP-14 or SO-14* ATmega16U2 in TQFP-32* STM32F042F6P6 in TSOP-20* Anything else?Edit:Some additional features I may or may not implement: a full synchronous rectifying buck front end to drive the LED lamp, and ADC feedback resistors for output voltage and current sensing. The intention is to implement digital feedback control to make the light output predictable and calibratable. Should I implement those features those components would be added regardless of MCU:* A SO-8 complimentary power MOSFET pair AO4606,* An 1210 power inductor,* A SOT-23-5 op amp LMV321,* Four 0603-size resistors,* One 1812 current sense resistor.

author: CM800
author_rank: Frequent Contributor
timestamp: September 14, 2017, 05:33:04 pm
content: I have used neither, but If I were to do something like what you are, it'd be this probibly:http://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32-mainstream-mcus/stm32f0-series/stm32f0x0-value-line/stm32f070f6.html

author: JPortici
author_rank: Super Contributor
timestamp: September 14, 2017, 06:04:35 pm
content: PIC16F1455-Crystal-less USB-5V or low voltage available-Available in 4.4mm TSSOP,soic or even PDIP (why not smaller packages if you want a small gadget?)-The microchip USB stack example for the 1455 compiles out of the box, take the project and add your own code-Microchip gives you a free PID for less than 10k units producedideally you'll just need the MCU, the usb port and whatever you need on the PWM side

author: wraper
author_rank: Unknown
timestamp: September 14, 2017, 06:30:34 pm
content: EFM8UB11F16G-QSOP24 (I use QFN variants)Has built in 5V->3,3V 100mA voltage regulator able to supply external load, crysrlal-less USB. Decent IDE with free full Keil compiler licence. Cheap dev boards and debug tools. Free VID/PID given on request.

author: JTR
author_rank: Regular Contributor
timestamp: September 14, 2017, 06:54:53 pm
content: I've been using the 16F145x parts but the ATMEL SAM D11 (32-bit ARM M0+) in 14-pins looks so tempting I am thinking of dumping the 16F145x family completely.

author: ataradov
author_rank: Super Contributor
timestamp: September 14, 2017, 11:25:44 pm
content: SAM D11 in 14-pin package for sure. I have lots of simple examples for that thing.

author: technix
author_rank: Super Contributor
timestamp: September 15, 2017, 12:59:16 am
content: Quote from: JTR on September 14, 2017, 06:54:53 pmQuote from: ataradov on September 14, 2017, 11:25:44 pmSAM D11 looks like unobtainium to me, hard to find on Taobao and expensive.

author: technix
author_rank: Super Contributor
timestamp: September 15, 2017, 01:00:25 am
content: Quote from: wraper on September 14, 2017, 06:30:34 pmDoes this thing have a TSOP or SOIC version?

author: ataradov
author_rank: Super Contributor
timestamp: September 15, 2017, 01:03:05 am
content: Quote from: technix on September 15, 2017, 12:59:16 amWell, it is <$1 on DigiKey. I know that there is probably some obscure Chinese MCU, which is even cheaper, but I'll take ARM over that any day of the week.

author: technix
author_rank: Super Contributor
timestamp: September 15, 2017, 01:14:08 am
content: Quote from: ataradov on September 15, 2017, 01:03:05 amMaybe I should look for this in some other vendors?Speaking of, how to write the lightweight USB stack?

author: ataradov
author_rank: Super Contributor
timestamp: September 15, 2017, 01:17:22 am
content: Quote from: technix on September 15, 2017, 01:14:08 amI'm sure there is a way to get SAM D11 in China. It is would be a huge fail on Atmel/Microchip part if there were not. But I doubt it will be Taobao or Aliexpress.You may have better luck finding ST chips on those sites, but I'm not familiar with their selection.Quote from: technix on September 15, 2017, 01:14:08 amHere is implementation of the VCP for D11, which is pretty slim -https://github.com/ataradov/vcp

author: JTR
author_rank: Regular Contributor
timestamp: September 15, 2017, 06:49:51 am
content: Quote from: ataradov on September 15, 2017, 01:17:22 amI've just ordered a ATSAMD11-XPRO dev kit from Arrow US for < AUD$37 and that included delivery via FED-EX, Wow! This is a great deal for those of us in Oz/NZ given the price others are asking.@ataradov I will look at your VCP implementation. Might be useful. Thanks for sharing.

author: wraper
author_rank: Unknown
timestamp: September 15, 2017, 08:40:06 am
content: Quote from: technix on September 15, 2017, 01:00:25 amQSOP24 (0.635mm pin pitch) is largest package available.

author: technix
author_rank: Super Contributor
timestamp: September 15, 2017, 11:22:42 am
content: Quote from: JTR on September 15, 2017, 06:49:51 amChina is a different story.

author: langwadt
author_rank: Super Contributor
timestamp: September 15, 2017, 11:43:32 am
content: Quote from: technix on September 14, 2017, 05:23:33 pmfor simple and stupid, attiny and v-usb?

author: wraper
author_rank: Unknown
timestamp: September 15, 2017, 01:14:15 pm
content: Quote from: langwadt on September 15, 2017, 11:43:32 amIt is an option but without any price advantage. Cheapest attiny + 3.3V vreg IC = EFM8 I suggested. Add a crystal and it becomes more expensive. Yes it can be hacked to adjust RC oscillator cal and run crystal-less but is a dubious option and I had bad experience with it. Also needs termination resistors.

author: NorthGuy
author_rank: Super Contributor
timestamp: September 15, 2017, 01:38:58 pm
content: Quote from: technix on September 14, 2017, 05:23:33 pmWhy? They have smaller footprint compared to SOIC or even SSOP. For DIY, soldering them is not difficult if you use reflow of even hot air. For outsourced assembly, it probably doesn't matter since they reflow everything.

author: dgtl
author_rank: Regular Contributor
timestamp: September 15, 2017, 07:26:28 pm
content: STM32F042 here as well.

author: technix
author_rank: Super Contributor
timestamp: September 16, 2017, 02:31:51 am
content: Quote from: NorthGuy on September 15, 2017, 01:38:58 pmI cannot solder them reliably or inspect them (at least for CSP and BGA) so no. QFN is borderline but soldering and inspection difficulty can still arise.

author: NorthGuy
author_rank: Super Contributor
timestamp: September 16, 2017, 02:42:33 pm
content: Quote from: technix on September 16, 2017, 02:31:51 amI think it would be more beneficial for you if you learned how to solder them instead of avoiding them. That's where the world is heading, so it'll be nothing else than these small packages somewhere in the near future.

author: technix
author_rank: Super Contributor
timestamp: September 16, 2017, 03:36:29 pm
content: Quote from: NorthGuy on September 16, 2017, 02:42:33 pmI don't think that low pin count BGA would become mainstream. It is a pain to layout, inspect and rework any kind of BGA. The pin density also means that it is necessary to use a 4 or more layers PCB as well as blind or buried vias to fan out the chip properly, both of which are expensive manufacturing processes. There are still a lot of low cost items out there, where even a double layer board can be borderline in the costs. (Hey I live in China, where a lot of those items are made. A 4-layer board is instantly 2x-4x more expensive than a 2-layer one and when you are building down a certain price point you have to stay away from those expensive PCBs.)

author: NorthGuy
author_rank: Super Contributor
timestamp: September 16, 2017, 04:22:41 pm
content: Quote from: technix on September 16, 2017, 03:36:29 pmYou do need layers to fan out bigger BGA, although it wouldn't be that hard to fan out most of the pin of mid-size BGAs e.g. 100-200 pins on 2-layer board. Small BGAs are not a problem at all.QFNs are superior to TQFPs or SSOPs because they take less space for the same die size all other things being equal.

author: nctnico
author_rank: Super Contributor
timestamp: September 16, 2017, 04:45:27 pm
content: Quote from: technix on September 16, 2017, 02:31:51 amQFN is easy to solder and inspect if you let the pads extend beyond the package and put untented vias in the centre pad.

author: technix
author_rank: Super Contributor
timestamp: September 16, 2017, 05:24:25 pm
content: Quote from: nctnico on September 16, 2017, 04:45:27 pmMaybe I will try this in the near future with a STM32F103TBU6 chip (fairly cheap in China - I don't mind destroying one or two) on a DIY CMSIS-DAP debug probe project (a lot of pins does not need to be fanned out.) I wonder if adding the thermal pad with untented vias would help both soldering and heat dissipation.

author: technix
author_rank: Super Contributor
timestamp: September 16, 2017, 05:29:07 pm
content: Quote from: NorthGuy on September 16, 2017, 04:22:41 pmDo you have any examples for fanning out a medium sized BGA with a 2-layer board? What is the pin pitch? Things like eMMC doesn't count as for all those pins only 10 or so needed to be fanned out and all the remaining pins are just GND's, VDD's or NC's.I don't find a lot of QFN packages that does not have a thermal pad. The thermal pad just prevents any routing from being done beneath the chip, forcing a lot more vias and fan out space being added around the chip, negating the benefit of the smaller physical package. For me I have a lot of QFP and SSOP packages that have a substantial amount of routing work beneath the chip, which cannot be converted to QFN without major rework increasing board size.

author: westfw
author_rank: Super Contributor
timestamp: September 16, 2017, 10:07:53 pm
content: QuoteReally? Got any hints? I tried laying out a breakout board for an LPC1102 (16pin 0.5mm BGA) and couldn't come anywhere close to getting it to work within the design rules of the usual 2-layer proto houses (6mil trace/space, 0.3mm drills) And some of the WSCP has even finer pitch. It might be neat if some of the lower-pin count BGAs had a much larger pitch, but that doesn't seem to be the case. Going to finer design rules multiplies the PCB cost by 6 or so... (not really fair, since the "relaxed" PCB specs are a "special", but still...) (going from 5mil/0.25mm to 4mil/0.2mm doubles price.)

author: langwadt
author_rank: Super Contributor
timestamp: September 16, 2017, 11:23:56 pm
content: Quote from: wraper on September 15, 2017, 01:14:15 pmfor one of it'll be hard tt beat the price of something like thishttp://www.ebay.co.uk/itm/302439819311

author: NorthGuy
author_rank: Super Contributor
timestamp: September 17, 2017, 12:36:04 am
content: Quote from: technix on September 16, 2017, 05:29:07 pmI recently made a board for PIC32MZ DA. It is 169-pin BGA with 0.8mm pitch. I used 4-layer board, but not because I needed layers, but because I needed better tolerances - OSHPark has 5mil traces on 4-layer and 6mil on 2-layer. 6mil wasn't enough. Two of the layers have gone unused - I made a power layer and a ground layer, but I didn't really needed them. I used all pins. Perhaps, if I had 2-layer board, I would have to leave some of the pins unconnected to give room for ground and power lines.The pitch is a different story. 0.5mm BGA pitch is very hard. I looked at TI power regulator TPS62180 for an FPGA board. It is 0.5mm BGA. 6A! Many pins are combined, so may be I could've fan it out, but I decided it is too much for me and went with QFN.

author: langwadt
author_rank: Super Contributor
timestamp: September 17, 2017, 12:58:30 pm
content: Quote from: NorthGuy on September 17, 2017, 12:36:04 amthere's a layout example in the datasheet, doesn't look like it would be much of a problem

author: krho
author_rank: Regular Contributor
timestamp: September 17, 2017, 03:41:54 pm
content: Quote from: NorthGuy on September 16, 2017, 04:22:41 pmI would also like to know how you would fan out the STM32F4's UFBGA100 package. on e.g 4 layers without blind/buried vias or even via in pad. with normal process not 3.5/3.5mil and 0.2mm holes

author: NorthGuy
author_rank: Super Contributor
timestamp: September 17, 2017, 06:03:29 pm
content: Quote from: krho on September 17, 2017, 03:41:54 pmObviously, if your minimum trace width is not small enough to put the trace between vias, you cannot do this. Similarly, if you minimum drill with annular ring isn't big enough to fit between ball pads, you must put your vias into ball pads. However, this has nothing to do with the number of layers. Given thin enough traces/drills you certainly can fan it out on 2-layer board.Of course, with 0.4/0.5 mm pitch you need thinner traces, which will be expensive. But if the process to fan out 0.4mm BGA is to expensive for you, it doesn't mean you're stuck with DIPs and SOICs. For 1.0mm pitch this is not a problem, and 0.8mm pitch is still fine with dog-bones and 5mil traces.

author: technix
author_rank: Super Contributor
timestamp: September 18, 2017, 01:30:42 am
content: Quote from: NorthGuy on September 17, 2017, 06:03:29 pmDo you have an example of this?

author: NorthGuy
author_rank: Super Contributor
timestamp: September 18, 2017, 04:16:10 am
content: Quote from: technix on September 18, 2017, 01:30:42 amI've attached a picture of how this may look. This particular one is 0.8mm pitch. I'm sure if you look for some sort of BGA fan-out guides on the Internet, there must be many in great details.

author: JPortici
author_rank: Super Contributor
timestamp: September 18, 2017, 09:32:36 am
content: which is more than ordering a reel from microchip direct or digikey (unless they charge more in china for some obscure reason)according to google 7 RMB = 0.89 EURSOIC 14 pin, Industrial temperature rangehttp://www.microchipdirect.com/ProductSearch.aspx?Keywords=ATSAMD11C14A-SSUT100-1000 0.80 EUR1000-5000 0.74 EUR5000+ 0.70 EURand this one, extended temperature range, costs even less on digikey!!! (WTF?)https://www.digikey.it/product-detail/it/ATSAMD11C14A-SSNT/1611-ATSAMD11C14A-SSNTCT-ND/6832729?curr=it&WT.z_cid=ref_octopart_dkc_buynow&site=usSOIC 20 pin, Industrial temperature rangehttp://www.microchipdirect.com/ProductSearch.aspx?keywords=ATSAMD11D14A-SSUT&utm_source=octopart&utm_medium=cpc&utm_campaign=buynow100-1000 0.88 EUR1000-5000 0.80 EUR5000+ 0.77 EURQFN, Industrial Temperature rangehttp://www.microchipdirect.com/ProductSearch.aspx?Keywords=ATSAMD11D14A-MUT100-1000 0.92 EUR1000-5000 0.84 EUR5000+ 0.80 EUR

author: technix
author_rank: Super Contributor
timestamp: September 18, 2017, 11:45:54 am
content: Quote from: JPortici on September 18, 2017, 09:32:36 amShipping takes forever though.

author: NorthGuy
author_rank: Super Contributor
timestamp: September 18, 2017, 04:30:46 pm
content: Quote from: technix on September 18, 2017, 11:45:54 amNot necessarily. MicrochipDirect ships from Thailand (PIC orders anyway). It is 4-5 days to Canada. Must be much faster to China.

author: JTR
author_rank: Regular Contributor
timestamp: September 18, 2017, 05:27:46 pm
content: Quote from: JTR on September 15, 2017, 06:49:51 amWow! I ordered Friday night Australian time and it arrived Monday morning. That is just insane especially when you consider the shipping was free! Big shout out to Arrow.

author: JPortici
author_rank: Super Contributor
timestamp: September 18, 2017, 11:03:57 pm
content: Yeah, please can you explain why it would take forever?

author: technix
author_rank: Super Contributor
timestamp: September 19, 2017, 11:05:59 am
content: Quote from: JPortici on September 18, 2017, 11:03:57 pmChinese Customs.

author: JTR
author_rank: Regular Contributor
timestamp: September 19, 2017, 03:58:58 pm
content: Quote from: JPortici on September 18, 2017, 11:03:57 pmNow that is exactly what I want to say to some suppliers.That is a nice segway to another possible Small footprint, crystal-less micro the PIC32MM 'GPM' series. (Come on Microchip, send the dev kit already!)http://www.microchip.com/design-centers/32-bit/architecture/pic32mm-familyUnfortunately not available in a DIP package but 28-pin SSOP footprints are not difficult to solder if you use FLUX and SMD to DIP 600 mil adapter boards are cheap as chips on ebay and aliexpress.If starting from scratch I would still prefer the SAMD over this family but if you are already using microchip stuff and know it then it this is a good option.

author: funkathustra
author_rank: Regular Contributor
timestamp: September 22, 2017, 01:36:25 am
content: The EFM8UB1 is available in a QSSOP or QFN package (EFM8UB11 for the QSOP, EFM8UB10 for the QFN).It's extremely low-cost, and readily available in China (my China board houses have no problem getting them for <10 yuan in small volume).It's a fantastic part and can be flashed and debugged using a $35 SiLabs USB Debug Adapter, or its $10 clones (search on Taobao for either).Simplicity Studio, the IDE, is Eclipse-based and completely free. It runs well on Windows, macOS, and Linux. Includes a full, free license to Keil C51 (the 8051 C compiler).The GUI code generator tool built-in (called Simplicity Configurator) has support for all the peripherals, as well as the USB stack, so it's completely seamless. Really nice property-pane configuration of all the endpoints and descriptors that makes the whole thing a breeze. Silicon Labs also has a USBXpress library that basically gives you a "black box" solution for exchanging byte arrays with a computer --- they provide the library on the part, the USB driver, and a DLL you can call into. It's super easy to use, but obviously has some limitations inherent to its design.I honestly have no idea why people fuck around with trying to make ancient ATtiny microcontrollers and other AVR parts emulate USB with weird external zener clamp diodes and a bit-banged stack for low-speed, 1.1 operation. It would be one thing if those parts were, liketen times cheaperthan the USB-equipped MCUs, but they're actually oftenmore expensive. Ridiculous.The Atmel SAM D11 has USB, but the only small packages it comes in is QFN, which the OP rejected (I disagree with that, as I have no issues hand-soldering them with a hot plate, hot air gun, or reflow oven, but whatever). Be sure to verify this, but if I remember correctly, it's got the same business as the other Atmel USB chips have: external crystal required, external pull-up resistors, external series resistors, blah blah blah.Atmel START is pretty clunky compared to Simplicity Configurator, and it doesn't seem to have any GUI for configuring USB descriptors or endpoints.The PIC16F1454 comes in a TSSOP package, and Microchip Code Configurator has some basic support for the MLA USB stack, but I think they only supported a single endpoint last I checked. No control over polling vs async callbacks, etc. The MCU itself isn't bad, though (crystal-less, attached directly to the USB pins with no external pull-ups or anything, built-in 3.3V regulator). And Microchip has lots of demos in their MLA library. The PIC32MM has some USB support, too, and it's going to be the same deal.I don't have time to mess around with crappy dev tools anymore — especially on small-run projects and prototypes. Stick the Silicon Labs stuff — you'll save yourself a world of hurt.

author: technix
author_rank: Super Contributor
timestamp: September 22, 2017, 11:27:30 am
content: Quote from: funkathustra on September 22, 2017, 01:36:25 amDoes this stack work under macOS or Linux?

author: funkathustra
author_rank: Regular Contributor
timestamp: September 22, 2017, 09:08:27 pm
content: Quote from: technix on September 22, 2017, 11:27:30 amIf you're asking about the USB firmware stack, yes you can develop EFM8 firmware inside of Linux (using Simplicity Studio, which is cross-platform)If you're asking if the "USBXpress" package — which is a do-everything-for-you-black-box — works in Linux, the answer is "yes, if you know what you're doing." The main thing that USBXpress does is provide a frictionless Windows development experience; developers get a DLL file they can easily call into from C++ or .NET, and all the drivers are handled for them (that's the big issue on Windows, until Microsoft came up with WinUSB). In Linux, a properly-permissioned user can open any arbitrary device with libusb, and start exchanging data with it. Since USBXpress is just a single bulk I/O endpoint set, with no data encoding, you should be able to easily use it. But it's not much harder to just use full USB stack, too, and that gives you flexibility to develop for an HID device, or have multiple endpoints, etc.It sounds like you might be new to USB. You should learn about device classes and types of endpoints before you dig into the weeds too much. Keep in mind that you're going to have to do some host-side software development (Windows, Linux, macOS... whatever your computers are connected to your KVM) — a lot of embedded devs don't necessarily realize that when they get started.For your PWM LED gadget, you'll probably do either an HID device, or a vendor device (class code 0xFF) with a bulk-I/O endpoint.HIDAPIis one such library that provides a cross-platform API you can use to talk to an HID device; if you do a vendor-class device, you'll probably be using WinUSB on Windows, and direct LibUSB calls on Linux.There are important technical differences between HID (which is limited to a single, 64-byte interrupt endpoint that's polled once every millisecond) and bulk devices (which can spit out a lot more data), but for your application, either will work.Shameless plug:I'm currently getting ready to launch an open-source project, called Treehopper (https://treehopper.io), that would basically be a plug-and-play solution to your problem. It's essentially a "black box" development board with analog, digital I/O, PWM, UART, SPI, and I2C interfaces, and you can talk to it from Windows, Linux, and macOS using .NET (C#), Java, or C++. The firmware running on the boards essentially listens to commands from the computer to toggle pins, collect ADC readings, send/receive bytes through the comms interfaces, or change PWM duty cycles. In this way, you can build software on your computer that can interact with physical hardware, and you won't need to do any embedded programming at all.If you used Treehopper for your project, you'd essentially write a computer program that did this:Code:var board = await ConnectionService.Instance.GetFirstDeviceAsync(); // get the first board out thereawait board.ConnectAsync();board.Pwm1.Enabled = true; // start PWM1 outputboard.Pwm1.DutyCycle = 0.7; // turn the LED to 70%While they're still a month or two away from being available on Amazon, I have a few prototypes kicking around that I'd be more than willing to ship to you if you're interested in beta-testing them. Just send me a PM with your address and I'll get something in the mail to you!Treehopper is great for software-oriented people new to hardware development, or for engineers or hobbyists who want to get stuff working quickly. However, it completely hides all the USB implementation details, so if you're interested in learning this stuff, I'd stick to bare-metal development on the Silicon Labs EFM8UB1 line of MCUs.

author: JTR
author_rank: Regular Contributor
timestamp: September 22, 2017, 10:27:35 pm
content: Quote from: funkathustra on September 22, 2017, 01:36:25 amYou might want to check the data sheet. On the first point you are incorrect but I suspect you made a typo with the rest. It comes in 14 & 20-pin SOIC and does NOT require an external crystal for FULL-SPEED USB device mode nor does it require external pull-ups etc.

author: funkathustra
author_rank: Regular Contributor
timestamp: September 23, 2017, 01:02:19 am
content: Quote from: JTR on September 22, 2017, 10:27:35 pmI wouldnotconsider a 14 or 20-pin SOIC a "small package" as the OP asked — but I suppose that's up for debate. I guess to me, 4x4mm is about the cut-off for what I would consider "small"You're totally right about the other points, though. Unlike all the other Atmel parts, the new SAM D11 has clock recovery and internal resistors, so you won't need external components. Thanks for the correction.I still think you're going to run into more development friction than with the Silicon Labs parts when it comes to the USB stack, simply because how simple it is to use Simplicity Studio to configure everything.

author: technix
author_rank: Super Contributor
timestamp: September 25, 2017, 05:24:04 pm
content: Quote from: funkathustra on September 23, 2017, 01:02:19 amFor me "small" have a threefold meaning: small physical size, small board size and cheap. BGA and CSP are immediately out because of the "cheap" metric for fanning them out immediately requires a 4-layer board which is 2x-5x more expensive. QFN is shaky as it can give me routing difficulties on dual layer small boards since I cannot put traces on the bottom of the chip (and when untented vias are involved even the back side is occupied by the QFN.) All three packages can give me difficulties in inspecting too.How would SiLabs parts fare without Simplicity Studio? Or can Simplicity Studio work under macOS or Linux? What kind of debug probe is required here?And I am very uncomfortable with Keil C51 (and ARMCC v5, ARMCC v6 does not count for it is based on LLVM/clang) since it is not even C99 feature complete (while all my code is have almost completely converted to C11/C++14, which my usual compilers, GCC and LLVM/clang accepts.)

author: funkathustra
author_rank: Regular Contributor
timestamp: September 25, 2017, 06:05:19 pm
content: Quote from: technix on September 25, 2017, 05:24:04 pmSiLabs header files use compiler-agnostic #defines for everything, purposely to allow developing with different compilers. If you're looking for a FOSS route, try SDCC. Never used it myself, though.Quote from: technix on September 25, 2017, 05:24:04 pmYes, as I've mentioned (now twice...) Simplicity Studio is fully cross-compatible with macOS and Linux. The official Silicon Labs debug probe is called the USB Debug Adapter; it's $35. There are several clones.However, Simplicity Studio also has full support for regular old Segger J-Link probes (which is awesome! you can use your ARM tools for EFM8 development). I routinely go back and forth between both of them. Note that with J-Link, you have to manually specify the attached target to Simplicity Studio; with USB Debug Adapters, this is automatic. Flash speed on J-Link is faster, but not noticeably so.You can program them in Keil uVision, too, but obviously that's Windows-only. Because Simplicity Studio is Eclipse-based, obviously the GUI is "native" in all three platforms. Under the hood, SiLabs spent a *lot* of time building nice installers that prepackages an internal WINE system to call the command-line C51 tools (yes, you get a full version of Keil C51 for free when you download Simplicity Studio).Quote from: technix on September 25, 2017, 05:24:04 pmYup, that's the thing that sucks about Keil C51. Not because of its lack of C11 support, but because it's a bizarre compiler. But honestly, it doesn't seem to affect my productivity much. The biggest trap for newbies is all the reserved words; I spent a good 20 minutes trying to figure out why "uint8_t data = 5;" wouldn't compile (it threw weird error messages), until I realized that "data" is a reserved word. Now my "data" variables are named "datuh" or "dater" or "dayta" etcAs for C99 / C11, for small embedded projects, the biggest language feature I see from C90 to C99 is declaring variables inside loop constructs, honestly. And maybe variadic macros. Everything else is either widely supported already (stdint, one-line comments), or probably not relevant (or good) for embedded programming (VLAs, restrict pointers, flexible array members). Again, this stuff is awesome when I'm building big embedded projects (networking stacks are great to implement in C99/C11), but not on little 8051 projects, in my opinion.

author: technix
author_rank: Super Contributor
timestamp: September 26, 2017, 07:39:06 am
content: Quote from: funkathustra on September 25, 2017, 06:05:19 pmIt is good to know that my existing tools can work with EFM8. I might get some parts or a dev kit to try it out.QSOP24 is still a bit larger than the TSSOP20 STM32F042F6 though...I wonder if I can steal the copy of full Keil C51 for another vendor’s chip, for which they don’t even have headers for any other compiler?Quote from: funkathustra on September 25, 2017, 06:05:19 pmThere is a reason why GCC folks (and LLVM/clang, and to some extent MSVC) introduced the __attribute__ keyword, so those features wont hog up the entire identifier namespace. I definitely prefer “__attribute__((section(“.data”)))” with “-fmemory-large” over Keil’s approach.The GCC __attribute__ is seeping into standards, like the [] syntax in C++14.Quote from: funkathustra on September 25, 2017, 06:05:19 pm

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: September 26, 2017, 07:44:37 am
content: Quote from: NorthGuy on September 16, 2017, 04:22:41 pmAnd you don't get bent pins, or solder wicking between pins. If you can avoid soldering the die pad (i.e. device doesn't require it for heat) that makes rework a lot easier. As long as you extend the pads outside the outline, it's no harder to hand-work with than QFP

author: technix
author_rank: Super Contributor
timestamp: September 26, 2017, 01:06:37 pm
content: Quote from: mikeselectricstuff on September 26, 2017, 07:44:37 amA recent (company) project used a lot of QFN's. The failure rate is scratching my boundry. And that is a power package that requires the die pad to be soldered and via stitched.

author: funkathustra
author_rank: Regular Contributor
timestamp: September 26, 2017, 05:10:31 pm
content: Quote from: technix on September 26, 2017, 07:39:06 amDon't forget the 3.3V regulator you'll need with the ST part that you won't need with the EFM8 when figuring sizes...

author: technix
author_rank: Super Contributor
timestamp: September 26, 2017, 05:26:48 pm
content: Quote from: funkathustra on September 26, 2017, 05:10:31 pmI am semi persuaded here. Simplicity Studio does work under macOS. J-Link v9 probably will work even with debugging 8051-based chips over SWD (C2D? The signals matches ARM SWD though, and I will very likely keep using the CoreSight pinout even for 8051 since I have already built the ARM 20-pin to CoreSight 10-pin adapter) Now where can I find the chip...?(P.s. How to get it to use the copy of much newer ARM GCC 6.1 toolchain I installed myself for use with Eclipse instead of the shipped GCC 4.9?)

author: funkathustra
author_rank: Regular Contributor
timestamp: September 26, 2017, 06:20:47 pm
content: Quote from: technix on September 26, 2017, 05:26:48 pmYeah, C2D is different than SWD; SiLabs worked with Segger to add support to J-Link. Works on the command-line and from within Simplicity Studio.Quote from: technix on September 26, 2017, 05:26:48 pmYou're in China, right? I'm in the states, so I don't have access to the Shenzhen markets — my closest option is Taobao. I briefly looked andfound some EFM8UB11F16G chips, but I don't see any completed transactions (in my Taobao experience, that's not a good sign). However, it's worth a shot?Arrow Asia? My Arrow site showsplenty in stock.You can go through Burnon, EDOM Tech, WT Microelectronics, etc if you want a traditional distributor route.Newark/Element14/Farnell? They've got a pretty big set-up in HK/China, right? They're not really an SiLabs distributor, but itlooks like they can order the part for you.For what it's worth, the official distributor with the SiLabs linecard is Symmetry Electronics, and they generally have the best pricing, too. They should have no problem shipping to China (no clue on cost, though).Here's the product page for the EFM8UB11F16G.Quote from: technix on September 26, 2017, 05:26:48 pmWhat does ARM GCC have to do with the EFM8 / 8051 microcontrollers?Oh, are you talking about doing EFM32 ARM Cortex-M0 development in Simplicity Studio, too? You should be able to make a new toolchain configuration to support that. Leave a message on theSimplicity Studio section of the SiLabs Forums. The SiLabs guys are really helpful, and don't mind helping people "hack" their tools a bit (one employee helped me install all the SiLabs-specific stuff into a stock Eclipse installation --- definitely not intended to be a supported procedure).

author: technix
author_rank: Super Contributor
timestamp: September 26, 2017, 07:31:22 pm
content: Quote from: funkathustra on September 26, 2017, 06:20:47 pmI am in Shanghai so no Shenzhen market either. The listings on Taobao does not look good to me (I just won’t trust zero sales listings without an actual picture of the part) and on a major Chinese distributor website the entire EFM8 line is nowhere to be seen.The same for ATSAMD11: nowhere trustworthy to be seen in China. I am even thinking about using CH340T (a SSOP20 variant of the CH340B/C/G that have an active high output pin indicating USB enumeration status) and an STC 8051 chip (that can be reset by CH340T upon USB reenumeration.)

author: funkathustra
author_rank: Regular Contributor
timestamp: September 26, 2017, 08:13:13 pm
content: Quote from: technix on September 26, 2017, 07:31:22 pmAren't you just building a one-off product? I can drop a few EFM8UB11s in an envelop and mail them to you. Seriously, no big deal.Quote from: technix on September 26, 2017, 07:31:22 pmWhat do you need the CH340T for? Doesn't the STC8 have a USB interface? Or is that only for programming? The STC8 only has a Chinese datasheet, so I'm sort of in the dark. Can you read Chinese? Wasn't sure if you were an expatriate or a local nativeActually, now that I think about it, since you're in China, maybe look at some of the semiconductors originating in the Chinese/Taiwanese markets? Check out theHoltek HT66FB542? 24-pin SSOP package (just make sure to get the proper OCD version for development). I've had good luck buying Holtek stuff on Taobao, but I'm sure you can find it locally, too, as they have good China distribution — at least in Shenzhen (no clue about Shanghai, though). A lot of the Chinese/Taiwanese chips I've used with USB are pretty special-purpose (like for web cams, or whatever), but there should be some general-purpose stuff out there.Do you have access to Microchip parts? Obviously the PIC16F1454 is a classic choice. I've used that part in a ton of designs.Otherwise, the STM32F042F4 is a safe bet, and you should be able to buy that just about everywhere (I bet they even have Mars distributors). I'd really look for something with an integrated LDO, though.Also, as I said, my offer to send you aTreehopperor two is still on the table. If anything else, you could use it as an EFM8 dev board.