Close
0%
0%

BassMate

A 4-channel drum machine for easy-to-use rhythm backing. Good for bass practice. With blinkenlights!

Public Chat
Similar projects worth following
When I'm practicing bass I don't like fiddling around with phone apps or something on my PC when I want to set up a rhythmic accompaniment. So I made this - a programmable rhythm box based on the VS1053 MIDI chip.

Once upon a time when you wanted something to set the timing while you practiced a piece of music, you'd reach for your trusty metronome. A piece of metal swinging back and forth on a stick, making a loud and (frankly) annoying "tock" at each swing.

Then electronic metronomes with a variety of annonying noises came along, followed eventually by drum machines, iPhone apps, Ableton live and interactive web pages.

Maybe it's just me, but when I'm trying to get less bad at keeping time, fiddling with a mouse or the controls of some app does not help. 

I also like oscilloscopes with proper knobs and cars with absolutely zero touch-screens in them.

So. Here is BassMate: a programmable (ish) 4-channel rhythm box / drum machine / fancy metronome for people who need real controls and flashing lights.

Here's s demo video. The sound is what you'd expect of a small speaker. Most of the time I use it plugged in to my mixing desk which sounds great :-)


Genesis

No, not the band. This started back in the dark days of 2021 and has evolved in a few directions over time before settling to it's present-day perfection. [Is there an emoji for "OK, so I'm trying it on a bit"?]

Iteration 1: Buy a cheap VS1053 board of EBay, hook it up to an Arduino Uno, add a screen and an Adafruit NeoTrellis

Iteration 2: Hmm. Going to need quite a lot more memory. Also the VS1053 board is rubbish. Let's increase the scope wildly and use an ElectroSmith Daisy Seed to do everything, including synthesis.

Iteration 3: Turns out synthesis is hard. Plus I can't make the Daisy Seed do what I want (dev environment just doesn't work right). Must be my fault.

Never mind, I've got a Teensy in a box somewhere, let's put that in in place of the Daisy Seed, add some more buttons and a few knobs.

This iteration was still a bit over-scoped. It had A bunch of opamps to provide an input buffer and distortion effect so the guitar could be plugged in and the BassMate used as a practice amp. Two loudespeakers. More knobs and buttons than needed. A lithium battery charger and boost converter so it can be portable.

Iteration 4: I discovered the Duppa I2C NavKey and fell in love. This is the answer to my excess of controls. Out go two of the knobs, all four of the big buttons, the opamps, the lithium charger (never worked properly - this baby actually needs a lot of power, especially when a lot of LEDS are lit). Also switched the Teensy for a BlackPill. To be honest I can't remember why I did this. Some of my musings were captured in a Miro board here. I include this because a) I have no shame and b) if you don't know Miro, you need to know Miro :-)

Overall there is nothing special, or even slightly clever about the design (but see below):

  - BlackPill MCU

  - Adafruit VS1053 board (sounds good, can be set to boot into MIDI mode without needing to be hacked)

  - LCD

  - NeoTrellis

  - NavKey

  - 2 encoders

  - amplifier module

  - loudspeaker

The PSU section is clearly a mess - I mean look at this:

Basically, I started with a bunch of linear regulators

  - one for the NeoTrellis because it takes a lot of current and makes a lot of noise when flashing

  - one for the amp because it also takes loads of current

  - one for everything else

And I added a bridge rectifier in front of the regulators so I could plug in any old wall-wart without worrying about polarity. Result?

  - with a 12V supply the regulatorss overheated and shutdown within a couple of minutes

  - with a 9V supply (i.e. what you'd expect to find with a load of guitar effects pedals knocking around) the regulators get worryingly hot with the lid off during testing.

So I put a buck regulator module in front of the lot to cut the voltage to the linear regulators and get the power consumption down to something manageable without having to fit big heatsinks.

Of course, at this point...

Read more »

IMG_1079.JPG

The Sequencer screen

JPEG Image - 5.45 MB - 12/18/2022 at 18:11

Preview
Download

IMG_1082.JPG

Save a preset - entering the name

JPEG Image - 5.57 MB - 12/18/2022 at 18:11

Preview
Download

IMG_1080.JPG

Loading a preset

JPEG Image - 5.44 MB - 12/18/2022 at 18:11

Preview
Download

JPEG Image - 5.50 MB - 12/18/2022 at 18:11

Preview
Download

IMG_1076.JPG

Preview of a saved preset

JPEG Image - 4.45 MB - 12/18/2022 at 18:11

Preview
Download

View all 8 files

  • The Firmware

    ukmaker12/18/2022 at 18:10 0 comments

    It's messy and grubby I'm afraid. 

    A few years ago I created an MBED library called SimpleGUI to help me build the UI for a project using a Nucleo board. Let's be honest, it never really worked. Anyway, I needed a GUI for this project so obviously I resurrected the code, ported it to Arduino and made it work.

    I also needed to get more performance out of the Adafruit libraries so I could update the screen without (too much) flashing. The led me to do two things:

     - extract font rendering from the base class of all LCDs and put it in a pluggable FontRender class which actually has a few implementations depending on which font is being used

     - do some extra tweaking so I could feed bits over SPI to the LCD using DMA.

    So you'll find a bunch of my libraries as git submodules when you clone the repo. I'll be fixing this at some point with correct PlatformIO lib references and versioned releases in GitHub.

    There are also custom OpenSCAD libraries to help with the box design.

View project log

Enjoy this project?

Share

Discussions

Dan Maloney wrote 12/19/2022 at 22:58 point

This looks fantastic! Any videos posted of it in action? I'd love to hear how it sounds.

  Are you sure? yes | no

ukmaker wrote 12/20/2022 at 12:31 point

I just added a demo video in the description. Hope you like it.

If I can work out how to get the Windows Camera app to use sound from my mixing desk and not the webcam you'll hear how it sounds plugged in.

  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