There are plenty of tiny and compact Arm Linux SBC on the market from NanoPi NEO to Raspberry Pi Zero or Rock Pi S. But Daniel Palmer has been able to design an even smaller board – BreadBee – based on MStar MSC313E Cortex-A7 SoC since the processor also embeds 64MB RAM, or enough to run embedded Linux.BreadBee specifications:
- SoC – MStar MSC313E Arm Cortex-A7 processor @ ~1.0 GHz with NEON, FPU, 64MB DDR2
- Storage – 16MB SPI NOR flash
- Networking – 10/100M Ethernet (RJ45)
- USB – 1x Micro USB 2.0 port
- Expansion
- 24-pin dual-row header (2.54mm pitch) with SPI, I2C, 4x 10-bit ADC, 3x UART, GPIOs
- 21-pin header (1.27mm pitch) with SD/SDIO, USB 2.0, GPIOs
- Misc – RTC, Watchdog timer
- Power Supply – 5V via micro USB port
- Dimensions – 32 x 30mm
Despite MStar MSC313E being a camera processor, the camera interface does not seem exposed in the board, so it looks to be designed to control I/Os over Ethernet. There’s no WiFi for now, but there may eventually be a future model that replaced the Ethernet jack with an Ampak WiFi module.
Daniel also considered the similar Allwinner V3s processor, but the single SPI interface would have been utilized by NOR flash, and MSC313E has multiple SPI interfaces. He ported Linux 5.3 to the board with most features working, but still several requiring more work including the MUSB USB device controller, H.264 encoder, Audio ADC/DAC, and Crypto engine among others. The hardware has been designed in KiCad, and you’ll find hardware resources files, a project log, and links to U-Boot, Linux, and Buildroot repositories on Github.
BreadBee board will soon be launched on Crowd Supply, and the cost to make the board is said to be around $10 in small quantities. I think Daniel is a regular reader and commenter on CNX Software and may be able to answer any questions here.
Via Hackster
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
> There’s no Ethernet for now
WiFi.
*edit* – Didn’t mean to make this a reply.
Ethernet works just fine…
$ uname -a
Linux breadbee 5.6.0+ #2378 Mon Apr 13 22:17:10 JST 2020 armv7l GNU/Linux
[ 0.193861] libphy: Fixed MDIO Bus: probed
[ 0.195781] libphy: MACB_mii_bus: probed
[ 0.196832] macb 1f2a2000.emac eth0: Cadence MACB rev 0x00000000 at 0x1f2a2000 irq 48 (be:e8:98:09:13:90)
So I guess the performance is a bit worse than that of the venerable RPi Zero?
Performance wasn’t the real aim here. It was about running stuff like python with memory protection etc on a chip that can be used by tinkering types on their own cheap 2 or 4 layer boards.
To start with, if you’re using either of those boards for compute heavy tasks, you’ve already made a mistake in board selection. The point of both boards is to allow experimenters to interface with various kinds of hardware while running a full up Linux environment.
That said, you’ll likely get better performance out of an A7 than an ARM11 at the same clock speed. But, if that’s your concern, you’ve already made a bad decision.
The value of boards like this are their ease of programming and the openness of their software stack.
It is around the price of a friendlyarm ZeroPi, Jerry.
>It is around the price of a friendlyarm ZeroPi, Jerry.
Note that $10 is the cost to make one by yourself with a hot air rework station. The crowdsupply price won’t be that low as it’s simply not possible to source the components, get the boards built, shipped and pay crowdsupply’s cut for that. The hope for this was always that some Chinese company would come along and blue-pill the hell out of it so there’s no reason to put microcontrollers on the internet anymore.
How low could a price of something like that be, if some chinese like orangepi would come aboard and start pumping those out? 5$?
IP board cameras based on these chips are $5 with the lens etc -> https://item.taobao.com/item.htm?spm=a230r.1.14.22.5c367797UPnnmw&id=590012389852&ns=1&abbucket=17#detail
This will never be $5 because I’m paying the “willing to deal with outsiders” broker tax on getting the components but I think it shows that these chips are dirt cheap.
*edit*
That one doesn’t have a lens. Doh. 😉
Actually, performance should be better, since this uses cortex a7 core, instead of the ARM11
I’ve been lucky enough to have one of these boards for a number of months. I’d like to share my impressions of it. The software build environment is really well set up and is very easy to use. I have one little script that starts a build of all the software for the board and results in a set of image files for flashing to the SPI flash. It pulls all of the source fresh from github for you. The micro-USB connector both provides power to the board and provides a USBserial adapter to the SoC’s console UART. This makes… Read more »
Can you share your script?
I guess you think this is shilling like a NordVPN advert or something… There’s no script as I never gave David one. I spoke to him on IRC about this after a comment thread here. He sounded interested so I sent him one. Just like I sent (I think) 4 or so other people that asked. I understand getting something for free adds a certain level of bias though. There’s not much I can do there. If you want a board or some chips to have a go and write a massive screed about it being a piece of junk… Read more »
Quoting: David Willmore
>I have one little script that starts a build of all the software for the board and results in a set of image files for flashing to the SPI flash. It pulls all of the source fresh from github for you.
That’s what Jay was asking about.
I appreciate the expanded background on the idea though, so still an interesting comment.
I hope so. I guess I’m too cynical.
If they are asking about the script. The buildroot environment has a root makefile that can build everything. buildroot pulls in everything as it builds. On top of build root there’s a built in tftp server etc so you can flash the resulting files without anything else.
Hello dgp, You seem like a smart fellow, this project is obvious proof of that. You don’t need to drop a wall-o-text at the drop of a hat to prove that, it comes across as reactionary, even when you are correct. I’ve seen you do it several times now, and even when you are right it takes away from the strength of your argument because you look like you’re puffing your chest out to prove your superiority. In this case you definitely were not correct, I don’t think anybody else misread that the way you did. Own your mistake instead… Read more »
What a sexy little thing 🙂 Congratulations, dgp!
> Even a dual core A9 with 128MB of RAM, SATA, HDMI etc in a QFN.
That’s likely too early to discuss, but do you intend on designing similar boards with one of those A9 chips?
>That’s likely too early to discuss, but do you intend on
>designing similar boards with one of those A9 chips?
Not at this point.
If you take a look at an existing product ) you can see how high the level of integration is. Aside from the main QFN it’s all power supply and passives. Seems pretty bizarre to put in a QFN.
LOL, it’s nothing complex, it just calls the already existing infrastructure that dgp mentioned. Behold:
git pull origin master
make
and the occasional
make clean
But I’ve been building new versions for months. If you’re building it from scratch, the buildroot Readme.md file explains what you need to do in pretty good detail.
The V3/V3S/S3/etc have h.264 decode and an LCD controller. That is a major difference compared to the MSC313E. The V3 chips can do two way video. The MSC313E is similar to the Ingenics T20. Recent Linux kernels are available for the T20 (4.9 I think). The T20 is very cheap. Downside is the BGA package. TFBGA181 ROHS, ball pitch of 0.65mm,body size of 10mmx10mm. The XBurst core in the T20 has an extended DSP instruction set. Those instructions allowed Wyse to implement AI vision features in their $20 cameras. The Wyse AI code is not open source but it should… Read more »
>The V3/V3S/S3/etc have h.264 decode and an LCD controller. – The V3s is a PITA to work with. I made some modules with it and have them doing things but the whole reason I wasted so much time and money on this was exactly because the V3s wasn’t right for want I want to do. – The S3 can’t be soldered with a cheap hot air rework station easily – h.264 decode isn’t a must have feature for projects you might otherwise use an ESP32 for. >That is a major difference compared to the MSC313E. The V3 chips can do… Read more »
That CEVA XM6 unit looks decent. I suspect the MSTAR chips incorporating it are all over $10 + DRAM? Similar to RK1808? Which chips have it?
>That CEVA XM6 unit looks decent. I suspect the MSTAR chips incorporating >it are all over $10 + DRAM? Similar to RK1808? Which chips have it? The big list of chips on linux-chenxing.org has notes on which have the NPU. Some of them seem to be in these cheap <$10 IP board cameras so I don't think the chips are that expensive but without someone in China with a business license to get a direct quote it's hard to say. Also all of these chips seem to use the same die for all of the chips in that generation. So… Read more »
Intresting specs. Does anyone know the max and average power consumption?
Currently ~100mA@5V idle and ~130mA when the processor is fully clocked.
At the moment unused clocks aren’t turned off because the dependencies between all of them aren’t known yet.
It should be a bit better once that’s worked out. With the processor turned off and just the DRAM in self-refresh it’s around ~10mA from what I remember. Alas I haven’t worked out how to get the processor to turn back on.
For really low power linux the rock pi s is probably the best thing out there at the moment.
Issue with all those kind of boards is that they don’t have POE
Half the people complain it doesn’t have WiFi, the other half complain about not having PoE. Tough crowd.
clearly needs power over WiFi then..
And wait, I haven’t complained yet about lack of GbE 🙂
This is one of the coolest boards I’ve seen in a very long time. I’d even be tempted by trying to assemble one myself, but I don’t think I’d have any use for it, so better leave them to others.
> I’d even be tempted by trying to assemble one myself,
If you drop me a line via the email listed in github I can send you a parts kit. The only stipulation is that you don’t complain too much about JLCPCBs awful silkscreen and solder mask.
Well initially I thought “no” but finally considering that I still have at least 4 weaks of containement to endure, I now thought “why not after all, it will be recreative”. And no, I’m not the type of guy who complains about such stuff (and it’s certainly 10 times better than the best I can do). In the worst case you’d get some feedback about improvement suggestions, a failure report with what’s causing trouble, a blog post about how cool and/or difficult it is, or a paypal donation (provide you accept them), so don’t worry 🙂
PM’ing you now. Thanks!
Just an update on this, Daniel sent me two boards and components to try to assemble. I experienced some difficulties given the very small pitch (0.35mm) and the solder mask of the first batch that didn’t completely isolate the SoC’s pads, but managed to finally get one to work. It really is a fun project to work on, especially when you look at it when it boots, seeing the tiny components and you think “wow, I did really solder that, and that shell over SSH confirms I did it correctly!” 🙂 Thank you Daniel and I really wish you success… Read more »
There are PoE splitters with a micro usb 5v output that would work.
Alternatively if you can find a PoE splitter in a module or maybe a RJ45 jack with that integrated then you can fire up kicad and add it in.
I like the physical connector, but ya its way too damn big like a godzilla
Can it interface wifi externally? Is there any provision to see debug logs over UART. Does test points provide UART pins
>Can it interface wifi externally? The fine pitch header contains both usb and sd/sdio. A cheap USB dongle worked when I checked a while ago and an AMPAK SDIO module worked from what I remember. >Is there any provision to see debug logs over UART. The debug uart is connected to the ch340e. It should be possible to map it onto different pins if you want it on the header but the pinctrl driver can’t do that yet. >Does test points provide UART pins No, the test points are for the audio pins that I thought would never get used… Read more »
To add to what dgp said, the debug UART of the SoC is already hooked to the ch340e USB to serial adapter which is hooked to the micro-USB port. To debug the board, you just plug some host into the micro-USB port and it appears as a serial adapter–then use whatever terminal you like from there.
The article seems to emphasis this is a new “smallest” board, but from the reading the comments it sounds like the idea (vs. RockPi S or Nanopi Duo2) is that the board design is open and it’s simple enough that you could buy the components and make a custom board with all the “peripherals” you need – all on one PCB. Is that right? I think this is really cool 🙂 I mean you could also breadboard a NanoPi Duo 2, but this is a bit more interesting and open-source-y – and with something like libmraa or whatever you could… Read more »
> you could buy the components and make a custom board with all the “peripherals” you need Or at a later stage not necessarily ‘you’ but some Chinese vendor who is able to mass produce ultra cheap boards based on this SoC so we can get rid of microcontrollers connected to the Internet and replace them with something running a real OS (with memory protection, sane TLS stack etc): https://github.com/breadbee/breadbee#motivations And the PoE requirement above pretty much outlines what’s also different here. If you have this requirement no need to wait until a mythical foundation produces an overpriced ‘PoE HAT’,… Read more »
>board design is open and it’s simple enough that you could buy the components
>and make a custom board with all the “peripherals” you need – all on one PCB. Is that right?
Yes exactly. The problem is getting the main chip isn’t easy for most people. Crowdfunding a board is just a way to order enough chips to the make boards, enough for people that just want chips and hopefully open up a path to get more exotic Cortex A7s in QFN.
Ah okay. given the other comments I think the messaging is throwing people off a bit. I get the appeal of a ready-to-go board, but given your goal, which is really cool and something no-one is doing right now, it might make sense to have a sort of “kit” DIY thing (at least in addition to a preassembled version) Or just a bag of components and bring-your-own-board. Otherwise people will look at it and see a Rock Pi S with a weird chip – which misses the point Wish I knew how to help! If you need any CMake magic… Read more »
>Ah okay. given the other comments I think the messaging is throwing people off a bit. I didn’t write any of this messaging here or on the hackster.io. My guess is hackster.io picked up on the prelaunch page just after crowdsupply put it live and put together a story. They didn’t contact me. If they had I would have made sure the intent was covered and I probably would have mentioned that taking the text and images from a GPLv3 licensed project isn’t a great idea. :p >Or just a bag of components and bring-your-own-board. I want a tier that… Read more »
I’m sorry to say, but I’ve never touched Python. Just did C++ for years and recently switched to Clojure/JVM
Hope someone sees this and reaches out to you 🙂
Did you approach Olimex to build and sell a run of these? If Olimex buys into the concept -poof! – crowd sourcing disappears and economy of scale replaces it.
Is there any public documentation for this SoC (appart from the brief pdf)? I mean – you had to get the information for getting those peripherals working from somewhere. Do you have or plan to have some kind of a forum/chat/mailinglist where you could share your experience about this board? I would love to get some of those boards to hack with.
>Is there any public documentation for this SoC (appart from the brief pdf)? Initially that product brief and the device tree from an existing firmware was all I had. That was enough to get Linux to boot to a shell. PWM was reverse engineered from some dmesg output, ethernet was worked out by googling the suspiciously good English comments in some uboot source… eventually I go hold of some SDKs and things were a bit easier. I think all of the information is in hand now it’s just a case of going through lots of incredibly bad vendor code to… Read more »
Thats incredible dedication.
Without knowing how long parts will be available and what kind of support from Mediatek/SigmaStar , it’s difficult to use it in product.
Any ideas about market price for this chip?
It’s super easy to create chatroom on matrix using riot @ https://riot.im/app/#/welcome
>Without knowing how long parts will be available and what kind of support from Mediatek/SigmaStar , >it’s difficult to use it in product. Yes. I would not use this in a product you need to sell to the general public. However lots of dashcams and other e-waste sorts of products even in the west have these chips in them. A bunch of the xiaomi security cams have this exact chip in them. >Any ideas about market price for this chip? I can tell you where you can get a quote for the direct pricing but you need to be a… Read more »
> eventually I go hold of some SDKs and things were a bit easier.
Are those public? Can you share them somehow?
Also, it would be cool if you could add “a pack of 5 SoC chips” as an item or addon on your campaign.
>Are those public? Can you share them somehow? Or you mean the I have some other SDKs (userland bits) that are not public (as far as I know) and I’m not going to release as it’s not as clear cut as a kernel or uboot source tree where despite whatever silly “super confidential trespassers will be shot” banner they stick on it it’s clearly GPLv2. The userland bits aren’t so interesting anyhow. There are some headers with register locations and bit meanings but I’m cleaning up that info and collecting it anyhow. >https://github.com/longyanjun2020/SDK_pulbic This is the RTOS SDK for the… Read more »
Looking at the relative size of components on this board, one cannot help thinking, that world clearly needs more compact Ethernet socket…
Very cool project/product. I love stuff like this, I wish they featured more stuff like this around here even if it isn’t ready to ship rather than the rehashed press releases we usually get.
More like this please!
For anyone that just wants chips you’re in luck:
https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=msc313e&_sacat=0
5 for $10.
Thanks for the link – grabbed a set of 5. Fascinating chip, and great work.
Learned a bunch more here: – the 128MB version is fascinating. https://github.com/fifteenhex/linux-chenxing/blob/master/index.md Any idea of the size and pitch of the BGA?
Will jump on the crowdsupply as soon as it’s launched. How can we reach you to help per your offer above? We’re interested in evaluating this for a product.
>Any idea of the size and pitch of the BGA?
I have some of the MSC316D which is an older BGA part in this series and it’s .65mm pitch.
The same MSC313E camera module on aliexpress https://www.aliexpress.com/item/32803647710.html
Anyone knows of a chip running mainline, including:
– mainline video in
– mainline h264 encoding
– mainline audio in (if need be through i2s or whatever)
– cheap
The closest I see is Allwinner A20. Old, but well supported and not EOL. This is what Luc Verhaegen is working on atm for FOSDEM, but it’s always good to make sure we didn’t miss any wonderful alternatives!
>– mainline video in
>– mainline h264 encoding
Mainlining these two seems to take considerable effort which I think is why there are so many chips with basic support in mainline but very few with video encoder etc support.
The comments for the register descriptions for the video encoder in these chips is in perfect English so it’s probably an off the shelf block from a big IP supplier that has a reasonable driver somewhere.
Did you mean to reply to somebody? The comment is not in a thread.