Which board for pick2light project?

Hi all,

Very new to Arduino and need some hardware advice. I'm building a pick-to-light system which will be controlled by a Pi3 and each node have an Arduino board. Each node would consist of the board, a 7 segment x 3 LCD, and a lighted red button.

Working on proof of concept and want to make maybe 5-10 of these nodes. They will be communicating via wifi so the Arduino board has to have wifi. Smaller is better.

The idea of pick2light is an order picking system where each node would be placed in front of a bin of items. Then an order picker would go to the bins where the red button is lighted and pick the number of items shown on the LCD. Then push the button which would turn off to indicate those items have been picked.

Looked at the Nano but no wifi. What has similar form factor (rectangle) that has wifi and can handle the 7-seg x 3 LCD and a lighted red button?

Thanks in advance!

  • Dan

If you just want to build a proof of concept you could start with the Arduino Nano 33 IoT. It has a WiFi module on board.

For real systems you would need to find something with lower power. What is the point of using WiFi if you need to have a power cord. For small scale you could use Bluetooth LE. For larger system e.g. a warehouse the distances you can reliably get with BLE are likely too short. Sub GHz frequencies will allow you to get larger distances.

What is the RPI for?

To house the 'interface/GUI'?

You could set up the RPI as a LAMP server (run your web page/logging..etc)..

AS WELL AS....

configure it to be an MQTT server.. with all the Arduino modules 'subscribed' to the 'TOPIC'

Otherwise.. how does your 'wifi' communication work in your mind?

Your Arduino modules would.........................?

Constantly be polling some database/source to see if there is an 'update' so it can display the # on the LCD screen and light up the red button?

BristolF6:
Looked at the Nano but no wifi. What has similar form factor (rectangle) that has wifi and can handle the 7-seg x 3 LCD and a lighted red button?

For WiFi, the answer is a WeMOS D1 Mini (not strictly an Arduino) but you need to know what this "7 segment x 3 LCD" actually is.

All very interesting ideas and answers thank you! Again I'm totally new to all of this so bear with me.

I was planning to use the RPI as the PC/Server that would send "picking orders" to the Arduinos wirelessly in case multiple pick locations are scattered around a giant warehouse. I guess a centrally located PC could do the same. Or that PC serve RPIs data. The picking order would consist of a csv file that has sequence number, bin ID (coordinates), and a count in each row. Something like:'

001,bin2,4
002,bin7,2
003,bin8,6

The arduino would receive the file into a working directory and then a Python script would read the csv line by line and light up the light and count LCD at the appropriate bin. Also keep track of missed or out of sequence picks. The "picker" would pick the number of items in the bin and then push the button to indicate complete. The board would receive that confirmation and move to the next csv row.

Klaus_K:
If you just want to build a proof of concept you could start with the Arduino Nano 33 IoT. It has a WiFi module on board.

Arduino Nano 33 IoT — Arduino Official Store

For real systems you would need to find something with lower power. What is the point of using WiFi if you need to have a power cord. For small scale you could use Bluetooth LE. For larger system e.g. a warehouse the distances you can reliably get with BLE are likely too short. Sub GHz frequencies will allow you to get larger distances.

That Nano 33 IoT looks good. I think I have envisioned this a bit wrong. I really don't need an arduino board at each LCD/button node right? Just a small board to mount the LCD and button and somehow daisy chain these nodes together? How would the controller (Nano 33) know which LCD and button are which?

xl97:
What is the RPI for?

To house the 'interface/GUI'?

You could set up the RPI as a LAMP server (run your web page/logging..etc)..

AS WELL AS....

configure it to be an MQTT server.. with all the Arduino modules 'subscribed' to the 'TOPIC'

Otherwise.. how does your 'wifi' communication work in your mind?

Your Arduino modules would.........................?

Constantly be polling some database/source to see if there is an 'update' so it can display the # on the LCD screen and light up the red button?

See my outine in the above reply I think I answered most of this.

Paul__B:
For WiFi, the answer is a WeMOS D1 Mini (not strictly an Arduino) but you need to know what this "7 segment x 3 LCD" actually is.

I have seen those ESP8266 boards but aren't they an add-on hat for a Nano or other? Can I use this to tx/rx info and send into to an LCD and receive button events?

I think I need a little architecture advice as well. Really enjoying learning all of this after 20+ years of boring MS.net dev!

BristolF6:
I have seen those ESP8266 boards but aren't they an add-on hat for a Nano or other?

No, they are microcontrollers in their own right and you can upload a sketch to them just like to can to Nano.

BristolF6:
Can I use this to tx/rx info and send into to an LCD and receive button events?

Yes

BristolF6:
The idea of pick2light is an order picking system where each node would be placed in front of a bin of items. Then an order picker would go to the bins where the red button is lighted and pick the number of items shown on the LCD. Then push the button which would turn off to indicate those items have been picked.

This does not sound like a good solution to me. In any real "giant warehouse" there would be multiple pickers picking multiple orders (or parts of orders) at the same time. With your led lights system, how would each picker know if they are intended to pick there or if that is meant for some other picker? What if two pickers need to pick the same item? What if 2 customers want the same item and the same picker is picking both orders?

PaulRB:
This does not sound like a good solution to me. In any real "giant warehouse" there would be multiple pickers picking multiple orders (or parts of orders) at the same time. With your led lights system, how would each picker know if they are intended to pick there or if that is meant for some other picker? What if two pickers need to pick the same item? What if 2 customers want the same item and the same picker is picking both orders?

I agree with all your points. It's a work in progress and ideally would have a better display with picker name and their specific counts to pick. For what I need at this point is a proof of concept that just shows the count and light per bin.

As for the WeMOS D1 Minis that's very cool. They cram so much into a little board!

So would I need one of those at each node like I originally thought?

BristolF6:
So would I need one of those at each node like I originally thought?

It might be simpler to do that to reduce the amount of wiring. And you can get Wemos pretty cheaply. If you are not careful, you might spend more on wire than you save on Wemoses.

But maybe also possible to have the Wemos control a row of displays/buttons. Would need to know more about those to say for sure. The Wemos does not have many pins, so if it is to control a number of displays/buttons, the displays & buttons would need to run on some kind of bus, such as SPI or I2C. The lengths of these types of bus may limit how many displays you can attach to each Wemos. Busses such as rs485 with longer lengths would require extra micro-controllers, in which case, again, you would be better off with more Wemoses.

BristolF6:
I have seen those ESP8266 boards but aren't they an add-on hat for a Nano or other? Can I use this to tx/rx info and send into to an LCD and receive button events?

Abbreviated ESP8266 modules - such as the ESP-01 - have been used as "modem" add-ons for Arduino devices but that is then hampered by the interface between the "primary" processor and the ESP8266.

Since the ESP8266 is itself substantially more capable than the basic Arduinox (except in port current and voltage driving capability), it makes more sense to use its abilities fully as the primary processor, which is what the WeMOS D1 Mini and similar boards (NodeMCU) do. If you want even more capability, the ESP32.

BristolF6:
See my outine in the above reply I think I answered most of this.

IMO.. I dont think you understands how this works.
But if you think the RPI is going to send out a 'wireless' command.. and these Arduinos are just 'going to get them'... you might need to rethink your approach. (which is why I suggested the MQTT approach)

To me its like the difference of:
a.) You call your friend.. his mom answers, you ask if 'friend' is home.. (mom says 'no).. you hang up.. and call right back and ask again if 'friend' is home (again mom says 'no').. you again hang up and call right back..
or
b.) You call your friend.. his mom answers, you ask if 'friend' is home.. (mom says 'no)..... but then says.. I will have him call you as soon as he arrives.
I would think you would want scenario 'B' here.... especially if you plan on expanding this.
but to each their own.

xl97:
IMO.. I dont think you understands how this works.
But if you think the RPI is going to send out a 'wireless' command.. and these Arduinos are just 'going to get them'... you might need to rethink your approach. (which is why I suggested the MQTT approach)

To me its like the difference of:
a.) You call your friend.. his mom answers, you ask if 'friend' is home.. (mom says 'no).. you hang up.. and call right back and ask again if 'friend' is home (again mom says 'no').. you again hang up and call right back..
or
b.) You call your friend.. his mom answers, you ask if 'friend' is home.. (mom says 'no)..... but then says.. I will have him call you as soon as he arrives.
I would think you would want scenario 'B' here.... especially if you plan on expanding this.
but to each their own.

Thanks for this info, I'm definitely open to hearing about better options.

Do you have something I can look at that would explain the MQTT approach? One that would make sense with what I'm trying to do? There are a lot of tutorials online. Again I'm new to these technologies and if I could avoid wading through non-pertinent info that would help.

Sure:

I think these sum it up great, and explain things with good examples/tutorials

[https://maker.pro/raspberry-pi/tutorial/how-to-install-the-mosquitto-mqtt-broker-on-a-raspberry-pi](http://" https://maker.pro/raspberry-pi/tutorial/how-to-install-the-mosquitto-mqtt-broker-on-a-raspberry-pi")

Or you can try your own google search.
Raspberry Pi + MQTT

What I did in my projects was -also- install LAMP (Apache, PHP, MySQL..etc).. on top of configuring my MQTT server/broker stuff.

I alo use a PHP > MQTT class that allows my web apps and other behavior to execute MQTT actions/commands..etc

So I can log things to an MySQL database and have other features for my projects/needs

xl97:
Sure:

I think these sum it up great, and explain things with good examples/tutorials

https://www.baldengineer.com/mqtt-introduction.html
https://www.baldengineer.com/mqtt-tutorial.html

[https://maker.pro/raspberry-pi/tutorial/how-to-install-the-mosquitto-mqtt-broker-on-a-raspberry-pi](http://" https://maker.pro/raspberry-pi/tutorial/how-to-install-the-mosquitto-mqtt-broker-on-a-raspberry-pi")

Or you can try your own google search.
Raspberry Pi + MQTT

What I did in my projects was -also- install LAMP (Apache, PHP, MySQL..etc).. on top of configuring my MQTT server/broker stuff.

I alo use a PHP > MQTT class that allows my web apps and other behavior to execute MQTT actions/commands..etc

So I can log things to an MySQL database and have other features for my projects/needs

Great info thank you!! I will go thru the tutorials. I've used XAMPP for LAMP type install so I'm familiar with that. Having logging and displaying picker stats would be on my list as well.