Print layout (Slave) til Display OLED modul (16x2)

Mejlby

Member
Hey guys

Does anyone have a print layout (circuit) to make an LCD driver (slave) for serial OLED module (16x2) as shown in the picture.

I would like to try to do it myself :D


24939



Unfortunately after the UK has left the EU, it will cost me around 70 euros in shipping and tax and VAT before arriving in Denmark -
I think it's a little expensive: :D :D

Best regards
Mejlby
Denmark
 
Last edited:

Buzby

Senior Member
Yeah, it's not so good on this side of the Channel either :( .

However, it should be easy to draw up a PCB layout for what you need. Then email it to China.

Two weeks later you will have 10 boards, manufactured and delivered from half way round the World, for 5 euro.

If you just want to experiment with writing software for the module, that could be done with a breadboard and some jumper wires !.
 

matchbox

Senior Member
If I was going to make my own version of this board. I would consider making it with a 20X2 or 20M2.
I've made many projects over the years with this board solely. And wished it had a few more spare pins available, and they were the pins that had more functionality.
 

Mejlby

Member
I still have a lot to learn about Picaxe. :D

Currently I am looking for a diagram for LED driver for Picaxe standard firmware. There are so many talented guys here in the forum so there is probably someone who has a chart:D

Regards Mejlby
Denmark
 

hippy

Technical Support
Staff member
The notes I have ...
Code:
AXE132 / AXE133 / AXE133Y pinout
================================
                                   

                                       C.2 C.1 C.0  V+  0V
 
  .-------------------------------------------------------------------------------.
  |                                     O   O   O   O   O                         |
  |----------.        O Vo       _______________________________             |O|  | IN  C.5
 -|          |       / \        |_                              |  _         |O|  | V+
| |          |      |   |        _|        PICAXE-18M2          | | |        |O|  | 0V
 -|          |   0V O---O V+    |_______________________________| |_|             |
  |----------'                                                                    |
  | O O O O O O     O   O   O   O   O   O   O   O   O   O   O   O   O   O   O   O |
  `-------------------------------------------------------------------------------'
    | | | | | |     16  15  1   2   3   4   5   6   7   8   9   10  11  12  13  14
    | Z A Z | A     A   K   0V  V+  Vo  RS  RW  E   D0  D1  D2  D3  D4  D5  D6  D7
    |       |
    V+     C.2          0V  0V  V+      C.7 0V  C.6 B.0 B.1 B.2 B.3 B.4 B.5 B.6 B.7



PICAXE pin mapping
==================

B.0  Out  D0
B.1  Out  D1    I2C SDA
B.2  Out  D2    HSERIN
B.3  Out  D3
B.4  Out  D4    I2C SCL
B.5  Out  D5    HSEROUT
B.6  Out  D6
B.7  Out  D7

C.0  I/O  Spare
C.1  I/O  Spare
C.2  I/O  Spare / Backlight control
C.3  Out  Programming Serial Out
C.4  Inp  Programming Serial In
C.5  Inp  IN ( Serial Data Input )
C.6  Out  E
C.7  Out  RS


Notes
=====

There is no universal agreement from LCD and OLED manufacturers as to the numbering of pins
15 and 16 and some manufacturers may have the numbering swapped but functionality ( K nearest
0V ) should be consistent regardless of numbering convention used.

;            .----------.
;            |      C.0 |---> spare 0
;            |      C.1 |---> Spare 1
;            |      C.2 |---> spare 2     LED / OLED
;            |          |                .----------.
;            |      C.6 |---> LCD E ---->| E        |
;            |      C.7 |---> LCD RS --->| RS       |
;            |          |                |          |
;            |      B.0 |---> LCD D0 --->| D0       |
;            |      B.1 |---> LCD D1 --->| D1       |
;            |      B.2 |---> LCD D2 --->| D2       |
;            |      B.3 |---> LCD D3 --->| D3       |
;            |      B.4 |---> LCD D4 --->| D4       |     -.-
;            |      B.5 |---> LCD D5 --->| D5       |      |
;  RX )----->| C.5  B.6 |---> LCD D6 --->| D6       |     .|.
;            |      B.7 |---> LCD D7 --->| D7       |     | |
;  0V )--.   `----------'                |   _   Vo |<---|| |
;        |                            .--| R/W      |     |_|
;        |                            |  `----------'      |
;  0V ---^----------------------------^--------------------^-
 

inglewoodpete

Senior Member
Does anyone have a print layout (circuit) to make an LCD driver (slave) for serial OLED module (16x2) as shown in the picture.

I would like to try to do it myself :D
I developed an interface like this, using a 20X2, using stripboard. The 20X2's background serial receive allows much faster data rates.

Regardless, it should be a relatively straightforward task to translate the 18M2 version to stripboard/(veroboard), too.
 

hippy

Technical Support
Staff member
The 20X2's background serial receive allows much faster data rates.
And having automatic buffering of received data allows time for more leisurely output to the LCD, the use of 4-bit mode, more processing to be done on escape codes etc.

The AXE133 was designed for minimal costs and that dicatated a PICXE-18M2 with the limitiations there are.
 

Mejlby

Member
Hello everyone

Thank you very much for the answer. I want to continue working with 18m2, it is the one I know the most about :Dand have made some projects.

Thanks to Hippy for the chart. I will try to make it.
just a question: Does it work on Picaxe firmware that can be downloaded on Picaxe?
LINK: https://picaxe.com/downloads/axe133y.bas.txt

Bedst Regards
Mejlby
Denmark
 

mikeyBoo

Senior Member
You could use a DS1307 clock chip’s RAM as an I2C handoff. That way it could be made to work with most flavors of Picaxes & would be way faster than serial.
Would need a “Busy” line from OLED/LCD driver & a “Data Available” line from the Sender.
The 1Hz output from the DS1307 is also useful when you need more accurate timing than a Picaxe provides internally.
Of course, you could use a faster clock with more RAM if you wanna’ send larger data packets.
 

Mejlby

Member
Do you mean as an OLED / LCD driver (master slave)?

As I have mentioned, I have a lot to learn :rolleyes:.........and I do not think I can program a DS1307 as a LCD driver :D


Mejlby
Denmark
 

Mejlby

Member
Hi Hippy and others on this thread


Thank you for your diagram for OLED / LED driver.

I have made attached print layout based on what you sent to me.

Do you think this will work with Picaxe standard firmware?
LINK: https://picaxe.com/downloads/axe133y.bas.txt

Do you have time to look at it.

Or maybe there are other talented guys who have an idea about this :unsure:


24945


24946


Best regards
Mejlby
Denmark
 

AllyCat

Senior Member
Hi,

It looks as if that has the "classical" error with the 10k resistor connected to the wrong side of the 22k. The 10k should be connected directly between "B" and "C". Personally, I would also include an "optional" resistor between V+ and 16-A (the backlight LED Anode), just in case I ever wanted to use a traditional LCD display. Also, it might be more useful to bring out the "General Purpose I/O" pins C0 and/or C1 to a/the connector, in preference to (or in addition to) the "Input Only" pin C5.

The number of tracks which run between pins is not a problem with a professionally-manufactured PCB, but (IMHO) can be troublesome with a "home made" board. Obviously it can't be completely avoided with such a "single-sided" (tracks) PCB, but sometimes it can be worth adding a few links, e.g. zero ohm resistors (or of course any existing through-hole resistors), to act as "bridges", on the components side of the board.

Cheers, Alan.
 

hippy

Technical Support
Staff member
Your input order differs from the AXE133 - You have "IN / 0V / V+" where AXE133 is "IN / V+ / 0V".

IMO, though it makes the tracking trickier, it would be better to make them match. The order on the AXE133 matches standard servo wiring so it can be connected to boards with a 3-pin LCD output using a one-to-one servo cable. It also means no divergence or confusion whether you are looking at Rev-Ed documentation or your own.

Actually, I would extend it so you have "OUT (C.3) / IN / V+ / 0V" then you can use SERTXD to send from the 18M2 to whatever it is conneected to. Useful if used as other than OLED driver or for adding access to an I2C RTC module. Maybe "OUT/ N-C / IN / V+ / 0V" (with the N-C pin pulled from the header) so it's easier to see which are the standard three.

If I were designing such a PCB I would make it slightly wider, put additional rows of holes for header immediately adjacent to the 18M2 chip. That would make it easier to use the boards for other things than OLED, allow acces to spare pins for an I2C clock or whatever.

I would also add a LED+R across the power supply so you can tell when it is powered up.

Finally, tracked to match the AXE133, the standard AXE133 firmware and variants of that should work with your own board.
 

inglewoodpete

Senior Member
Unless you have a source for a 100nF capacitor with 0.1" (2.54mm) leg spacing, I would suggest you space the capacitor's holes at 0.2" (5.12mm).

Personally, for a simple one-off circuit like this I would use veroboard/stripboard. However, that's a personal choice.
 

Mejlby

Member
Hello everyone

Thanks for all the input I have received.

Now I have revised the board

1. 10k directly between "B" and "C"

2. LED across the power supply
(I use a 5V LED without resistor)

3. Match the a 3-pin LCD output to standard

4. Larger soldered pads


Regarding:
Extend "OUT (C.3) / IN / V + / 0V" ...... Is this what you mean HIPPY ??

See red lane

24950


Best regards
Mejlby
Denmark
 
Last edited:

hippy

Technical Support
Staff member
Regarding:
Extend "OUT (C.3) / IN / V + / 0V" ...... Is this what you mean HIPPY ??
Not quite - I meant add an extra pin for OUT. If you connect OUT to IN it won't work, could damage whatever you connect to it. So remove that added red line.
 

hippy

Technical Support
Staff member
Yes, that's how I meant. Though I would use a 5-pin header with a missing pin between OUT and IN/+V/0V. That way, if using a 3-wire cable, you instantly know which end of the header it should use. But no reason not to allow 5, 4 or 3-pin ...

Capture.GIF

Yay! PSP 3.11 is running on Windows 10
 

inglewoodpete

Senior Member
I noticed that your programming socket is fully within the bounds of the circuit board.

If you want your socket to fit flush with (flat on) the board, you will need to either cut a notch in the board or move the socket to extend over the edge of the board. (See attached images)
3.5mm Socket.jpgNotch.jpg
 

hippy

Technical Support
Staff member
One thing I have belatedly noticed is your component and pinout orientation differs from the original AXE133 -
Code:
AXE133 - Viewed from component side

.------------------------.
|__        ______      o | IN
|  |      )______|     o | +V
|__|                   o | 0V
|     oooooooooooooooo   |
`------------------------'
      AK0V           D7
Code:
Yours - Viewed from component side

      AK0V           D7
   .----------------------.
   |  oooooooooooooooo  __|
0V | o     ______      |  |
V+ | o    )______|     |__|
IN | o                    |
   `----------------------'
The AXE133 is intended to sit behind an LCD which has its pins at the bottom of the display. If yours were fitted to the same it would hang off the bottom, and your connector will be upside down, 0V to the top -
Code:
 _____________________      _____________________
|                     |    |                      |
|    ______________   |    |                      |
|   |_             |  |    |                      |
|   | |  A       7 |  |    |       _____________  |
|   |_|  ooooooooo |  |    |      | ooooooooo  _| |
|___|______________|__|    |______| A       7 | |_|
                                  |           |_|
Viewed from back of LCD           |_____________|
Given the reverse silk-screening in your latest images it would be worth double-checking your layout is how you need it to be.
 

Mejlby

Member
Hi Hippi

Yes I discovered it too late :rolleyes: .

After I made the board I saw that it was mirrored.
But ok ... I have tested if I can download to Picaxe 18m2 and it works perfectly. :D :D

I'm making a new one ... it takes approx. 3 hours and then I have fun with it (y)


24963

24964


24965
 
Top