Picaxe Automatic Personal Coffee Machine


An Italian Coffee Company were investigating a way to increase global revenue. After a market research, a strategic decision was to develop a never-existed, high quality and automatic personal coffee machine. A long search and development period conducted the owner of the company to me. The idea was to design a high-level machine capable to give the consumer the next experience possible. The old machine known as “ROBUSTA COFFEE” had been renamed in “GENESIS” indicating the evolution of the machine. So the initial project name was: “Picaxe Automatic Personal Coffee Machine”. I explain in the following article why.


The design phase started collecting all the innovative ideas and functionalities the ROBUSTA GENESIS must contain. The first one was the ability to controlling and maintaining the right temperature all the time, this is the first main part of the automatic machine. Indeed to obtain the best coffee one parameter to control is the temperature of the water drained into the coffee cup. The second functionality was the control of the provided coffee counting in number. The third was to have some information and a general better comfort. All this key-features embedded in a personal coffee machine.
To achieve those requirements I selected the right hardware in term of sensors, processor and general equipment. At the first stage, I completely disassembled the machine. My choose dropped on PICAXE 18M2 Microcontroller considered the capability to drive an I2C communication bus to connect an EEPROM, used to keep the memory of machine usage and coffee provided, and a display used to show information to the consumer.

I bought a DS18B20 Temperature Probe. A cheaper probe perfectly suitable for a technological personal coffee machine designed for home usage. The model was a metal shield sensor able to communicate with the 1-Wire bus.

I drilled the main-block of the water heating element obtain the right place to insert the probe into.

I was ready to went to next phase: prototyping. On a breadboard, the picaxe processor was connected to electronic elements and finally to the I2C bus through which the EEPROM and Display were able to establish connection and exchange data.
The next two phases were the hardware testing and software development.
For hardware testing, I measured all voltages around the picaxe and checked all the connection between the devices. I realized an extra connection to the picaxe processor for the serial protocol RS-232 necessary for programming purpose.

Then was the moment of the software development phase. From the PICAXE official website, I downloaded the IDE (Integrated Development Environment).
The programming language for this environment is BASIC, a very simple and powerful one.
During the software development phase, a lot of ideas were integrated into the machine functionality. A buzzer was installed to catch the customer attention during some activities like start or stop coffee supply. A led stipe to light the coffee cup and the base of the machine increasing the comfort and the experience.

After a week of tests, I was ready to design the main PCB (Printed Circuit Board). In that phase, I designed the electrical connection between the picaxe main processor and all components through a Design & Schematics Software called Eagle.

After the final interconnection optimization phase, I rendered some picture to simulate the final result. The first electronic board was produced physically and installed in the chassis of the machine.

All the connections were adjusted and suited in.
A new complete phase of testing was conducted to make sure that everything worked well. A large quantity of coffee was produced to make sure that the temperature regulation algorithm was as reliable as the electronic board. The electronic board controls directly the mains of the supply pump and the heating element via BC-139 Triac driven by MOC3062 220V Zero-phase detector.

FINAL PHASE – the born of the Automatic Personal Coffee Machine

Finally, into the front plate of the ROBUSTA GENESIS, I assembled a display LCD 16×2 connected via I2C BUS and a led stipe is driven via PWM output signal. As the temperature of the supply group was closer to set-point the led stipe increase luminosity thanks to PWM duty cycle increases and during the coffee supply, the light reaches the maximum light intensity.

All the people who had the chance to taste Robusta Genesis’s coffee said they were enthralled and visually impressed by the beauty of the machine. The difference between a classical coffee machine and the Picaxe Automatic Personal Coffee Machine is simple to understand at first glance.

To allow the manager to check the operating parameters of the machine, I developed a PC interface-APP in a development environment called PROCESSING that uses a programming language called JAVA.

A clear and self-explain interface permits the user to comfortably set and view all parameters and behaviour of the supply phase.

The Robusta Genesis Application was able to set the following parameters:

  • Set-Point Temperature
  • Low Temperature
  • High Temperature
  • Number of Coffee available
  • Pump behaviour (standard start or impulse start)

Some commands could be sent to the main controller like

  • Data store in the memory
  • Data store in the Key (external EEPROM)
  • Reset of the main processor

A monitor status and a temperature gauge complete the information available for the user.

The Robusta Genesis never went into industrial production because of the final total cost of production.

Project Details


    Domestic Application – personal coffee machine
    Personal use home coffee machine (for distribution)
    two models realized for experimental purpose only
    never in production
  • DATE
    Feb. 17th 2013


  • Hardware
    • PICAXE 18M2 Microcontroller
    • EEPROM 24CS01-SSHM-T (1kB bus I2C)
    • DS18B20 Temperature Probe
  • Design Software
    • EAGLE Electronics & PCB Designer
  • Application Software
    • PICAXE Editor
    • Processing v2 (JAVA)

Inner News

Some interesting facts about this project are:

  • Software
    • There were two pieces of software that could be run together or stand alone. The first one was into the main controller developed in BASIC and the second one ran on the PC (if needed) written in JAVA. Two totally different programming languages.
    • Total code rows were:
      • 934 in BASIC
      • 641 in JAVA
      • The connection between two application was established via serial RS-232 cable
  • Electronics Hardware
    • The PCB had an autonomous power supply sub-circuit integrated into it
    • The power to the supply pump and heating element was provided directly by solid-state BC-139 Triac controlled by a MOC3062 integrated chip to ensure wave zero-pass