SImplest external circuit for mbed powered processor

25 Sep 2014

Hi,

I'm building a mushroom incubator as a product for my new company using the mbed as a controller:

https://www.noisyatom.com/images/mushroom_heater.jpg

The prototype is working with a classic NXP1768 mbed for the CPU

I don't really need this as all I'm driving is a DS18B20, a relay, some buttons, and a chain of 74HC595s

I was going to switch to using an Atmel ATMega328p-AU because it is cheap and the external circuit is very simple (one 16mhz XTAL, two 22pf caps, an ICSP header).

But I started doing this, and well, I think the mbed API is much nicer and want to continue using it. I'm using GCC at the minute, and the workflow is very simple and straightforward, which is what I want for such a simple device.

I'm using kicad to make a PCB for the first time and so I don't want things to get too complicated at this stage as I've never made a PCB before.

Which mbed device has the simplest possible external circuit?

Is there anything comparable to the Atmel chips that just use an external chip and that's about it (actually at lower clock cycles this can be omitted too)?

What would you recommend?

Do you have some simple schematics you can share?

Regards

Ashley

P.S. I'm using FreeBSD and Linux so I need workflows that work for this.

25 Sep 2014

There are some relevant pages regarding this. For example: http://mbed.org/users/chris/notebook/prototype-to-hardware/ and https://mbed.org/cookbook/Prototype-To-Hardware-KL25Z

Some general notes: every mbed target can run with only decoupling capacitors, programming header, and probably a pull resistor on the reset input, so exactly the same as for example an Atmega. They can have more power pins, which means more decoupling capacitors. Only for USB most of them need a crystal. But in contrast to an Atmega, these all have internal PLLs: They can upconvert their internal oscillator frequency, so you don't need a crystal to run at max speed. Programming them can often be done by connecting some wires from the dev board (not on the original mbed LPC1768, but all Freescale, STM and many new NXP ones do allow for it), or by an internal bootloader (all NXP ones afaik can be programmed via their UART with just three wires: RX, TX and GND).

For your requirements I would take a small M0 microcontroller, since anything else just means more pins to solder and more expensive. For an example of a simple schematic, there is the mbuino: https://mbed.org/platforms/Outrageous-Circuits-mBuino/ (although also there you could remove most of it and it would still work).

If you want a DIP package the choice is easy: https://mbed.org/platforms/LPC1114FN28/. Outside of DIP something like the LP812 (also available in DIP, but then you really lack memory) or the KL05. STM probably also has something suitable in their lineup. Larger of course is also possible. But I don't think for example a KL25 has many advantages for you compared to a KL05. (Both of these by default run from a crystal, but the source code can very easily be changed to run from the internal oscillator). The LP11u24 would be the best choice if you want to keep the option open for users to upload new firmware (although in this example I don't think it would be required). Since they have integrated USB bootloader.

26 Sep 2014

Thanks for the response Erik.

I was looking at the LPC11U24 on the mBuino as I backed the kickstarter.

I'll investigate using that further, thanks for the links.

Ashley