E-Paper Device (EPD) based MiniNote module, powered by mbed on LPC1114FBD48. Shared in public domain with enclosure in 3D step format, hardware interface compatible with microBUS interface. Anyone can contribute on this project.

Dependencies:   mbed _24LCXXX

E Badge Python Utilities

/media/uploads/allankliu/python.png

Python Utilities

Python is my preferred cross-platform programming languages. Once has been tested, it can run in Windows, Linux, Mac as well as embedded Linux such as Raspberry Pi, PCduino and BBB. Although it can run in Android, but module dependencies make it difficult to port modules related to low level hardware.

I present some important modules which are used in E-Badge MiniNote.

PySerial

Since MiniNote uses CP2102 as its UART/USB interface, PySerial is very important to interface between host operation and MiniNote internal LPC1114 micro over virtual serial port.

It can be reused for firmware ISP programming as well. Since serial port has different device name in Windows/Linux, we requires some different versions.

PIL

Python Image Library (PIL) is critical to perform image operations, including crop, rotate, resize, color conversion and more.

Since MiniNote is a display device anyway, image processing is a must feature.

The basic version is dedicated for 172x72 matrix and B/W image.

The advanced version will be upgraded to support any matrix and any color.

QRCode

/media/uploads/allankliu/demo.png

QRCode is very important in popular mobile applications. (The enclosed image is generated by Python QRcode, which points to http://mbed.org/)

MiniNote is designed to support QRcode up to version 13, which is 69*69 matrix, displayed in 172*72 matrix panel.

What can version 13 do? It depends on error correction features.

  • High error correction configuration, it can contain up to 109 UTF8 Chinese characters,177 GB2312 Chinese characters, 259 ASCII+digits.
  • Low error correction configuration, it can contain up to 262 UTF8 Chinese characters,425 GB2312 Chinese characters, 619 ASCII+digits.

We can save general information such as contact, address, name card in version 13. If you want a coarser QRcode, you may use any versions below 13, work with URL shortener services.

Barcodes

Barcodes for Python is another Python library dedicated for 1D barcode generation, including code128B/EAN-13/GS1-128/UPC.

It depends on other libraries to draw, otherwise you can fetch generated binary to draw on framebuffer by user code.

/media/uploads/allankliu/code128-1.jpg

wxPython

I will use wxPython as my desktop GUI toolbox. It can be depolyed to Windows, Linux and Mac with native looking. Before that, most of the code works in command line.

Python Utilities Listing

Since Python utilities are easy to build, easy to forgot and drop. I list some scripts/programs used in MiniNote project.

  • scanport (in WIndows)
  • lpcisp (in Windows)
  • badgeman
  • qrcode
  • fontmaster

Dependencies

Windows XP, Python 2.6

Platform to be tested

Windows XP + Python 2.6 Raspberry Pi Raspbian + Python 2.7 Ubuntu + Python 2.7

Distribution

The code is available from github.com