Newer Posts >>
<< Older Posts
Team Blog

from sysadminday.comIf you’re reading this our new web server must be working! Today we’ve transfered the leaflabs.com DNS records over, including all of our email, web applications, documentation, etc. There are definitely a couple rough edges and it might take a couple hours for the changes to propagate, but hopefully things will be snappier and cleaner now. We’re even (partially) IPv6 compatible, thanks to a tunnel from Hurricane Electric.

We’ve imported all the old comments and forum posts. You now have the option to use a valid OpenID to post blog comments, but that didn’t work smoothly for the forums so you’ll need to register a new account there. Sorry!

We’ve added a documentation section, a community page, consolidated information about our licensing, and more. Let us know if you find any bugs or broken links!

Posted by bnewbold on Sunday, May 16th, 2010 | No Comments »

I’ve been clickity clacking away on a new website and documentation; you can see a draft of the documentation (via the great github pages feature) here.

We’ve got a batch of boards back and want to get them on sale as soon as possible! We had one last minor error which was placing 6v voltage regulators and input capacitors instead of the spec’d 16v (for 18v tolerance after a 2v diode drop). We decided to swap out the parts by hand instead of shipping incorrect boards. The risk is that we would damage the board while doing the solder rework, but we’ve been pretty careful and will run tests before sending anything off.

The last hurdle before these boards go on sale is polishing up the new bootloader: “newboot”. We changed the way the DFU bootloader and USB-Serial code interact; previously the bootloader configured serial emulation during startup and left it around for usercode to take advantage of, now the usercode will have to reconfigure the USB peripheral. We made the change so the Maple would be more cross-platform compatible, but it also cleans up our code and should make it clearer how to program the device to act as alternative USB devices. One downside is that uploading from the command line is a little trickier; a special serial command has to be sent to initiate auto-reset.

People with rev1 Maple boards (with the “oldboot” bootloader) will have a number of options. Very soon now we’ll release a stable version of the IDE compatible with the old bootloader that should work on most platforms. If you would like to upgrade to the new bootloader and you have a compatible JTAG device, you can ask us for the appropriate BIN file (or just grab the source and compile it yourself). Lastly, you could ship us back the device and we’ll reflash it for you… or if you’re in the Cambridge, MA area we can probably make a house call by bike!

Posted by bnewbold on Monday, May 10th, 2010 | No Comments »

Here are some recent top links from around the office… mostly old but maybe new to you!

… and now my yak is cold

Posted by bnewbold on Thursday, April 29th, 2010 | No Comments »

We’ve been bursting forth with code and hardware as the weather improves but have neglected to share them with you despite many emails and conversations; thanks for all your interest!

maple rev3

On the top of our stack is the next batch of Maple boards, rev3. We’ve got a small production batch back for testing and will have boards for sale as soon as the full run comes back from assembly. We’re toiling away on stable versions of our bootloader, low level library, and arduino-based IDE to be released at the same time as these boards go on sale; you can track our development on github and we look forward to your comments and critique as once the dust settles. We’ve also got a shiny new website and fancy documentation in the pipeline.

We spent a whole day this past week testing the Maple rev3. The biggest fixed issue is noise, both crosstalk between headers and digital noise from the USB bus. The USB noise is still detectable, while the crosstalk has virtually disappeared on most pins. We’re collecting hard numbers on our actual ADC (analog voltage measurement) precision and accuracy; in theory we could get 12-bit resolution over the 0-3.3v range but most development boards have trouble meeting the full potential of their parts. We’ll report back once we’re more confident of our test setup and peripheral configuration, but it looks pretty reasonable.

test-prog-shot

As part of the testing process I wrote up an interactive testing program which acts as a console over one of the USART serial ports and has commands to read in GPIO status, spit out servo-compatible PWM sweeps, dump data over the USB connection, etc. We’re thinking of including this as the default program on the rev3 Maples, what do you think? Should we make the interface over USB instead of USART? You can look at what we have now here. In the future we’re excited to see if we can port more complete environments like eLua or python-on-a-chip.

Breadboarding PWM audio with the Maple

Breadboarding PWM audio with the Maple

One use for high resolution ADC sampling is real time audio work! With the right low pass filter (which can be just a couple resistors and capacitors) the high speed PWM ports on the Maple can pump out reasonable audio-frequency waveforms. Okie has been working on a basic audio shield with nice active filters and other goodies.

Basic Audio Shield Prototype

Of course a dedicated DAC could give much higher audio fidelity, and many microcontrollers can implement basic audio synthesis. We’re experimenting with some more computationally intensive frequency domain effects and are planning on building a more fancy professional grade audio shield for the Maple Native… the delux version of the Maple with a larger header configuration and more features, which we’re now prototyping. Jess has been using an open source tool (Kicad) to do the design and layout for the Maple Native and she’ll be posting about that experience soon.

There’s more going on; check out our flicker stream for more photos of testing, a MIDI/IR theramin, wifi routers, and a ghost from our past soon to be reincarnated.

Posted by bnewbold on Monday, April 26th, 2010 | 10 Comments »

Hi everyone! As you can probably tell from Okie’s awesome picture in the post below, we got back the prototypes for Maple Rev2 about a week ago. You may recall that the revisions were to fix two issues. The first is that the I/O has been relabeled in a format we think makes more sense for use with the STM32 – the pins are no longer divided into analog and digital banks, although we’ve made sure the pins in those locations have those capabilities to maintain Arduino compatibility. Maple pins are now numbered from 0 to 43 have have labels on each pin indicating its capabilities (don’t worry, the library will still support the numbering scheme from Rev1) like PWM, AIN for analog input, TX1, RX1 for Serial1 port (there are 3 total), and the pins in all the SPI and I2C buses.


The second issue to fix in this revision was slightly more serious. We had encountered a pretty significant voltage swing on VCC – a sawtooth that was up to 1.5 V peak-to-peak, with no code running on the chip, depending on the power source used. The digital I/O worked fine even with the variation, but we shipped the Rev1 boards with a 10 uF through-hole bypass cap that was intended to knock out the swing for those of you working on analog projects. Rev2 incorporated an extra 10 uF bypass into the design.


We got the boards back and the extra bypass seemed to do a pretty impressive job of knocking out the swing, dropping it down to baseline max 70 mV versus the aforementioned 1.5 V.* Still, it’s just not quite as good as we would like. We’re still seeing spikes on VCC of up to 300 mV when pulling on some of the peripherals (especially USB). And the twelve-bit ADCs, which we’ve all been really excited about using, are losing up to six bits of resolution with some combinations of peripherals turned on.


This isn’t totally unexpected — several of the other STM32 dev boards we tested are similarly noisy. Even so, we’re really just not satisfied with these results, and after a lot of experimenting and deliberation, we realized we really just couldn’t get the clean signals with a two layer board. Because of this, we’ve decided to switch to a four layer board. The next revision of Maple will have dedicated ground and power planes, which should (we hope!) solve all of our noise problems.


Of course (bet you saw this coming, didn’t you?), what this means for you is that the next revision of Maples will be shipping out about one to two weeks later than we hoped for. This means, ultra best case scenario, the new Maples will be shipping around March 10, and ultra worst case scenario, around December 2040, considering what good luck we had with production last time. Okay, just kidding – medium worst case scenario would probably be sometime around March 31.


Okie has been working tirelessly on the new four layer design, and it is nearly finished, so we should have prototypes back within a week. Once those are back and tested, we will be sending them to production, and at that time (probably around February 23) we will once again be taking pre-orders!


We’ve been getting a lot of really wonderful feedback on the Rev1 boards, and a lot of interest in Rev2. For those of you who have been waiting for a Rev2, we really are truly sorry for the added delay and inconvenience. We just hope you guys are willing to stick with us a little longer, and that you understand our desire to avoid sending out a product that’s not 100% as sweet as it could be. Thanks for being so awesome, everyone.


Maple is switching to a four layer board to solve some lingering noise issues, and so will be one or two weeks behind schedule – we’re really sorry for the delay!


*OK, that isn’t 100% true. I mean, it is, but that’s not what happened right away. Here’s the entire sordid story for the interested, edited out above for clarity’s sake: we got the boards back and were STILL seeing, baseline with no code on the board, a sawtooth of about 300 mV, despite the bypass.

maple-r1-VCC-nocapmaple-r1-VCC-ceramic10uF

We were like WTF? So we did a ridiculous amount of tests, and at some point we dumped ANOTHER bypass on the header (a la our impromptu fix for Rev1), and it was fixed. Again we were like WTF? So after lots of digging we eventually realized that the voltage regulator we’re using expected a bypass with a certain equivalent series resistance. The bypass we’d added to the design was ceramic – very little ESR. The one we’d been putting in the header was aluminum electrolytic – plenty of ESR. OH. So we replaced the ceramic one with an electrolytic one and voila, the results detailed above.

maple-r1-VCC-electrolytic10uF

We share this story with you just in case you ever come across a similar problem and are like WTF?, you might learn from our travails.

Posted by jessb on Sunday, February 14th, 2010 | 13 Comments »

maple-v2-proto

A good story to come… Great things have been brewing. Show us what you’ve been cooking!

Posted by okie on Friday, February 5th, 2010 | 2 Comments »



Contact webmaster@leaflabs.com with website issues

Powered by WordPress, nginx, Linux, vim, and coffee.

This site intended to be valid HTML 4.01 Strict. Best viewed with any standards-compliant browser.

Copyright LeafLabs LLC, 2009-2010, a member of the
Green Street Space.
Unless otherwise noted all content on this website is released under the Creative Commons Attribution Licence 3.0

Hello Anonymous! Login?