ABSTRACT
We present Motion-powered Gameboy, the first robust, motion-powered, user-friendly personal mobile gaming device. Our design is based on the ViPSN platform, implemented with a bistable energy harvester and bistable display. Bistable display technology makes it possible for screen-focused interactive battery-free devices to show images continuously even after power failure. A bistable energy harvester can be treated as a relatively stable energy source given the unique advantage of mechanical potential energy pre-charging. With a pre-designed bistable energy harvester and advanced energy management method, the amount of energy generated by button click can adequately meet it demands to perform an interaction, which guarantees the consistency of user experience in the application. The design methodology of Motion-powered Gameboy provides a valuable aspect for the development of interactive motion-powered devices.
There are many forms of bistable energy harvesters that have been widely discussed (e.g., ZF, Chlorop, and Linptech). PM5600 from Linptech is chosen to power the application considering the cost. The mechanical structure of PM5600 is symmetric. Thus the potential well is correspondingly symmetric, and it has two of the lowest overall energy points.
PM5600 can harvest energy from a state change, and the harvesting process can be illustrated as steps below:
1. The initial position of the magnet on the harvester is at one of the two lowest overall energy points.
2. While the user continues pressing the plectrum, the plectrum gets bend. The elastic force from the plectrum increases with the bending (but is still smaller than the magnetic force in this process), elastic potential energy is stored in the bending plectrum.
3. The plectrum will reach the critical point when the elastic force offered by the plectrum equals the magnetic force, and the magnet is still at the initial position.
4. A elastic force larger than the magnetic force will break the balance. After that, the magnetic force cannot counteract the elastic force anymore; energy stored in the plectrum will be released to speed up the magnet to move from the initial position. The magnetic force from the other side will increase with displacement increasing, which will furtherly speed up the magnet until it moves to the other stable position. The total energy will fall to the other lowest points in the potential well at the same time. During this process, the magnetic field intensity through the coil rapidly changes so that energy can be released in the form of charge transition.
Since the characteristics of the potential well are determined by the mechanical structure, once the load is fixed, the amount of energy generated by each click is fixed too.
There are several things to do to reduce power consumption:
1. Maximizing time in low-power modes (interrupts to wake the processor and control program flow);
2. Switching on peripherals only when needed;
3. Reduce extra control flow.
In this project, we struggle to reduce power consumption mainly from four perspectives:
1. Interrupts to wake the processor and control program flow
2. Modification in communication protocol
3. MOS to switch on/off peripherals
4. Optimization of the state machine and peripheral operation flow
The hardware architecture is shown in Fig 3, we employed MOSFET to switch on the Eink only during the updating.
For the software part, as shown in Fig 4, the MCU enters the Power Management mode (PM mode or low-power mode) after completing essential initialization. The low-power mode power consumptions of each component are listed in Table 2. The total power consumption is around 26uW. Interrupts of reaching the threshold generated by the Low-power Comparator (LPCOMP) would wake up the microcontroller, the MCU would initial Eink over SPI upon the wake-up and then restore the previous game process from FRAM. After a new frame of the game is processed, a snapshot of the current state would be retained into the FRAM.
And we modified the operation flow of the EPD as shown in the figure in Section: Bistable Display. It is a little trick that I found in experiments that perhaps does not work for other peripheral. The modification makes it possible to jump over the full-screen update process, which is required by the manufacturer in the sample code. After that, we can transmit the old and the new image sequentially, then call the function to process the partial display. We also modified the SPI protocol by finding the most energy-efficient transmission rate and putting the MCU into sleep mode with the help of Direct Memory Access (DMA) and interrupts.
The total energy consumption is reduced by 70 percent as shown in Table 5.