In the depths of the sparkfun.com product pages Occam sez: “Exactly … someone should port the Arduino firmware and environment to a 32-bit ARM, preferably one of the new
Cortex-M3 variants. Can anyone say ARMDuino? It would be killer, especially on these very fast ARM processors…”
Yes. We agree. Totally.
Armed with a cozy basement and some bad techno, arduino+arm+ development environment is pretty much here. Were stitching the pieces together on a project were calling Maple, the first in a line of dev boards that we’ve designed to shut up those little voices in our heads that keep saying “Wouldn’t it be great if you could sketch hardware projects out in an arduino/processing/wiring style environment that do a lot more than blink some lights and run some motors? Audio? Video? Machine Learning? or maybe just…WAY MORE BLINKY LIGHTS.
The Arduino ships with a 16MHz Atmega chip that just doesn’t cut it for these types of applications. The 72MHz ARM Cortex M3 chips look pretty rad, but you really have to get your hands dirty to use them. That 5x boost in proc speed is worth it though – say hello to audio applications on Arduino. To be fair, I recall playing some awesome Lucas Arts games on an old Pentium I 90MHz machine – strip out the DOS overhead, and let there be an Arduino arcade console. We’ve made the Maple pinouts and dev library fully arduino compatible so all your old projects and libraries should play nice on the new hardware. Thanks to ST’s incarnation of the Cortex M3, Maple supports ACTUAL USB communication, not just serial-over-usb via an ftdi chip. Accelerometer based mouse? USB audio fx processor? A controller for your big 3d printer/latte art plotter project? It turns out you can throw a lot more data over a USB pipe than the old 5600 baud serial line.
Of course, Maple is just the first step. To truly get real processing power where in belongs – on top of a pile of other electronics sitting on your workbench – we give you Oak. Oak is essentially the Maple with a Spartan 3e FPGA next door with some extra memory (256MB) and a blue tooth chip. Were building a fully fledged library of HW blocks that let the fpga grab frames from a video camera, drive your monitor or TV, crunch some numbers in parallel for some audio processing and even do some simple object tracking from real time video. Of course, for the verilog-vhdl savvy, everything is open source, go nuts. But we think FPGA’s are just great, and they need to get out more. Wed love to give FPGA development that sketch-book feel of arduino hacking.
Farther on down the line will be Willow. We’re thinking of using an ARM Cortex A8 for this board. Think Arduino – at 1 GHz. Well be throwing a much larger 1.5M gate fpga on Willow, and are dreaming of the first “Linux on Willow!” posts around the internet. All our boards are small and designed to run on-board of your next robotics project, mounted inside of a guitar pedal case,
or whatever nifty portable electronic widget you can think of.
Most of the expansion modules will be blue-tooth ready, bringing all the cabling and wiring on your next project to a bare minimum. Of course all those great arduino XBee and motor controller shields are still compatible.
Did I mention everything is open source?
Let us know what you think.
Hey all-
This has been the weirdest summer so far. I’ve been wearing ratty sweatshirts and jeans and wishing for sunny weather. I haven’t once cursed the summer gods for the scorching heat; I think they’re all on vacation. Ugh. If I wanted London weather I would move there.
The [only] good side to cold, moist and otherwise unpleasant weather is all the time you aren’t wasting doing frivolous things like being outside and having fun. I’ve been working coming up with a few potential designs for our website; you can get an idea of them once our new placeholder webpage is up.
I’ve been attempting learn/relearn is HTML/CSS/etc. I’ll be upfront: I haven’t really touched anything like this since I tricked out my geocities site in middleschool. HTML has actually changed a bit since then.
I was talking about this with Barry, and he and I noticed a curious phenomenon; web design, in general, has improved in the past decade or so, despite the increased accessibility of HTML et al. He thinks this can be attributed to the deaths of sites like AOL Hometown [dead], Yahoo Geocities [gone in October] and the like. I think you can thank the rise of web design as a legitimate occupation, even industry. I mean come on… it’s one thing to put the same blinking GIF at the bottom of your screen five times; it’s another thing to have to articulate to your designer “Now I want three sparkly hearts with glitter animation and then below that a row of winking teddy bears– what? OF COURSE I WANT THEM ALL EXACTLY THE SAME! WHAT KIND OF DESIGN SCHOOL DID YOU GO TO?”
Anyways, enjoy the summer day…





So, as you can see, I’ve been playing with generative graphics. Nodebox is a pretty sweet, and free, program that I’ve had time to explore since contracting a series of infections. [sidebar: being sick in the summer is especially lame because who the hell expects to have a sore throat in June?] It’s aimed at graphic designers, which is reflected sort of interestingly in the way they present the concepts involved in writing code; I haven’t seen “hello world” or “foo” any where in their documentation yet. Nodebox is python based, so it’s extremely intuitive and a really good way to spend your afternoons rather than watching endless blocks of television, and I recommend you all fool around with it at least a little; people have done some really neat things with it.
That there was my way of feeling out the program…it has a little bit of everything, code wise: gradients, for loops, randomized values [cool!], curves, text etc. It was fun and it took maybe half an hour, including getting the leaf to look right. Not bad at all.
Now here is something a little more interesting.. While I’ve been sick, I’ve been playing with a few ideas for the look of our toolkit [AJ and Barry are working with the functionality]..the draft is pretty self explanatory . Edit nodes and node-code [heh] in the center, view outputs of nodes on the right, and we haven’t quite worked out what options are going to be available on the left bar, but we’re thinking something along the lines of qualitative information about selected nodes.
The really nice thing about nodebox is it allowed me to write overhead so I could generate each node and its color, shape, etc. easily, and moreover, I imagine this will be very helpful when I begin working with GTK’s graphic’s library,Cairo.
I’m planning on doing a few simple animations to demonstrate usage of the program, and as soon as possible, begin either porting or wrapping what I have for use with what AJ and Barry have been working on. Hopefully AJ will have his post on that soon…
Have fun.
Welcome to the LeafLabs development blog, brought to you by the LeafLabs team. You may be wondering, “What is LeafLabs?”. We’re a start-up based in Massachusetts aiming to bring hardware prototyping to the masses. We are making hardware and software for the rapid development of projects that can benefit from the cooperation of a microprocessor and an FPGA in the same computational framework.
Our software suite is just starting to take shape, and we will be releasing components of the design software as it becomes stable enough for public testing (contact be-a-beta-tester@leaflabs.com for more information). In July, our hardware – informally dubbed LeafBoards – will be in alpha release, undergoing rigorous testing by our trusted alpha-users. As soon as August, our first public hardware release (code-name: “Marilyn”) will go on sale, and you can join the open-hardware movement.
We’ll be posting our experiences and thoughts all throughout development, so stay tuned.
Today we started our first software endeavor – the Signal Analysis and Visualization Engine (S.A.V.E.) Toolbox. It will allow the user to compose complex systems in terms of nodes – either pre-packaged or hand-coded in a C-like language – which execute various functions on their inputs and feed the outputs to connected nodes. The user may write or select various input functions, and graph outputs in an oscilloscope-style x-y plot. Additionally, the S.A.V.E. toolbox will also be able to parse the functions represented by these node nets into Verilog. At the end of the day, we want the S.A.V.E. toolbox to be the principal interface between the end-user and the FPGA on the Leaf boards.
Today we began to plan out how to implement the GUI front-end of the toolbox. We’re using the GTK+ toolkit, an object-oriented extension of standard C made for GUI design. Despite how impressed I am with the library of features contained in GTK+, I’m a little dissatisfied with its object-oriented nature. At the core, I’d have to say I’m pretty utilitarian, and object-oriented program seems to sacrifice efficiency for gains in… well… I haven’t yet seen what you really gain. I guess you could say you gain some level of generality, but i think its too much. Anything you’d need to do with classes, objects, and inheritance (and I’d say there aren’t too many things) you could always do manually with structs in standard C. The object-oriented paradigm, however, engenders the idea that everything should be implemented with classes and objects. Thus, much as we did today, you end up spending most of your time deciding which classes each functions should live in, and designing initializer after initializer after initializer. I suppose in the end I’ll just have to suck it up though, because I sure as hell don’t want to redo all the hard work that GTK+ has taken care of for me.
How do you begin a blog…
This monday four of your beloved LeafLabbers moved into TREE-house– TREE standing for The Robots Eat Everyone, obviously. We now live in a nice yellow house behind a nice picket fence in a nice little neighborhood between Central and Harvard Squares. Emphasis on nice. At night you can hear the traffic from a busy street two blocks away, and in the day-time people walk their dogs and say hello each other as they stroll down narrow residential streets. We live in place where people have birthday parties for children. With balloons.
Having moved here from the other, less ‘nice’, side of Central Square [my part time home; I spent the other half of my time in a little world called East Campus...], the whole notion of a family friendly neighborhood is unnerving. I never particularly worried about my safety in ‘da hood’ but nor did I worry about having a noise complaint called on me at nine PM. I feel an odd responsibility to protect our next door neighbor, her garden, and her bed and breakfast from whatever bad-influence a bunch of cigarette-smoking, college-aged, full time nerds and whatever bad influences we may have on the children.
I guess it’s too soon to really say what affect our new semi-responsible lifestyle will have on us, and LeafLabs, so I’ll close this with the promise of photographic proof of our reformed ways.
Until next time.
Contact webmaster@leaflabs.com with website issues
Powered by WordPress, nginx, Linux, and coffee.
This site intended to be valid HTML 4.01 Strict. Best viewed with any standards-compliant browser.
Copyright LeafLabs, LLC, ©2009-2011.
Unless otherwise noted, all content on this website is released under the
Creative Commons Attribution Licence 3.0
Hello Anonymous! Login?

