Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to #2

Open
schmurtzm opened this issue Dec 4, 2021 · 7 comments
Open

How to #2

schmurtzm opened this issue Dec 4, 2021 · 7 comments

Comments

@schmurtzm
Copy link

schmurtzm commented Dec 4, 2021

Hi,

I've made my old Nabaztag v1 working on http://openjabnab.fr but nabaztag V1 board connects only in WEP and it's not acceptable for the security point of view.
I was looking for a way to replace the original board of my Nabaztag V1 when I found your repo. (I start this conversation in the wrong repo sorry).

Replace the brain of the Nabaztag with an ESP32 is an awesome idea !

From what I see in the code :
Button (at top of the head) : GPIO5
Audio out : GPIO36 ? 12,13,14,27 ?
LED RGB : GPIO22 ?

A pinout diagram or some advice could help a lot to wire all these :)

Some questions :

  • Working with your version of server is a mandatory ?
  • Can be considered to make an autonomous Nabaztag ? I mean just a little API on ESP32 to support LED, moving ears and play a short mp3 for TTS..
  • Do you think that testing your solution require a lot of work or it can be done quickly ? (in other words : do you have an ESP32 already compiled firmware and some guidelines to wire it ?)

Thank you.

@dparnell
Copy link
Owner

dparnell commented Dec 4, 2021

This codebase tries to be as much like the original as possible, so it should work with any nabaztag server. I just use mine as it is super easy. As such it does not make the rabbit self hosting. If you are looking for a fully self contained rabbit then something with a Raspberry Pi is probably going to be the best bet.

To compile this code you will need the Espressif IDF SDK installed. From there you should be able to just build the project. I'm going to clone it onto a new machine and see if I can set it up to run under Platform.IO as that is a bit easier to get going.

@dparnell
Copy link
Owner

dparnell commented Dec 4, 2021

It has been some time since I last compiled this code, and it is not running with the latest SDK. It is going to take a bit of hacking to get it to compile. I'm looking into it now

@dparnell
Copy link
Owner

dparnell commented Dec 5, 2021

I can't find my test hardware :( I had a big cleanup in the shed last year and now it I can't find it 😢

@dparnell
Copy link
Owner

dparnell commented Dec 5, 2021

I've found my test hardware :)

@dparnell
Copy link
Owner

ok, the code is now back to compiling and working as expected. The older version of the code used internal functions in the ESP32 SDK. Since the SDK had changed quite a bit over the last few years the code no longer compiled.
I have also updated the code to be easier to compile using platform.io instead of the SDK directly.

Now, to make it work on your hardware you will need 5 neopixels chained from GPIO 22 and a button to 3.3v on GPIO 5.
GPIO 5 has been configured to have a pull down resistor enabled.

@schmurtzm
Copy link
Author

OK so, I can compile it with plaformio now, thanks :)
I don't see any part of code about moving ears, isn't it ?
Do you have some wiring information for the ESP32 ?

@dparnell
Copy link
Owner

dparnell commented Jan 2, 2022

I have yet to implement the ear movement code, but it should be pretty simple to port the original code over to this codebase.
As for the wiring:

The head button is on GPIO 5 and should be join to 3.3v when pressed. I have enabled a pulldown on the input so no external resistor is necessary.
The neopixels are on GPIO 22. The neopixels I use run nicely on 3.3v so no level shifter is required there, but you may need something there.
The sound hardware is as follows:

pin function
18 SPI CLK
19 SPI MISO
23 SPI MOSI
14 audio int
13 audio sci
12 audio sdi
27 audio rst

That is everything that is running at the moment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants