Close
0%
0%

MultiSpork

A wireless analog/digital multitool & data recorder

Similar projects worth following
The MultiSpork is a self-contained WiFi-enabled analog and digital test lab on a single board.

When I'm working on a mobile robotics projects, I often wish I could attach my scope, logic analyzer, or signal generator to some aspect of the 'bot without tethering it to the bench. IOW, what I need is some kind of widget that does the data acquisition on the 'bot and sends it back to a screen. Ideally, it would also have plenty of range, easy configuration, a nice interface (Saleae is my model for how this should be).

Maxim just released a chip, the MAX 11300, that incorporates a good chunk of what's required for this. It gives you twenty channels, each of which can by ADC, DAC, or GPIO, and communicates over a fast SPI bus. Add a TI CC3200 for brains and wifi, and we're in business. Cheap wifi-only Android tablets can be had for as little as $50, so Android is the obvious choice for a host OS.

Note: this just got a major re-write.

The heart of the MultiSpork (and the inspiration for it) is the new Maxim MAX11300, which is sort of a magical little chip. It has twenty I/O lines, each of which can be an ADC, a DAC, or a GPIO line. It can do these functions at voltages ranging from -10V to +10V. It speaks SPI, so it's pretty easy to integrate to the rest of the world. Each channel has diodes to the +10V and -10V rails along with a PTC fuse to prevent the diodes from drawing too much current. Maximum speed is 400 ksps, so it's not a speed demon, but it's fast enough for most robotics applications.

The brains of the operation as well as the connection to the outside world is a TI CC3200. The ARM Cortex-M4 provides plenty of grunt for processing and plenty of bandwidth for offloading data. It can also act as an access point and use SmartConfig, both of which provide very straightforward methods of configuration.

The Energia project has gotten good enough that it's a reasonable candidate for the development environment for this project. One of the coolest recent additions is a TI-sourced RTOS, which provides the ability to run multiple sketches concurrently. This pretty much makes everything easy.

Power is provided by a LiPo battery, which can be recharged by the USB port. Programming is through a USB bootloader. An SD card provides storage for acquiring lots and lots of data.

The MAX11300 has somewhat unpleasant powering requirements. It needs +/- 10V, 5V, and 3.3V. Almost everything else just needs 3.3V. The four rails are produced from the battery by LT3580s, which can be boost, SEPIC, or inverting regulators depending on how they're hooked up.

The interface will be through a cheap wifi-only tablet. These can be had for $50 or less from China, and they make a solid, inexpensive, wireless display option.

  • 1 × MAX11300 Magical 20-ch ADC/DAC/GPIO/etc chip from Maxim. The heart of the operation
  • 1 × CC3200 Passive Filters / EMI-RFI Filters and Suppressors
  • 1 × MicroSD Card
  • 1 × USB Connector
  • 4 × LT3580 Switching regulator that can function in boost, SEPIC, and inverting modes, Allows me to work with one regulator for all four rails.

View all 8 components

  • Hardware freeze? What's that?

    Pierce Nichols05/16/2015 at 05:16 2 comments

    I just had a fascinating conversation with Adrian Fernandez from TI about some cool stuff that's coming out for the CC3200 that may end up optimizing out the Atmel chip. Watch this space...

  • Arduino library

    Pierce Nichols05/10/2015 at 22:35 0 comments

    This weekend, I finally got around to writing an Arduino library for the MAX11300. I know it compiles, but I have yet to test it much beyond that. Note that it also does not enforce configuration order of operations -- it's possible to do it wrong and I don't know how that affects the chip. Issues and pull requests welcome!

  • More hardware futzing...

    Pierce Nichols05/05/2015 at 15:57 0 comments

    I haven't been making all the much progress on this because I've been concentrating on the Arachnio.

    However, I've decided I'm going to strip down even more on the development hardware to get the software up to the demo stage. Here's what the new stack is going to look like, since I largely have the pieces:

    1 x Arduino Due

    1 x Arduino Mega Protoshield (for mounting stuff)

    1 x MAX11300 dev board

    1 x CC3000 shield

    1 x Memoire shield

    I think I have all the parts in hand, except an extra Protoshield. All I definitely have to write is a driver for the MAX11300 and the glue code to talk to the host. Then I have to work on the host stuff.

  • Please support the Arachnio

    Pierce Nichols04/22/2015 at 16:00 0 comments

    I've also been working on another project, the Arachnio. It's the first Arduino Micro variant with on-board WiFi via the ESP8266. You should check it out, support it on Kickstarter, and tell all your friends.

    I'm still working on the Multispork, but it's a more complex and therefore longer term project, so it will be a little longer before it's ready for public demonstration. In the meantime, the profits from the Arachnio will help fund it.

  • Back to work

    Pierce Nichols11/06/2014 at 22:06 0 comments

    I moped about not making the cut for the Hackaday Prize for a couple of weeks, then had an extremely busy October, so no progress to report on that front.

    The key chips for the project aren't currently available from the usual suspects. However, eval kits for the CC3100 and the MAX11300 are available from Digikey et al and Olimex makes a nice one for the SAM3S with lots of prototyping room.

    I've ordered two of each, and I'm going to build a breadboard Multispork out of them so I can get cracking on firmware development and check out what I'll need to add some SRAM.

  • Hardware Thoughts

    Pierce Nichols08/24/2014 at 20:37 0 comments

    I just had a chat with a friend who has some more experience with dealing with SD cards. He told me some unpleasant things about the potential write delays. It looks like I am going to need considerably more RAM as a result. Luckily the chip has a built-in memory controller with an SRAM mode that can deal with an 8 bit wide memory. I may have to switch to a different version of the uC to get enough pins, but that's not too bad. The physical size of the readily available non-BGA SRAMs is annoying, however.

  • PCBs!

    Pierce Nichols08/21/2014 at 01:58 0 comments

    The PCBs just got here today. Too bad I already shot the video -- otherwise, I'd shoot it with them. They're a bit oversized, but having them in hand gives me a much better idea of how I will shrink them to fit. I've uploaded the picture of them sitting on my dining room table.

    For the sake of completeness, here are links to the essential elements of this entry:

    video: 

    system description: https://github.com/logos-electromechanical/MultiSpork/blob/master/MultiSpork/documentation/MultiSporkSystemDescription.md

  • Video!

    Pierce Nichols08/20/2014 at 03:26 0 comments

    Video uploaded! I think that plus the license I just uploaded (Apache, if you care) makes one complete entry. 

  • New Collaborator, PCBs on the way

    Pierce Nichols08/19/2014 at 13:55 0 comments

    Choong Ng joined the project this past weekend to write the app side of the project. I'm rubbish at apps, so bringing him in is key to making this project a success. We shot video yesterday and I'll be editing it tonight so we can hit the quarterfinals deadline. 

    OSH Park emailed me yesterday telling me that the boards are in; I am looking forward to having them in hand. Now time to order the parts and see if I can get some samples out of Maxim. If I can't get samples, this is going to be a very short trip. 

  • Documentation Progress

    Pierce Nichols08/17/2014 at 22:06 0 comments

    I started up a project on Balsamiq for doing app wireframes. See the link on the project page if you are curious. Anyone can see it or comment. This goes along with my recent progress on the system description document.

    I'm also working on a physical model of what the MultiSpork will ultimately look like. It's pure cosmetic mockup, since I don't have the boards, but should make a nice demo piece for my video. 

    My most important task for this week is to put together the quarterfinals video, since it's due on Wed. 

View all 18 project logs

Enjoy this project?

Share

Discussions

clae wrote 08/16/2018 at 18:30 point

Is that 400 ksps per channel, or between all 20 channels?  And is it similar speed when using them as outputs?

  Are you sure? yes | no

clae wrote 08/16/2018 at 18:31 point

This is giving me Ideas, you see, because +/- 10V is the same range modular (music) synthesizers use, for control voltages and for audio.

  Are you sure? yes | no

Katie Fortunato wrote 05/21/2015 at 14:58 point

Ooooh, a wild Shiny has appeared!!! :D

  Are you sure? yes | no

Pierce Nichols wrote 05/21/2015 at 05:53 point

It's an awesome chip. I got distracted (and had a bout of pneumonia) after it failed to advance, but the idea overall is just too cool not to proceed. 

Did you write any library code for accessing the chip?

  Are you sure? yes | no

AVR wrote 05/21/2015 at 05:13 point

Cool project man!!! Sort of similar to my hammerhead board I entered last year, I look forward to how your progresses!  

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates