Handheld terminals to support placing and picking products in a warehouse

Hi All,

I consider using handheld terminals to support picking up products manually from multiple locations in a warehouse. It’s particularly important in case of a chaotic warehouse, but could be helpful in any other case as well.

The concept, in short, is the following. I’'m not going into details at this stage of the idea. In particular it will be necessary to handle errors and exceptions.

A. Receiving products to a warehouse - just quantity verification: scan a barcode or QR -> enter quantity

B. Placing products to locations in the warehouse.

  1. Assign the task to a selected handheld terminal
  2. Scan location ID, scan product ID (barcode, QR), manually enter quantity of the product placed in this location. Optional: manual selection of product and location - not recommended, but some user may want it to avoid being blocked when scanning ID is not possible.

C. Pick and move products

  1. Assign a picking task to a terminal, together with recommended locations to pick from.
  2. Go to a source location, scan location ID, scan product ID, place the products into a “pick bin”, enter quantity picked if allowed (it may be required to scan each item).
  3. Go to a destination location. Scan the location (may be packing area for example), scan products placed in the destination location and place them tere.

User interface must be optimised for a convenient and reliable operation by big fingers on a small handheld device. The less training required to use the handheld, the better of course.

Has anyone made or considered any kind of a similar solution? If it’s not solved yet, I’m willing to contribute this, so anyone potentially interested is welcome to the discussion of requirements.


1 Like

Hi Andrew,
we currently have one project that will have to solve this topic soon, too.
So it would be great if we could try to team up on this.

1 Like

Hi Korbinian,

Yes. Let’s further discuss the idea and requirements here.


Hi andrew,

I am currently also doing the WMS based on tryton. Maybe we can share the idea too

1 Like

Hi Markus,

Yes, of course. Please consider what are your WMS requirements regarding handheld terminals application.

You may be interested in these developments which have been in production for more than two years now:

1 Like

Hi @albert,

Have you made any docs for that? I can read Spanish if you have anything in Spanish.
It looks helpful, indeed.

I’m sorry but don’t have any docs for that.

1 Like

Ok. We’ll read the sources. They seem to be well structured and commented

This is in my “project nice to start/finish when I have time”.
I wanted to create a tryton gui client that make uses of littlevgl (in short: graphic library for embedded devices).
This because I wanted to design a dedicated hardware for manage inventory in our association (yes, my second name is Stakhanov).

For a “hardwere that need software” solution, I’ll go with the “android phone with barcode reader” from Zebra or the “china special” and develop and android app for your specific requirements.

1 Like

Hi Luca,

Let’s talk more to combine the efforts. I want to demonstrate an MVP picking products from a chaotic warehouse soon, like the next week or so. Very basic functionality. At the moment dealing with Tryton API is the major challenge for us, so any help in this area would be more than welcome. Android app development will be quick for us after we figure out hot to integrate with Tryton.

I did dedicated hardware for a warehouses in the past and we could reuse some parts perhaps. I will be happy to share.
I didn’t know LVGL. Thanks for pointing me. It seems to be well supported by ST and NXP, among others, which looks very promising.

For me the first step is to define generic routes that applications will use like done in Issue 6254: Ship Application - Tryton issue tracker and Issue 6180: Pack Application - Tryton issue tracker.

1 Like

Yes, generally I agree.

We need to separate 2 stages: an MVP or a kind of mock-up and the actual solution.
At MVP stage I’d prefer to avoid any changes to Tryton. and only very basic features are required.
In parallel we need to define a model, routes, use cases for the the target solution.
MVP will allow to test some concepts with end users.
At the moment we haven’t even defined if a handheld application will only work online or we’ll allow offline operation on a local database. If we allow offline, then how we’ll sync data and how to prevent or how to handle handle collisions.

@wifasoi, do you have in mind a kind of “thin handheld client” for Tryton? I mean to use an MCU, like some STM32 and a lightweight UI, programmable in Micro-Python for example?

Yes, the ide was to make a amll, gun shaped device for inventory, and in/out movements. Long ago Istarted prototyping a small device with:


  • ESP32 (3€ dualcore MCU with wifi and bluetooth)
  • A 3.2’’ touchscreen dispay (supported by littlevgl)(like this one)
  • a 2D barcode scanner module like this one

Total estimated BOM cost is: 50€ (for single quantity).
For reducing the BOM cost, one can use an external camera, and implement the barcode recognition algoritm on the ESP32 an example implementation here, but did not tried myself). This will slash the BOM cost in half (total estimated is 20€)


Littlevgl supports the dinamic instantiation of GUI elements, so the first idea was to implement a reduced Tryton client in micropython (or C/C++).
This approach has some advantages (like auto-update of the interface, and no custom code required), but a bit difficult to implement correctly (IMHO).
The more feasible approach is to have some custom made program for the task, and implement the necessary API in Tryton via a custom module.

Project status

The project was on hold because I was waiting the support of the touch controller in Littlevgl (now there is an implementation).
Now I’m round-robing between projects, so this one is waiting in line :smiley: