Help with Arduino or Raspberry Pi project

I’m currently working on a design for a device that would read an NFC RFID tag and use the data encoded on the tag to “speak” an associated word or phrase. I’ve done some initial work to determine available technology for the “read” step and that looks pretty straight-forward. I’ve struggled trying to find appropriate technology for the “speak” step.

I’d like to talk to one or more people who are proficient with Arduino and/or Raspberry Pi to understand which path is likely to be successful and which technologies to employ. I have a pretty good idea of what the device should look like and how it should behave. In the end, it would be an Open Source, DIY device.

If you’d like to help, please contact me directly via the forum.

Thanks,
Ken

2 Likes

Both Arduino and Pi can play audio clips very well, although it’s a bit more complicated on the Pi. There’s a great site for using audio on the Arduino Teensy here: https://www.pjrc.com/teensy/td_libs_Audio.html

If I can help in any way, I’d be happy to contribute to this cool idea!

Thanks, Justin. I’ll give it a couple more days to see if anyone else volunteers and then I’ll send out an email message to figure out a day/time to talk. What’s your email address? Mine is ken@volksswitch.org.

If you end up running on a Raspberry Pi, this page has an overview of several packages: https://elinux.org/RPi_Text_to_Speech_(Speech_Synthesis)

I haven’t worked with speech synthesis software, so I can’t vouch for any of them, but thought the info might be useful.

1 Like

I bet the answer you get will depend on a person’s background :smile:

To me, using a Pi sounds way faster to get the audio working, since it can just be plugged into computer speakers and play audio clips from any preferred language (python, shell script, etc).

But then reading NFC may be easier on an arduino. I’m a big fan of PN532s. What are you using currently?

And will this project be to associate something like one dozen common words with NFC tags? Or to allow spelling out words and do text-to-speech?

Hi Christopher,

Let’s talk. What time zone are you in?

Thanks,

Ken

Sounds good! I sent you a direct message.

Oh this sounds like a great project! Let me know how it progresses. I was actually thinking of the same thing to help create more object-based speech interactions for students who struggle with more traditional grid-based AAC systems.

I was looking into Mimic which is the TTS engine in Mycroft for another crazy idea I had. It’ll run on a Rpi and is open-sourced with an almost natural-sounding voice.

@KenHackbarth , I am back. :slight_smile:

I am good with Arduino, let me know if i could help you in this project.

@gagansekhon993 joined yesterday as a volunteer from USA.
I am sure she could contribute a lot with her skills and experience in doing electronics and programming.

Welcome to MakersMakingChange, Gagan. :blush:

@MMC_Jake @MMC_Milad @KenHackbarth

2 Likes

If she has experience with SPI and Arduino… especially getting multiple SPI slaves to communicate with the Arduino and not step on each other, then I’d love to hear from her.

2 Likes

Welcome to the Forum @KenHackbart .

You can use both but each have pros and cons. The use case and requirements are very important here. Are you hoping to turn it to a portable device? Are you hoping to use machine learning?

Raspberry Pi is definitely faster to get things up and running which is great for prototyping. However, you don’t want to run a full OS unless you really need the processing power.

Arduino is a better option for a portable device as it consumes less power.

Raspberry Pi has license to play different sound formats without additional hardware which is great.

You may also want to check the NFC reader compatibility which each as it may not have CircuitPython or Arduino libraries ( unlikely ).

Milad

1 Like

Hi Milad,

After further consultation, Arduino is by far, the best choice based on my requirements. Thanks for your thoughts.

Ken

1 Like

Unfortunately, we’re currently limited to developing on a MKRZero Arduino because it has an onboard SD card reader with its own SPI bus. We’re having trouble figuring out how to control multiple SPI slave devices (RFID tag reader and SD card reader) via a single SPI bus. A Google search says it’s possible but I’ve not seen a simple code example that I could use to test the concept. If we could overcome that problem then a wealth of Arduino boards could be used.

Thanks @Gurbaksh_Singh :slight_smile:

Hi Ken,

You can control multiple slaves from Arduino using separate slave select lines for each. Not sure if you came across this before but here is a good writeup along with a code sample on how this can be done http://www.learningaboutelectronics.com/Articles/Multiple-SPI-devices-to-an-arduino-microcontroller.php.

If you want I can give it a try myself. Let me know which RFID tag reader and SD card reader you are using.

Best,
Gagan

1 Like

Hi Gagan,

Yes, I’ve seen that article. It’s not clear where things are going wrong.

We’re using an RC522 RFID reader board like this one (https://www.amazon.com/gp/product/B07KGBJ9VG/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1) and an SD card reader/writer board like this one (https://www.amazon.com/gp/product/B0089SYU9C/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1). We’re reading from MiFare RFID tags like these (https://www.amazon.com/gp/product/B01LZYOR7P/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1), though most RFID boards come with one or two (usually in the form of a card or a fob).

We’re trying to leverage the code in SD.h and MFRC522.h and associated Arduino example code. We read the tag and then based on the data on the tag (UID is OK) we want to play a WAV file. Both boards need to be functional in the loop() function.

I’d love to see the code and wiring that works with a simple board like an Arduino Uno.

Thanks,
Ken

1 Like

Hi Gagan (@gagansekhon993) ,

Have you had any luck putting an RFID reader and an SD card reader/writer on the same SPI bus?

Thanks
Ken

A member at my local hack space shared this article with me about a similiar idea, that I thought may be interest and related to this idea.

Where it “may” come in handy is for the RFID-based switch I’ve been experimenting with…

Howdy… just following up on this thread here. I started going the Rpi route with this idea since I’m more on the beginner end of things. I’ve managed to connect the RC522 and have a little program going that asks for data to write to the tag and then reads the info for the written tags. I’ve been successful with using a Bluetooth-connected speaker and get text to speech output using both espeak and Mimic. The quality of the voice however is not the best so I’m thinking of seeing if I can figure out the Google Cloud text to speech API or any other library that is recommended?

It would be nice however to have everything be a bit more compact and wondering if anyone has experience with Arduino text-to-speech libraries? Anything nice-sounding? Can I get Google cloud to work on Arduino?