Design and manufacture of Milk ATM


I agree. I suppose, though, a bigger size than that of nerokas would be better. The one youve shared has a digit size of 0.56 inches while that from adafruit is 1.2 inches


Where do u think would be a good place to start?


I suppose we have two main sections of design

  • Electrical design
  • Mechanical design

We can focus on the electrical design first. But before that, i suppose there are still some things to iron out before we begin.

What is the target market of this system? - if its supermarkets, what difference is there between what we are building and what is there in the market? because we don’t want to build something that can not sell. we may say we want to build a system that is far cheaper than 2500USD, the common price of the equivalent system out there, so people will prefer ours. It may also be an innovation of what is there, to solve a problem with the present system.


First, i think the cost is one problem solved.

Secondly, making it less bulky would allow us to target even small
cafeterias, or fast food shops: especially those in institutions like
universities where one simply wants a drink (and wishes s.he wouldn’t have
to buy the packaging).
We could target various products (milk, yoghurt, soda, water). Milk and
yoghurt could be easy due to the many middle companies upcoming and trying
every market gap to sell their products.

Then there are those importing and fixing the beverage ATMs. We could
convince them.


Great. I think thats clear and sufficient.

So now, this is how we can tactfully approach the system design

  1. Give a general (high level, brief & clear) description of how the system will operate. You can describe how the customer/owner will use the system Mentioning the interactions (Inputs and feedback) with the machine, the features of the system and any other thing to help us get the complete end picture (Vision) of your exact milk ATM machine and begin building to that end.
  2. We’ll then generate a list exact modules required for input & output based on the system operation description above. (sensors, displays, keypad etc - all with their datasheets and Links wil be part of the list)
  3. Based on the knowledge of the various input and output modules to interface with our system above, we can comfortably design the control system. (electrical schematic & PCB design)


The above strategy can apply well in progressing from idea to prototype. I suppose we have covered some good part of the first point. Any gray area can be clarified as we get along.

So, if i get things right, we have these I/0s (with their links - first draft):

#-------------------------B.O.M (ELECTRONICS)---------------------------# 


  1. Programmable coin acceptor 4 coin type – 3800ksh
  2. Keypad (Capacitive touch) – 800Ksh
  3. Digital Temperature sensor DS18B20 – 250Ksh
  4. Analog ph sensor – 4000ksh
    5. ETAPE Liquid level sensor - 80cm – 6500ksh
  5. eTape 0-5V output module – 2900ksh


1. 10 Segment Light Bar Graph LED Display - Green – 100ksh
2. 1’’ seven segment display (1 digit) – 50ksh* 4
3. 128 X 64 GRAPHICAL LCD – 1000ksh
4. liquid flow sensor – 800ksh
5. Solenoid Valve Gravity Feed Normally Closed 24V – 1000ksh

Atmega32U4 TQFP (usb enabled) – 600ksh

*These are main components. Minor components like resistors, capacitors etc can come in a conclusive BOM


what do you think?. the above is just a draft, we’ll update as we progress


Take a look at these big touch screens from 4D systems. in place of the lower end displays we have, and keypad we can put this 7’’ touch screen as the system HMI(human machine interface) and it’d be quite professional.

it costs 179.95USD per piece.
see the video in the Link on usage


The 7" display would be very professional. The end product would totally stand out and look more appealing. Actually, more than the ones in the market. Im not sure, however, how an 18k/= module would affect our final cost. Is it atmega compatible. Will the idea of simplicity of using the ATM still hold?


The draft on input and output seems adequate.

Is the liquid flow sensor necessary? Imagine cleaning milk, yoghurt or soda out of that.

Im not sure, but how many microcontrollers will we need?

On top of the key pad, could we have quick access buttons. Lets say 500ml or 200ml one touch buttons.


On the operation of the Milk ATM:
The owner should be able to buy and place the machine, without installations. He should then easily access the container for refill and cleaning. The coins chambre must be breakproof.
The user (with or without assistance) should easily input coins (btw, what of notes?) and fetch the drink.


I was thinking, what if the ATM is solar powered?


Hey Emanuel, yes it is compatible with arduino, and any other microcontroller. Programming is done on computer software and data generated uploaded ditectly to an sd card that plugs into the screen. Variables that control the UI are passed to the screen from the microcontroller

The screen may not be suitable for the low end system if you are planning to have one. I’d say, you can make a range of these systems from the lowest in cost, to the highest.


The hardware required is also very simple


If we get rid of the flow sensor, how shall we measure the output?


It the valve allows a given volume to flow per second, then it can be timed. So lets say opening the valve for eight seconds = 500 ml.


The 7" screen is great. But i guess ill start with the 7 segment display first. For affordable prototyping


Im trying to get started with the microcontroller, and im having trouble programming atmega 328p. (im trying to avoid arduino.


Hey Emmanuel,
I suppose going with 7 segment display for now is good. I second you.

Concerning measuring the volume of milk using time of valve opening - it is a nice idea, i’ll however add another variable - height of milk in the tank (we’ll get from the level meter)





This computation can be done by the micro-controller, to accurately measure the output by varying time of opening valve.


I’ll help you with the programming of atmega328 standalone. it is quite simple.