Looking for a CPU/MCU & Dev kit for a project - Page 1
Forum section: electronics / projects

author: roli
author_rank: Regular Contributor
timestamp: June 17, 2015, 10:43:29 pm
content: Hi there!I need some advice about a project that I am thinking of. Basically I am making a linux powered home automation system and I am searching for the main part.I've done quite a bit of home automation projects in the past. And I am always moving forward. From simple arduino stuff, to arduino on a custom PCB to a standalone ARM powered MCU with Wifi and everything. My next step is getting rid of the need to write almost everything from a web server to a GUI library by hand. Basically - I need something running linux.My technical needs? Can run linux and a graphics library like Qt. Some sort of modern display connector (DSI or something parallel) would be preferable but I can make do with small SPI LCDs. At least one UART and SPI. USB host capability so I can add stuff like wifi the cheap way.Now to the more problematic side of things - I want the thing to be pretty easily transferable to a PCB. Even more problematic - that PCB will need to be assembled at home. This is a small student project - nothing fancy. This makes usage of BGA parts really problematic. While BGAs can be soldered at home would rather not do it. And elecrow that I am using as my PCB manufacturer these days really doesn't have the ability to handle BGA parts (spacing and drill size issues) for their basic service. They do offer a premium service but I am kind of afraid to know what their quoted price would be. I need to manufacture about 5 boards all together. And I am not willing to pay more than 100€ for that.I have found some possible solutions. Something like System On Module things - like the Raspberry compute module. Or ACME Systems Arietta (http://www.acmesystems.it/arietta). Those have the benefit of just popping the module into a simple 2 layer board. On the other hand these modules aren't that cheap and I would really like my own PCB solution. Which is why I am looking into more open source projects that I can adapt into my own PCB.The Arietta SOM has schematic online, uses a bit older chip and is really simple in construction. Very little extra components and everything. So it could be easily transfered to a custom board. It would be my dream choice - if the chip wasn't BGA only. And it doesn't have a dedicated LCD controller which is a bummer but as I said - not a deal breaker.Then you have the Olimex OLinuXino - either those based on the old imx233 or the ones based on the Allwinner A13. Both QFP which is awesome. Also open source and everything. But I've heard some bad things about Olimex and support for their projects. The imx233 ones are similar to the above ACME Arietta. On the other hand the A13s are much more powerful and have an external LCD connector and are basically what I am looking for. But... The A13 chips are also hard to get anywhere in low quantities (besides Olimex - which luckily sells them), they do need a bit more external stuff to work and have basically zero documentation anywhere. They are also fast and use DDR3 RAM which could be problem when designing a PCB - for someone that has never even used an external RAM on his own PCB design.Any advice on this will be appreciated.

author: tonyarkles
author_rank: Regular Contributor
timestamp: June 17, 2015, 10:47:49 pm
content: I'm not near my notes, but this is something I've thought about a bunch too. I haven't gotten to the point of doing a layout yet, but I'm pretty sure that Atmel makes a slower ARM9 QFP that could probably be hand-soldered, although I'm not too sure about 2-layer. Worth taking a look on digikey for the slower speed ARM chips.

author: BennVenn
author_rank: Regular Contributor
timestamp: June 18, 2015, 12:24:04 am
content: Take a look at the WR703?I'm using this to control batches of relays via a website. Has usb and is all opensource. You can add as many usb peripherals as you like, lcd's etc...cheap too.

author: ale500
author_rank: Frequent Contributor
timestamp: June 18, 2015, 05:03:49 am
content: I got also a G25 based module+display a couple years ago, sits in a box since then, I paid like 160 € for it. Those 400 MHz ARM processors are quite capable. I also got one based on the now defunct AVR32-AP7000, Atmel discontinued the AVR32 Applications processor, no idea why. Those could also run full linux but at like 200 MIPS. I'd go with a ready module anyways, why ? don't waste time (what you can't buy) on non critical portions of your design. Does it cost 50 bucks a module ? ok, well you can't design build and test a module in 2-5 hs, can you ? I also can't. Replace it with something of your own when the project is a bit more advanced if needed... Something like a Banana Pi, or EagleBone or even an original RPI, they go for like 30 bucks...Atmel still has some ARM9-based MCUs in TQFP packages, someone on the mikrocontroller.net formus (in German) even got it working on a single-sided board. Not bad... they go up to like 180 Mhz.I just checked, you said those Arietta are expensive... they are 25 $ !!!, 25 is the time you spent researching for alternative, if it has enough pins for you.Have fun

author: roli
author_rank: Regular Contributor
timestamp: June 18, 2015, 10:31:28 am
content: Arietta boards cost about 60€ with delivery and tax. That's a bit more than 25$. I tend to look at the final price. I did order one for testing. So we will see how that goes.And I am not limited to two layer boards. 4 layer boards are cheap enough. It's really the BGA parts that bother me.Besides... building a board with such devices could be a nice learning experience as well. I want to learn to design more complex boards. So I could treat that as an added value.I am quite seriously thinking about the Allwinner A13 ones from Olimex -https://www.olimex.com/Products/SOM/A13/A13-SOM-512/A powerful SoC in QFP package. Can be used as SOM or as something that you integrate into your own design since it's open source. And they are pretty cheap as well. Definitely cheaper than Arietta boards.

author: suicidaleggroll
author_rank: Super Contributor
timestamp: June 18, 2015, 03:58:11 pm
content: How about the i.mx233? QFP package, can run full Linux, and the board need not be any more complicated than providing power, some external RAM, and some flash/MMC.See the post by DSliwa for a dead simple 2-layer example:http://forums.hackaday.com/viewtopic.php?f=8&t=154

author: bson
author_rank: Unknown
timestamp: June 18, 2015, 04:59:05 pm
content: Quote from: roli on June 17, 2015, 10:43:29 pmBe aware of the resources needed to run Linux. It's too big to run out of a couple of MB of on-chip NOR flash - that's where the boot loader ends up. So it needs an external boot volume in NAND flash. It also needs enough RAM to hold the entire running system - enter DRAM/SDRAM. Because it runs out of DRAM you need a DRAM controller, cache (or it will be unusably slow) - ideally separate I/D caches on separate buses even if they funnel to the same bus controller. With caches you get complexity like a write queue and memory barriers/stalls, which can make execution non-deterministic. Some Linux software requires an MMU - a PTE map is required to support mmap(). While the kernel brings a lot of usefulness - USB (both ehci/xhci), TCP/IP, graphics drivers, and so on - it also brings lots of pro-forma overhead. If you want to sample an ADC on a timer interrupt for instance you have to roll a .ko for it. If you have multiple interfaces, say a netfilter on the forwarding hook and it needs to operate based on data collected by a driver or other kernel module, you'll need a daemon to tie it together, and even more pro-forma in the shape of ioctl's or custom syscalls (been there, done that - not recommended). Linux vs something more lightweight is the difference between a $100 BOM vs a $10 BOM; something worth paying for only if you need it, or if you're fitting into a system that already runs Linux (say, a modern TV set) and you can simply hand the mfg an rpm or tarball to bundle.

author: roli
author_rank: Regular Contributor
timestamp: June 18, 2015, 09:06:41 pm
content: Quote from: suicidaleggroll on June 18, 2015, 03:58:11 pmThat's nice! I was considering the imx233 before - see my above posts. But the fact that it can nicely fit onto a two layer board is really appealing. Plus it does actually have an LCD interface in there - which I didn't know.Quote from: bson on June 18, 2015, 04:59:05 pmWell I know the basics of Linux system calls and kernel modules. That's not very problematic.And I am aware of the issues surrounding the hardware complexity as well. But I am looking at linux boards because my target application needs more communication/user interfacing than it does external hardware usage. I need some buttons, LED or two and that's about it. And a screen of some sort. And a UART + USB.A micro platform is much easier for hooking up sensors and everything. But as soon as you need a web server and some more advanced graphics it becomes just too limited and a fully fledged linux becomes a better choice. At least in my opinion of course. But I still want a cheap solution.

author: roli
author_rank: Regular Contributor
timestamp: June 18, 2015, 09:53:45 pm
content: Actually I have thought about it some more and decided... to test all of them.I ordered the Allwinner A13 SOM and an i.mx233 board from Olimex. And of course the ACME Arietta arrived today. So I will try all three of them and see which one I like better. The Arietta is sadly pretty much out of the question because of BGA parts - unless someone know a cheap PCB fab that can do a board that will support a BGA package.I am throwing way too much money out of the window for this.