The power of Raspberry Pi in the computing factor of an Arduino, and the manageability of a mobile app.
Latest Updates from Our Project:
Holy $#^%, we’re unblocked!
over 5 years ago
– Tue, Jul 09, 2019 at 01:36:12 AM
ZOMG after beating our collective heads against a wall for nearly three months, we cleared the last (well, hopefully last) blocker for Beta 3! Also, we’re just about done with USB deployment, and there’s only one last item on the hardware validation checklist!
Tick, tock, we’ve got clocks.
That’s a picture of a PWM signal coming from a Meadow debug board. This simple little thing was one of the most difficult challenges we’ve faced in our road to Meadow. For some reason, no matter what configuration, register setting, or other fiddling, we couldn’t get a clock signal when we tried from NuttX (the underlying µRTOS we use for Meadow). Finally, we tore everything down, and rebuilt it all from scratch and fixed whatever madness was preventing it from working. We’re still not sure what the exact problem was, but the good news is that it works.
This week, we’re working on cleaning up the PWM APIs and finishing up all the Meadow.Foundation PWM driven peripherals.
A New Approach
In reworking the PWM stuff, we took a different approach to how we execute some of these feature calls, which should translate into the SPI and I2C calls as well. Next week, we hope to get SPI wrapped up and work through the Meadow.Foundation SPI peripherals. If all goes well there, I2C should fall to our little hacking fingers the week after.
Final Hardware Validation - ADC
We’ve also made progress on our hardware validation, and we’re down to the very last item, the Analog to Digital Converter (ADC), also known as analog input. The issue that we’re running into is that we’re only getting two values from the conversion. We have it working properly on a reference board published by ST with the same chip, and there’s no hardware in between the ADC pins on the chip and the analog pins on the header, so it’s highly likely this is a simple configuration issue, we just need to isolate it. As soon as this last checkbox is ticked, we can send the final boards to production, yay!
Beta Expansion + Schedule
This clock issue destroyed our beta schedule. Now that we’re past it, we’re hopeful we’ll be able to get Beta 3 out the door in ~3 weeks. Existing beta folks will get a hardware refresh with the final (we hope) boards, and we’re also expanding the beta to more folks, so a bunch of lucky backers are going to get hardware and hack kits early. :)
However, until we get Beta 3 validated, and finish out the hardware validation, it’s hard to knock down a date for the rest final backer deliveries. With that said, we’re on the final stretch, so stay tuned!
Flash Validated, USB Deploy, and Clocks
over 5 years ago
– Sat, Jun 08, 2019 at 08:58:29 PM
Hey folks! Got some good news for you. First, we’ve unblocked flash, and USB deployment is almost ready. Also final hardware validation is almost done, and lastly, we’re still struggling with timers.
Flash/USB Deploy
Ok, this is a biggy. Remember how the flash on some of the new boards was working and some boards were not? Well, they’re all working now. :) Turned out, all of the boards would work when we deployed some old code first. We think that the old code had some flash initialization that persisted. We never did isolate it, but the latest code works great. We breathed a big sigh of relief when we discovered that; after much low-level hardware debugging that kept turning up nothing amiss.
We can now upload files from a host computer to the device and save it to flash via USB! Next up, we’ll switch to loading the deployed Meadow application and all its dependencies from flash, rather than pulling it over JTAG. As any of the beta folks know, this is going to be a huge gain in productivity. With any luck, we should get all that tucked in by mid next week.
Hardware Validation
Tucking in the flash issues was a big part of validating these final boards, and we’re now about 75% through validation. Just a few more things to check off, and we can put them into assembly! At this point, we’re pretty sure everything is solid, but we need to complete one final pass.
Tick, tock, we’re still struggling with clocks.
Oy, this has been a bear to debug! We’re still blocked on managed PWM, I2C, SPI, and anything else that depends on a timer. We have them all working natively at the OS level, but for some reason, in our specialized build of the operating system their clocks/timers do not work.
We’re pretty sure this is just some stupid configuration issue, but have yet to find it. Hopefully soon, or we’re all collectively going to shove our heads in a meat grinder.
Ok, go enjoy your weekend!
Houston, we have a problem.
over 5 years ago
– Wed, May 22, 2019 at 03:02:57 AM
Hey folks, we’ve hit a bit of a road bump with the final hardware that I want to let you know about. We're also making solid progress on Beta 3. Let’s tackle the bad news first.
Final Hardware Validation
We made 100 boards of the final design a month back, and we’ve been attempting to validate that our final hardware changes were all right and things were groovy, and this is where things have gotten weird. Some boards work, some boards don’t. We’re not sure why yet, but we’re investigating. The good news is that the boards that work have passed checks on some of the new changes (we still have a couple minor validations left).
We can successfully flash all the boards with the Meadow OS, but for some reason, some of the boards don’t seem to behave right after flashing. We can’t communicate with them via USB, and they don’t show up in device manager as the appropriate USB device that they should be broadcasting as, but they look all well in good in STM32 DFU bootloader mode. We have a hunch that it may be a crystal issue, but it's now up to our electrical engineer, Sheldon, to dig in and diagnose.
With any luck, it’s something super minor, we can make the fix, and then put the final boards into production. We’re treading carefully here though, because the last thing we want to do is put 2,000 boards into assembly and have 75% of them not work.
So stay tuned, and keep your fingers crossed!
Beta 3
On to some good news! We’re still cranking hard on Beta 3; we’ve run into some challenges that we’ve been solving bit by bit, and we’re a little behind schedule, but it's shaping up to be a great release. Here’s a rundown of the Beta 3 release and the status of each piece:
New Features
USB Deployment - Currently, app deployment is tedious and requires special JTAG hardware. With USB deployment, you’ll be able to upload your Meadow app to the board via USB quickly and easily. We’re getting very close on this. We’ve had a real challenge with both the flash chip driver as well as the USB device side of things. It’s been a practical reminder that we’re doing really hard tech. :) With any luck, it’ll all come together this week.
Network - This is progressing quite well! We’ve had network up and working on the ESP32 co-processor for a while, and we’ve been working on the connection to the STM32 as well as integrating it into the Mono + Meadow stack. We recently upgraded from UART to SPI for the communications between the two chips, and we’ve been able to successfully communicate between the two processors and do some basic networking tasks. Now we’re working on the final-mile; integrating the calls into the Mono stack and wiring up the Meadow API so that networking is smooth and seamless. I'm so excited for this!
PWM - We’ve got PWM all coded up and integrated into the Meadow APIs, but we’re having an issue getting a signal when it’s turned on from managed code. We think it’s a clock setting issue, which is also stalling us on the next item.
I2C + SPI - We’re progressing here as well. The API is largely set, and we’ve done most of the integration, but we’re struggling with the same clock issue that is holding up PWM. The good thing about this, is that once we solve the clock issue, both this and PWM should just work!
This beta is a huge step forward for Meadow and will unlock a bunch of new peripheral drivers as well as a world of new possibilities, and we’re really excited to get it out.
New Docs Site!
As part of Beta 3, we’re also getting a new docs site! Recall that Beta 2 docs are currently at beta-developer.wildernesslabs.co, which is a DocFX driven site. DocFX is pretty good for API docs, but it’s not great for any other content, so we’ve integrated it with the Jekyll engine that powers our current developer site. You can get a sneak peak at the new site (and Meadow content) at staging-developer.wildernesslabs.co.
One of the best things about this new site is that it has all our docs integrated into one place, so we won’t have forked content moving forward. Bear in mind, the HTML is just a rough draft, so there’s some wonkiness right now, but that’ll get cleaned up in the next couple of weeks.
Shipping Date
Because of the unknowns on the new hardware issues, we don’t have a final hardware shipping date right now. Please bear with us as we sort it out! We’re definitely working hard to get Meadow into your hands, we’re as excited as you for it. :)
Hack Kit Assembly
One last note; last weekend, we got together and assembled over 200 hack kits! Only 300 to go. ;) They’re looking awesome:
Stay tuned; I'll let you know as soon as we figure out what's happening with the boards.
Pogo Test Fixture, Final Hardware Validation, and Beta 3
over 5 years ago
– Sat, Apr 27, 2019 at 01:45:39 AM
Dropping a quick update here today. We got our pogo bed test boards back this week, we’re onto the final hardware validation, and we’re finishing up Beta 3!
Pogobed Test Fixture
The boards that we’ve been using for internal development and testing have a special section on them that breaks out a number of test and debug connectors (JTAG, USB Serial, and such) to both MCUs on the Meadow F7 Micro (see the bottom section on the board below):
Recall that we received 100 of what we think are the final boards assembled a few weeks ago. These final boards lack the debug connectors. Instead, on the bottom of the board are small pads that expose the individual debug connection points:
In order for them to be useful, we need to expose those points as connectors. Enter our pogobed test fixture:
It uses spring-loaded pins called pogopins (yes, named after pogo sticks), which are used as temporary connection points to those debug pads on the bottom of our board:
The board is held in place by a mount that is 3D printed:
Through nobody's fault but our own, these pins were installed upside down in our test fixture board:
However, with a little help from a hot-air rework station, I was able to remove and reinstall them the correct way, and then connected to the final boards. I was successfully able to upload Meadow OS and begin debugging via JTAG, but wasn’t able to fully complete a test pass with a Meadow application. However, I strongly suspect user error, or as Chris Tacke (one of our team members) likes to say; “the error lies somewhere between the keyboard and the chair.” 🙂
Final Hardware Validation
The test fixtures, along with the final boards are now making their way around the world (literally) to the engineering team for final validation. Good news is that there were only minor changes to the board, and I was able to validate the riskiest change as successful! The other changes were just pin swaps on the ESP32 co-processor and some minor antenna adjustments. So… as long as those changes come back as good, we’ll be able to order the final boards to assembly! 🙂
Beta 3
In the meantime, we’ve been working hard on Beta 3, which adds USB deployment, PWM, and the network API to the Meadow stack, as well as fix a number of Beta 2 bugs. We’re making progress on all fronts, though the beta is a couple weeks behind; we originally thought we’d get it out by the end of the month, but it looks like it might go out the door mid-Mayish. Fingers crossed!
Thanks, all!
P.S.; If you’re interested in looking at the CAD model of the mounting fixture, you can find it in our 3D Designs Git repo.
Beta 2 and Mugs Shipped, Final PCBs, and a Partner Program
almost 6 years ago
– Wed, Apr 03, 2019 at 11:50:20 PM
Howdy, howdy, howdy!
Big updates today. Mug and SWAG rewards shipped, final PCBs came in, we shipped Meadow Beta 2, and we’ve got a new Partner Program!
Beta 2 Shipped
We shipped Meadow Beta 2 last week! It was a big release with a lot of new APIs and features. Check out the release notes on our beta developer site for the details. Things are really starting to move fast now with Meadow with new features and upgrades, and we’ve posted a roadmap so you can see what will ship when.
Mugs + SWAG Shipped
Speaking of shipping, we also shipped out the Mug/SWAG rewards, so if you backed at the Mug/SWAG level, they should be arriving in your mailbox any day!
Final PCBs In; Shipping Schedule
We got the final Meadow F7 Micro PCBs in!
We put 100 of them into assembly for final validation checks, and they should be back by the end of the week.
Unlike the previous prototype boards, these boards don’t have our debug connectors built into them. Instead, they need to be plugged into a pogobed, in which spring loaded pin connectors touch the debug pads on the bottom of the board and then break those connections out to debug connectors. The image below illustrates the board in the mount, without the pogobed, but if you look closely, you can see how one of the pogopins connects with a header pin:
We’re still finishing up the engineering on the pogobed, so we’re likely 2 weeks out before we can really start the validation on these final boards. Once the pogobed is fabricated and then assembled, it’ll take another week to get the boards and pogobeds shipped to the various engineering team members around the world, and at least another week, or maybe two to do final validation.
Final Board/Shipping Schedule
Therefore; the march to shipping final Kickstarter reward boards looks like the following (note all timing is estimated):
2 weeks - Fabricate Pogobed PCB (1 week) and Assemble (1 week); ETA April 19th
1 week - Ship to worldwide team members for validation; ETA April 26th
1 - 2 weeks - Validate Final PCBs; ETA May 10th
3 - 4 weeks - Put rest of PCBs into assembly; ETA End of May/Beginning of June
1 week - Package and ship! ETA 1st of 2nd week of June
Wilderness Labs Partner Program
Are you building a commercial product on Meadow or just can’t wait to get your hands on a Meadow board? We’re opening up our Partner Program for folks that want ongoing access to Wilderness Labs’ beta offerings (including the Meadow F7 micro), as well as priority support and access to the team. $5k/year gets you exclusive, early access to new beta hardware and upcoming services, as well as a dedicated line of communication and support from us. For more information, drop us an email.