Otto + would be the improved and advanced version of original #OttoDIY, the idea is to have the same base features DIY robot + Bluetooth control and programming + metal gear servo motors + rechargeable + changing modes by touch sensor + sensors + light moves + other outputs +...?
The exciting part is that we are doing open development with makers and hackers around the world so we are open to ideas, not only from expert,s you can join us with , feedback, social share, testing or any other contribution that you might think of.
Baud-rate for programming module is 9600 or 19200 or 38400, depends on a module.
For programming Arduino baud-rate has to be 57600
Arduino nano has 57600 baud-rate for boot loader so BT module must match that speed to be able to program it
For HC-05: (38400?)
Here you can find sketch and wiring diagram for programming your BT module with Arduino Nano: https://github.com/OttoDIY/OttoDIY/tree/master/HC05_BT_config
1. Upload the sketch to your Nano first, then disconnect Nano from USB.
2. Now connect BT to Nano as shown in diagram but do not connect VCC.
3. Plug in the USB to Nano and then connect VCC so BT enters AT mode. LED on BT should start to blink slower, about once every 2 seconds. (If this doesn't work, try holding the button on BT module while connecting VCC).
Open serial monitor in IDE, set baud-rate to 9600 and line ending to Both NL & CR.
Type AT then press enter; (if everything is right, BT should respond with OK and then enter following commands:
AT+NAME=Zowi "setting the name"
AT+PSWD=1234 "pairing password"
AT+UART=57600,1,0 "baud rate"
AT+POLAR=1,0 "enabling STATE pin to be used as reset for programming arduino over BT"
Now go to the APP step
For HC-06: (9600?)
For HC-06 BT module things are a little simpler because module is always in AT command mode when not connected to anything. But the downside is that HC-06 module cannot be used to upload sketches to Arduino because it doesn't have reset. For configuring the module
1. upload this sketch https://github.com/OttoDIY/OttoDIY/tree/master/HC06_BT_config to your Nano
1. disconnect USB
2. connect BT module to Nano like this:
TX - RX
RX - TX
VCC - 5V
GND - GND
3. Power on your Nano and after about 10-15 seconds everything should be finished and your BT should be configured (LED13 should start blinking).
After setup the bluetooth, disconnect again the module and upload this code:
After successful upload connect the module again and will be ready for pairing
Thanks to Juan Felix Mateos we have a Beta android APP that you can test
Or Otto is also compatible with Zowi
Download the official "Zowi App" from bq
Install and open Zowi app, pair the device and ignore the warning message that says the code is modified or something
Rechargeable Battery (optional):
"lipo battery, 500 mAh, with step up converter it danced continuously for 40 minutes before battery run out"
Nano expansion board
Arduino Nano with micro USB connector - i removed shottky diode from it and soldered a wire from it to lipo charger so it only charges from usb and can be programmed via usb but can't be powered from it. But programming is a problem since BT is connected so maybe i will remove connector, plug the hole and use the connector from lipo charger for charging and BT for programming
- Metal gear servos
- 2 switches - had to add 2 pull down resistors 10 kohm
- 5V buzzer
- MAX7219 Dot matrix display - having some memory problems when using it so arduino resets by itself
- HC-05 bluetooth module - had to add 10 microF capacitor on reset line so i can program it over BT
- 500 mAh lipo battery
- Lipo charger board
- Step up converter
With 4x AA 1.5V Energizer can only run about 1 hour and then HC-06 not running
I was using this code: Control the robot from your Android phone: Download the official "Zowi App" from bq Configure the bluetooth module using this code: https://github.com/G4lile0/Bobwi/tree/master/code/v2/arduino/code/hc06_bt_config Then load the Zowi base v2 software: https://github.com/G4lile0/Bobwi/tree/master/code/v2/arduino/code/ZOWI_BASE_v2
Servos consume a lot, and drop the battery voltage under 5V or 3,3V and reset the arduino, to solve this add this circuit:
- Battery -------+-------->|--------+---------------------- 5V arduino. diode | === Capacitor 1000uF /10V |
- Battery ---- GND------------------------------------- GND arduino
In order to make Bobwi work to the app, you have add a button for A0, or just a single wire, and touch it, to make Bobwi change to app mode.
Therefore we want you to play with Otto and helps us to advance in areas like:
- An easier way for programming faster and less drivers or software trouble some like Arduino IDE
- Still can be something like Scratch or Bitbloq graphical coding
- Something tangible like Google bloks
- App like cousin Zowi trough Bluetooth
- Anything to control the robot in and more fund and friendly way, up to you.
- Custom made PCB for Otto, (now we use 2 boards that could be replaced by one with more functions like battery, integrated buzzer and microphone)
- More sensors interactions like poking, tilting or clapping.
- Emotional aspect how can be more than just a robot?
Made with Autodesk circuits you can modify here: https://circuits.io/circuits/1749080-otto-circuit/
Some interesting links and bibliography: