Grandbot is a robot grand-child for my parents. He's my my take on Mohit Bhoite's Chintoo.
- Grandbot is a generative, pattern-based MIDI arpeggiator
- He has different moods based on his self-esteem. These moods affect everything from his expressions, the color of his light, and the sounds he plays.
- To increase his self-esteem, it's important to give him plenty of attention. He currently can be interacted with using a "play" button; if you play with him, he feels better about himself and he gets happier.
- He doesn't like to be ignored though. If you don't play with him regularly, he starts to feel unimportant. If his self-esteem drops too low, he gets depressed.
- He uses a photoresistor to determine when to go to sleep and when to wake up.
- He has an onboard passive buzzer and uses it to make music. The music is mostly randomly generated and is influenced by his mood.
- He likes to set mood lighting using an RGB LED as another indicator of how he's feeling.
I had extra memory, so I decided to program Grandbot to play synths with me. He's now a chaotic, generative, pattern-based arpeggiator.
This requires the additional MIDI board for Grandbot.
The simplest use:
- Plug something that can send MIDI notes and a MIDI clock to Grandbot's MIDI input
- Plug Grandbot's MIDI out into a synth
- Start the MIDI clock and play some notes
- Press the button to generate a new sequence
There's endless potential just doing that. If you'd like more control, there are additional parameters that can be changed using MIDI CC or the optional Grandbot control board.
Grandbot development is what I'm using to learn more about electronics and C++. I write about what I've been learning on my blog. Here are the Grandbot posts:
- Grandbot: Sleep
- Grandbot: Voice
- Grandbot: Play
- Grandbot: Light
- Grandbot: MIDI & Misc
- Grandbot: Arp
- Grandbot: Buttons
- Concurrent Arduino
- 4 Digit, 7 Segment Emoji
- Max7219 Emoji
This was originally built on a cheap Arduino Nano clone.
However I wanted to be able to support 8 bars of 32nd notes in the arpeggiator (the minimum base note length is 16th, but ratchets break that into 32nds) and the Arduino Nano didn't have enough memory. The Arduino Nano Every does! It's a different board with a similar name.