beatseqr 4.5 is alive

The good news is that after I received my new boards, I was able to put one together and everything pretty much worked reasonably well. Well enough to use as demo units. 🙂 So I have at least one more demo unit that I’ll be completing within the next month or so.

beatseqr version 4.5, assembled PCB

The not-entirely-bad news is that I did find some aspects of the board that I evaluated to be sub-optimal, so I’ve made a handful of changes and have submitted the design for manufacturing. I’m hoping to see those boards by the middle of next week.

This was my first ever project using Eagle cad, and I’m feeling pretty good about it. The learning curve was ok for me. I don’t have any professional experience doing this stuff, so I guess Eagle is easy enough. It’s a little tough at the beginning, but once you get into the groove of getting your parts created in a library, you’re good to go.

I pretty much took it as a given that I’d have some kind of critical bug or wiring error that I’d have to eat the costs of. The errors I found weren’t wiring problems, they were problems with drill sizes. All of the wiring was 100% accurate and functional. I ponied up for the autorouter, and I’m glad I did. I was able to move some things around on the layout, adjust some of the my fail-over pins and pads, re-run the autorouter, and was back to being in the fabrication queue with my board house within a couple of hours. Some people just don’t like eagle’s autorouter, but for me it’s awesome. I have something like 500 holes on my board and the autorouter did the job in about 2 minutes. Easily worth the cost. so I’m feeling like I can go ahead and work on the manufacturing optimizations I’ve been thinking about for pre-assembled units without having to worry about give up all of the hard work I put into the last functional layout.

So, some highlights on this round of boards:

  • the board is now properly branded with the beatseqr logotype. Woo.
  • I took a risk on putting holes on the board for the support legs on my faders, and they work great.
  • I took a risk on putting offset pads on the board in order to use surface-mount board headers to interface with the arduino mega.. and they work pretty well!
  • silk screening on two sides worked as I figured it would. I thought it through and reversed all the text on the b-place layer, and that was a good guess. I missed a bunch of stuff on the t-place layer that should have gone on the b-place layer, so that’s corrected in version 4.51. Lesson learned: change the color of the b-place layer… that will make it easier to see what’s on that layer.
  • I put some holes on the board to line up with the mounting holes on the arduino mega, and they lined up perfectly
  • Totally surprised, pleasantly, that my boards came back routed to my irregular shape, exactly as specified in my design. that’s a major post-production step that I just don’t have to worry about. I’m very happy about that.
  • mounting holes for the project case lined up perfectly. This bullet and the one above are epic, because when I was using my board house’s own PCB layout program, I couldn’t specify the irregular board outline I need, and it wouldn’t let me put my mounting holes as close to the edge as I needed them. Both problems solved by going to eagle cad. Plus I can get silkscreening on the bottom layer at no additional cost, so heck yeah.
  • all of the drill sizes that I ported over from my other design worked very well.

So … after a a few months of cooling the jets and learning eagle, I’m back to full speed ahead again.

DJ Mojo drum and bass demo

Yeeeeah, check this video out! This is my friend DJ Mojo in L.A. He was a major guy in the underground electronic music scene in the 90’s, and since then has been documenting the history of our slice of the musical history spectrum, thinking very deeply about new music interfaces, producing remixes, and mix sessions. Here Mojo is demoing Beatseqr on a Windows machine using the Sonar DAW. Awesome!!

Find Mojo on Facebook, YouTube, and Soundcloud

version 4.5 submitted

version 4.5 has been submitted for a limited test run. Here are the improvements:

0. using eagle cad pro, so that means I now have schematics!
1. highly rectilinear PCB component placement. Obey the grid.
2. surface mount headers for critical pins on the arduino mega. assuming I can get them soldered easily, this will solve the major assembly problem I was embarrassed by on previous versions. (H/T: Kevin… thanks for bringing these to my attention)
3. improved hackable mini protoboard area.
4. improved hackable pins on arduino mega headers.
5. holes for support legs on faders.
6. improved spacing of ledtacts and associated resistors.. should make assembly a little easier.
7. moved the arduino mega’s USB port closer to the edge of the board.
8. WAY improved beatseqr branding on the board.
9. silkscreen on both sides!
10. improved extra pin access to faders and potentiometers.
11. squeezed a piece of art onto the board. It is contained inside the LCD cutout area, so as long as I don’t plow right into it, it should be a really cool limited edition. (5 pieces)
12. included holes to mechanically affix the arduino mega to the board. The units I’ve shipped so far have had problems staying plugged in, and this should solve that problem.

Otherwise, this version, pin-out-wise, is the same as version 4. I’ll be working on changing some things from here, but this version was designed to get me back up to speed on my new tool set.

No jokin’ around. I barely have a clue what’s going on with Cadsoft Eagle. I had never used it for anything before this version of beatseqr, so I have no idea what the results are going to be. I’ll have to retool just about every other aspect of production as a result of making the switch from Advanced Circuits’ PCB Artist on windows to Eagle CAD on the Mac, but I think this is going to pay off in the long run. I want to start making mutations of this board, and I just couldn’t see the way forward any more with PCB Artist. Ironically, Advanced Circuits still had the best price for the PCB fabrication needs I have at this time, so not a total loss for them.

So, now I wait for my submission to clear DFM checks and head into production. Then I wait for my boards to show up. Then I need to build one out and verify everything works. If it does, then I have to redesign the CNC tooling for the PCB cutouts and the case completely, then redesign the silicone button mold and produce it in machinable wax. I have no idea what the state of my silicone parts are in, so could be ugly on that front.

There are a couple few other things I need to figure out too. I probably need to reorder some parts. I haven’t found LRF support that I like. Nothing seems to stick to this PCB case, so I’ll have to source some I can mechanically fasten to the case or, much worse, fabricate a solution myself.

Anyway, three of these units will be probably be available for USD$349 plus shipping and export duties where applicable. It’s going to take me a while to dial all the fabrication steps in, but hopefully by the end of april 2011, there will be some units available.

beatseqr version 4.5 – in progress

Working on it!!

Alright, so I’ve made some hard decisions. I decided to skip showing at Maker Faire this year. I decided to buy eagle cad. I decided to scale back my ambitious product road map. I decided to learn how to walk before I try running in Eagle. Basically, I decided that the pace I was developing beatseqr at was pretty tough to keep up, so I’ve decided to give myself some time to lay the foundation first.

But, I am making progress. Thank you to everyone who has expressed interest! I’m really encouraged by your feedback, and I’m chipping away at the tasks so I can get something ready for sale.

Why arduino?

There’s been some really awesome debate going on about how the arduino “won” and some responses from other microcontroller and hacker communities. Now, I know that the counter argument presented at hackaday was well thought out, and for a large group of hackers, their actual argument may be true (“the arduino is overkill for most things”) but… I’d like to explain why I’ve chosen the arduino for beatseqr.

1. features — The programming environment is available on every platform that 99%+ of end users would use or have reasonable access to, and it’s pretty easy to work with. There’s a ton of code out there to help you get a good understanding of how to get started. It has an integrated USB to serial interface, which I use extensively with beatseqr. It has an easy to use power supply for my project.

2. cost — Limitations always bring out your creativity. For some, the limitation is the cost. So they do what it takes to get to their results with less parts and less cost. For me, the limitation is time. My time is way more valuable to me than the cost of the arduino. Yes, it’s true, if you’re doing an RGB LED mood lamp, the ~USD$35 cost of an arduino uno is way overkill. Consider this, though. It’s obvious that it’s overkill. It’s way above and beyond what you’d expect to *leave* in an RGB LED mood lamp project, so it encourages you to take your successful early projects apart and build something else. So the expense encourages you to squeeze more utility out of your purchase, which encourages more learning. For beatseqr, the benefit I get from having all of the arduino mega ready to plug into my board makes the cost worth it. It’s a significant portion of the work already sorted out for me, and I feel like that’s an acceptable factor in the overall cost of goods for what I’m doing. In fact, it’s been my plan all along to offer a version of beatseqr, *without* an arduino mega in case you already have one.

3. availability — There’s many different variants, but the same basic functionality. As long as the IDE works for the board you buy, and you understand how to connect the board to your computer, you’ll have a predictable experience. Because so many people produce variants, you can find them all over the place. To include the above point, you can find an arduino for most every price point and form factor need.

4. upgradability — with the exception of the new surface mount boards, most arduinos have their main chip seated into a socket. So that made it pretty simple to order a ~USD$5 chip and double the memory in my arduino board. Presumably if Atmel continues to produce higher memory versions of the chip that the arduino uses, you would be able to continue upgrading an arduino fo evah.

5. easy user access to program, reprogram, and/or repurpose — You don’t need to know much when you buy an arduino. You don’t need a whole lot of extra parts to program one. My admittedly limited exposure to working with bare AVR chips was interesting and confusing and short lived. And I know for a fact that it’s the right set of tools for some people. The people who can get their heads around the command line tool chain to program bare microprocessors are people who you want to call your friend, definitely. And I also feel like it’s ok that I’m not one of those people. Basically, the arduino mega snaps onto the beatseqr board. If you ever get bored with a beatseqr, you can take the arduino mega out of it and reuse it for something else. 🙂 That’s a plus in my book. My goal is to never let the beatseqr become that boring. But you could if you wanted or needed to.

6. firmware access — There are options. You can release your firmware or not release your firmware. There’s a reasonable expectation that a relatively technical user could download a firmware upgrade and reprogram a product you make that includes an arduino. Or, better still, modify the firmware to suit their exact needs. This may be possible with other microprocessor solutions, but I really feel like the arduino’s cross-platform programming environment is suited for the widest possible number of users. You download it go, regardless of what computer you’re on. If Pic or Parallax had cross platform gui programming environments, maybe I’d look, but they don’t, so I can’t. By the way, I also don’t program postscript or gcode by hand.

To recap, beatseqr isn’t like most things that are powered by an arduino. 🙂 So using the arduino isn’t overkill. In the most simple way, I’m using almost every pin on the arduino mega for the beatseqr v4 circuit board. Two pins were intentionally left unused explicitly for hacking. And now that I’ve been working on the project for almost two years, I’m starting to imagine a better user experience, and that will require more i/o than even the arduino mega has. So that’s pushing me to learn some things beyond the arduino… which i think is exactly what both Phillip Torrone and Caleb Kraft were advocating, just on different websites.

mailbag 2011-02

We get letters! Well, email. I don’t actually get letters in the mail. But I do get email. So here are some of the correspondences I’ve had with people who have emailed me.

Iz asked me:

is there any possibility to develop a specific device, in the future, based on my needs and design ?
If such a project was remotely possible (as i don’t know who else to turn myself to), what would be the costs involved in making it happen ?
I guess it would vary with the difficulty of realization and various factors like the time you’d spent on r&d etc… but i’d want to know what costs i’m facing…

to which I said:

I’ve spent thousands of dollars developing beatseqr, just in terms of cost of tools, hardware, software, prototyping circuit boards, silicones, cases, and buying parts. I can’t even begin to imaging how much time I’ve spent on it. Hundreds of hours, easily.

I’d plan on $500 if you’re going to build something from scratch yourself. At first the bits and pieces don’t seem like they’ll add up to that much… it just seems to creep in that direction if you haven’t done it before. I’d plan on it costing more if you want someone else to build something for you from scratch. 🙂 prototyping is pretty expensive, which is why I’m trying to sell copies of my project… All that work I did to figure out how to build one, might as well do to a bit more work and try to make more copies.

Keep in mind that the beatseqr firmware is open source, and there are/will be at least one hackable pin on the circuit board that you would be able to use to add a midi port if I can’t get one into the project natively. I’m kind of shooting for that, even if i can’t figure out how to make the box use it immediately… the firmware is always upgradable and either myself or hopefully someone else with a beatseqr will be able to write a version of the firmware that would have a reasonably accurate clock that could be used for midi/sync clock. That’s what’s cool about beatseqr… it’s open and upgradable. If you have a better idea for how it should work, you can modify the program on the arduino… and hopefully share your great idea with other beatseqr users.

Alternatively, you could take a look at a couple of other resources:

livid has what appear to be some really nice DIY things if you’re going to build one copy of a project.
http://shop.lividinstruments.com/builder.html

Sparkfun has some stuff too:
http://www.sparkfun.com/products/9598
http://www.sparkfun.com/products/9108
http://www.sparkfun.com/products/9595

It’s hard to believe, but the electronics are the easy part of building a controller. the case, knobs, and interface stuff are the hard part. Nothing’s impossible, though! I’m not a professional product designer or electrical engineer. When you’re adequately motivated, you can really achieve anything. Don’t try to solve all of the problems at once, just keep solving small parts of the problem and before you know it, you can start to see the overall picture. If I can do it, you can too. 🙂

-steve

Justin ask me:

I recently found your posting on all fader types for your project. Quite a nice piece. Not really a digital guy myself.

I recently bought a old disco mixer, a GLI 5990. In short, I’ve been searching the web for replacement parts, specifically the slide faders with LED’s built in. I found your site with the crazy big picture of sliders, and you have the one pictured, I think, that I’ve been looking for.

I was wondering if you could be of help. I just don’t know what to search for when it comes to faders with the LED in the center of the slider. My old dj mixer used 2 of the faders for cue pan and volume.

Sorry to ask this question out of the clear blue, but I’m just trying every avenue I can find. This mixers over 30 years old and I don’t know if these types of parts are available anymore.

Thanks Steve,
Justin

Ugh, this is a problem I have trying to source parts for beatseqr.

Hey Justin… Thanks for writing! Finding an exactly matching replacement part for *any* gear, regardless of age, can be a frustrating experience.

Mouser has some. Digikey has some as well. I don’t know if they’ll fit, or if the pin configuration will work, or if they’ll have the right resistance, curve type, etc. There are an awful lot of parameters to watch out for. making some careful measurements of the part you need to replace, and then reading the data sheets for candidate parts is going to be key.

good luck!
-steve

Keep those emails coming. 🙂

progress report – january 2011

I’ve been thinking pretty deeply about the beatseqr project and came to the conclusion that I could no longer operate under the vendor-lock-in PCB CAD software I was using. So I went ahead and bought cadsoft Eagle. I had several reasons to do it.

  • I feel like I gave the free and open source gEDA toolchain a solid attempt, and just couldn’t keep up with the technical requirements. I don’t disagree with the general philosophy behind it, and I definitely can see how useful it would be to distribute open schematics and board layouts. I’m not 100% sure where I stand on the topic yet. I think I’d be comfortable distributing schematics, but the really… really… really hard work comes from the layout. So I’m still thinking about it. Beatseqr will always be an open source firmware project — no question about it there. The controller is “JUST” a collection of interface devices. So the magic really comes from what you do with the firmware. I know I’m certainly not the worlds best sequencer firmware designer, so if you feel like you have a good idea for how to use beatseqr and can actually write some code to do it, you should be able to do that. So, to circle back to “why not gEDA” … it was too much for my puny brain to comprehend. There are quite a few features I liked in gEDA, but the iteration cycle was too hard for me. And I’m really too stupid to not have an autorouter.
  • I wanted more freedom to choose which board house to use to get my designs fabricated. The previous software I was using.. was.. actually pretty nice considering it was quote-unquote FREE. It was free in so far that I wasn’t charged to use it, but I was forced to use the company that made the software as my fabrication house for my PCB designs. I may still use them, or maybe I won’t. I wanted the freedom to make a choice.
  • I have a kit-built CNC router and I’ve been really wanting to try PCB trace isolation routing. What the heck is that, you may be asking… well here’s a photo of the first and second trial runs of a concept circuit I designed recently.
    Trace isolation routing #1 and #2
    The basic concept is to have a bare copper clad board held down onto a flat surface, and then have a PCB design… um… inverse-engraved into the fiberglass board. Meaning that the outlines of the traces on a circuit are cut out, leaving isolated areas of copper left on the board, which in effect is what PCB is. This is just a physical removal of unneeded metal, versus a chemical etching of the board do get to the same result.

    The overall reason to have this capability is to be able to test out conceptual designs in a small scale before including them in a main beatseqr circuit board design. The board above is the TLC5940, which is a chip that can manage the brightness of up to 16 LEDs. I have two-times-sixteen LEDs on the beatseqr board, so you can probably understand why I’d want to try out a circuit with this chip. If I can get it to work in line with the beatseqr firmware, I could offload some of the work to these chips, and use the remaining pins for other tasks.

    So why Eagle? Because they have user-submitted scripts you can run that let you take a design and have it spit out instructions that a CNC router can understand called gcode. And that lets me design a circuit and then cut it into “copper clad” for testing and debugging before accepting it into the main beatseqr project.

  • Let’s face it: lots of people use Eagle. I would much *much* rather not have to have spent what I did to get the capability I have, but relative to the other cad packages in the space, it’s not that expensive. And it seems to be used by many many people in the arduino-using community. That’s who my audience is if they’re interested in learning from my work on this project. So it made a certain amount of sense to go with it versus any other package. Plus it runs on the mac, which is not a deal-breaker for me if software doesn’t, but I appreciate having a big chunk of my work flow on my platform of choice. In fact, all of the CNC work flow is on windows, including some special tools to optimize the tool paths of what gets generated out eagle. So it doesn’t bother me, mac or windows…

So that’s why eagle. I really wish there were some interim pricing steps between the free version and the pro version. But there isn’t. So, I had to bite the bullet. And now the bullet is bitten and I’m moving forward on the new version of the circuit boards.

And that’s pretty much the progress report. I’m learning eagle.

Midi Channel Select and Octave Adjust

Here’s a video of me playing around with the new features I wrote into the beatseqr v4 firmware. You can now change the midi channel per voice from a new mode on the faders, and you can also now offset the octave of the midi note numbers from a new knob mode. I’m still working on the interface on the LCD to make it clear what’s going on when you’re jumping around modes but as soon as it’s ready, I’ll make the source available.

Oh, and then I also have an iPad with Korg iMS-20 running. 🙂

Steve Cooley beatseqr arduino based drum sequencer plus reason & iPad + iMS-20 from stevecooley on Vimeo.

midi channel select and octave adjust

wooo, well. I didn’t get around to the treadmill tonight or to recording a 3rd performance. I *DID* implement two kinda nice new features.

1. midi channel select fader mode. After doing these two solo perfs at home, I realized that if I had another kong loaded up and listening on midi channel 16, I could use faders to flip from channel 1 to channel 16 with confidence (all the way up, all the way down) … and that might help me transition from one preset to another. That would maybe free my other instrument up on the other dj mixer channel from *having* to have a kick drum in it.

2. octave adjust knob mode… this basically modifies the midi note number by a factor of 12 as you change it. I couldn’t figure out how to get max/msp to change all of the midi note numbers as I sent the new osc message to steppa… so it just modifies the value when the fader changes the midi note number. So, the knob range is octave adjust -3 to +5 … that covers everything… I probably over complicated it like this, but… just trying to keep things working as-is and then using the working state as the point of reference… (we start at midi note number 36. so any octave adjust is going to be relative to 36 being the “start”… so hence -3 octaves to get to midi note number 1… )

The user interface on the LCD is wiggity weird, but the functionality is pretty fun. I’m starting to wonder if we should have some way to turn off features you never use if you like. it’s starting to turn into a lot of paging…

So yeah, steppa, roxor, and the arduino firmware all need updating to get at this new stuff… uploads coming soon. I feel like I want to think about the interface a bit more before I unleash this on you.