Microcontroller Project | Pick To Light Software solution
Home » Embedded Systems » Microcontroller Programming | Course Home » Microcontroller Programming | Projects » Microcontroller Project | Pick To Light Software solution

Pick To Light Software solutions 

Embedded Systems | Pick to light software solutions

Project Brief

Pick To Light software solutions is an is client server concept used in warehouse management. The goal of this project is to implement a client using PIC micro-controller.

About this project

TYPE Individual project
DIFFICULTY Intermediate
PUBLISHED May 15th, 2021
CONTACT training@emertxe.com


Pick To Light software solutions is a system designed to streamline and automate warehouse or shop floor operations. Automation is mainly done for picking operations thereby increasing efficiency, productivity and picking accuracy. It primarily uses alphanumeric displays and buttons at storage locations, to guide the shop floor operator in light-aided manual picking, putting, sorting, and assembling of various components. 

Let us consider a vehicle manufacturing shop floor. The shop floor worker has to select between two parts, say X and Y, available in two different bins. There is a dependency on the shop floor worker to choose between X and Y. In case he gets his choice wrong it may result in a wrong action down the line. The Pick to light system comes into picture here where the shop floor worker doesn’t have to make a decision, instead he just follows the light picking parts as they are indicated. Here is how a typical flow would look like. 

  1. In order to implement it using a PIC based micro-controller, following things are required: 
  2. We have to know this in order to light the correct parts bin for next item
  3. All parts need to be sorted out in bins
  4. Light above each bin need to glow when that part is to be used
  5. After picking the shop floor worker will press a say a switch to confirm the pick 
  6. Move on to next pick and repeat 

Instead of implementing the whole system, the aim of the project is to implement the client which is nothing but a PIC micro-controller in our case.

Requirement Details

Here are the requirements of Pick to light software solutions project. 

  • Default Screen

When there is no data from the server the display should be blank. This will be called as Operation Mode henceforth

  • Mode Selection

By pressing the MODE key the display should toggle between Operation Mode and Config Mode

  • Config Mode

This mode should provide two facilities

    1. Update Stock to server
      1. Press CF key to enter this screen
      2. The stock count should start from 0
      3. INC key is used to increment the stock count on display
      4. ACK key send the displayed stock count to the server
      5. Return to the Operation Mode
    2. Set Node ID
      1. Press CF key to enter this screen
      2. The default Node ID should be displayed
      3. INC key is used to increment the Node ID
      4. ACK key updates the Node ID and stores it in persistent memory
      5. Return to the Operation Mode
  • Operation Mode
    • The pick count received from the server should be displayed on screen
    • The Pick Indicator should blink at the rate of 2Hz
  • Send Picked
    • The received pick count should be modifiable with the help of INC and DEC key
    • ACK key transmits the data to the server
    • The Pick indicator should stop blinking after transmission

Skeleton Code

The skeleton code in a very interesting concept used in Emertxe. By looking into the skeleton code, you will get a clear picture into converting the given requirement into a working solution. This will also take care of important aspects like modularity, clean coding practices, re-usability etc. Click on the button given below to download the source code skeleton for Pick to light project. 

Sample Output

Here are the sample output expected by the end of project execution.

Embedded systems | Pick to Light software solutions output

Fig1: Idle State. Display should be OFF unless and until count to be picked is received or node detects any user activity

Embedded systems | Microcontroller programming output

Fig2: Operation Mode. View of data received from the server. You should be able to modify this count using Inc and Dec
Keys. Once set press Ack key to send the data to server back

Fig3: Config Mode. When the config key is pressed, the node should display this indicating Update Stock

Embedded systems course | Microcontroller programming | output

Fig4: Config Mode. The second press of config key should display this indicating Node ID. Subsequent press of config key
should toggle between above 2 screens

Embedded systems | Microcontroller programming output

Fig5: Config Mode. Possible in send stock screen, where you can set the required count and send it to server

Pick to light software solutions | output

Fig6: Config Mode. Possible in set Node ID screen, which will be stored in EEPROM