Megapixy, part 4: logo, brightness control, Giger board.

let's detour into visual design - did you notice this on the previous update?

it's the Megapixy logo!

i like Megapixy, and i like making logos. go figure.

in the infinite possibility space of logo (and not-logo) design, some reason must be provided for why anything looks like anything. the Megapixy logo exists because:

  1. Megapixy uses the embedded Displayport video interface.
  2. Megapixy has the same 3:2 aspect ratio as the Chromebook Pixel.

with regards to 1, there's a little homage to the Displayport logo:

MP-DP.gif

as for 2, the Megapixy logo also has a 3:2 ratio.

now back to engineering :D

 

hybrid PWM/PFM brightness control

brightness control should be easy, right? nope.

there's an ATtiny microcontroller on the 'comma' board which reads the brightness dial. the microcontroller creates a PWM signal which gates the backlight driver. it looks like this:

block diagram of Megapixy brightness control (first try).

block diagram of Megapixy brightness control (first try).

some simple measures were taken to reduce electronic noise:

and then, an interesting bug. when the screen was on, i could hear a tiny whining sound!

and to explain that, i'll have to talk about PWM.

cartoon of pulse-width modulation (PWM)

cartoon of pulse-width modulation (PWM)

pulse-width modulation (PWM) means controlling something with a series of on/off pulses. the perceived 'on-ness' (e.g. backlight brightness) is based on the fraction of time when the device is 'on'. this fraction is called the duty cycle. the on/off pattern repeats with a fixed frequency.

the backlight driver's on/off pulses were a PWM running at 500Hz. i was powering the Megapixy with a cheap 5V power supply, which was now having to supply more & less power on a 500Hz cycle. this caused my power supply to buzz audibly at 500Hz - the so-called 'coil noise'. how could i fix this?

i could make the sound inaudible by increasing the PWM frequency from 500Hz (repeating every 2ms) to 20kHz (repeating every 0.05ms).

inaudible to humans, anyway. some dogs might notice.

the problem is, the higher your PWM frequency, the shorter your 'on' pulses:

  • a 20% duty cycle at 500Hz requires 0.4ms 'on' pulses. 
  • a 20% duty cycle at 20kHz requires 0.01ms 'on' pulses. 

during each 'on' pulse, the backlight driver has to turn on and pump up the backlight voltage. this process takes about 0.01ms. if the backlight driver doesn't have enough time to turn on, it shuts down completely until the circuit is reset. with a 20kHz PWM, this places a 20% minimum duty cycle on my backlight brightness control.

why is this a problem? because people like their screens to be really dim at night!

a 20% to 100% brightness adjustment isn't good enough. so what can i do?

there's this other thing called pulse-frequency modulation (PFM):

cartoon of pulse-frequency modulation (PFM)

cartoon of pulse-frequency modulation (PFM)

in PFM, the duration of each 'on' pulse is always the same. to reduce the duty cycle, you can increase the time between 'on' pulses. at very low duty cycles, you will have large gaps between each 'on' pulse, which means a lower (and perhaps audible) frequency.

but PFM is still worthwhile because you can reach a lower duty cycle (brightness) without shortening the 'on' pulse. this gives the backlight enough time to turn on, even at very low brightness settings.

neither PWM or PFM does exactly what i want, but can i combine them to solve my problem?

  • above 25% brightness, i could use PWM.
  • below 25% brightness, i would automatically switch to PFM

the power supply might make sounds in the lowest brightness settings, but at least i would have lower brightness settings.

partitioning of brightness control into smoothly-transitioned PWM & PFM.

partitioning of brightness control into smoothly-transitioned PWM & PFM.

getting a smooth transition requires a teeny bit of math.

featuring a random notebook from a random hotel.

featuring a random notebook from a random hotel.

the net result is a brightness dial which adjusts from 100% (silent) to 2% (almost silent).

cartoon of hybrid PWM/PFM brightness control.

cartoon of hybrid PWM/PFM brightness control.

that's enough about brightness control!

 

i'm still not satisfied

with the Megapixy. why? let me count the ways.

  1. the 'comma' board looks stupid and wastes space. it's a sure sign that i haven't constrained it enough.
  2. the Displayport cable sticks out at a stupid angle, like an awkward elbow. it should attach neatly, next to the screw mount.
  3. the chassis is stupid. the wood warps when wet, the design wastes material, and the bezel bends under my fingers when i hold it.
  4. the LCD panel is mounted unevenly, causing backlight bleed.

let's address 1. why does the 'comma' board waste space?

  • it stretches left to reach the LCD cable, as the cable comes straight up from the panel.
  • it stretches right to reach (and house) the on/off switch & brightness dial.
  • it requires too much z-height, because the tallest components (backlight capacitor & inductor) must fit under the screen.

to fix 2, i want to reposition the Displayport video connector, so i definitely have to move the LCD cable connector. i might as well move it closer to the controls, to reduce board size.

how can i make the cable reach its connector's new position? i can bend it. duh.

i can also move the tallest components out from under the screen. it saves a precious millimeter.

this was around the time that H.R. Giger died, which made me sad. being in a Giger-ish state of mind, i ended up making a PCB which looks.. strangely organic.

i call it the Giger board.

schematic of Giger board.

schematic of Giger board.

layout of Giger board.

layout of Giger board.

Giger board, front.

Giger board, front.

Giger board, back.

Giger board, back.

assembled Giger board in chassis (TBA).

assembled Giger board in chassis (TBA).

LCD cable, bent to reach new connector position.

LCD cable, bent to reach new connector position.

backlight capacitor & inductor, no longer under the screen. the on/off switch cover has a living hinge.

backlight capacitor & inductor, no longer under the screen. the on/off switch cover has a living hinge.

the result is a smaller, denser, more beautiful board which scratches my artistic itch.

but there's still two problems to solve!

  • the chassis is stupid. the wood warps when wet, the design wastes material, and the bezel bends under my fingers when i hold it.
  • the LCD panel is mounted unevenly, causing backlight bleed.

and that's what we'll talk about next time.

next update: fancy chassis design, lasers, lasers, lasers.

 

 

 

Tshen2 2014

Megapixy, part 3: tiny cable adventures. also lasers.

let's revisit that photo from my last post:

why is the bottom-right footprint not like the others?

why is the bottom-right footprint not like the others?

in my last post, i got the Retina iPad LCD panel working. but it was buggy & small & rather underwhelming.

although! that is just one LCD panel in a world full of LCD panels. my approach should work with any panel which communicates through embedded Displayport (eDP). what other eDP panels are easily obtained, which are more worthwhile to hack into?

bear in mind that this is 2013, a year where only Apple computers have screens worth giving a damn about.

except one other computer.

the Chromebook Pixel.

google_pixel_chromebook_hero.jpg

running a stunted operating system on beautiful hardware, the Chromebook Pixel is a mixed bag.

but that screen! it's glorious.

2560x1700 pixels, 13 inches across. that's 4.3 million pixels at 239 pixels per inch. 3:2 aspect ratio. massive contrast, huge viewing angles, colors out to infinity. it's IPS at its best.

what's more - unlike the Retina Macbook screens, the datasheet is available and the price is right. but no one else has done it - why? let's look at the datasheet:

apparently it's got some whacko connector on there - an IPEX 20474-040E-12. how do you connect to that?

i'm guessing that this is where most hackers get stuck. but i really, really like screens, so i keep going.

so i randomly ping LCD cable manufacturers on Alibaba. they're all in China.

has anyone heard of the 20473-040T-10? can you take two of those and build me a 40-wide micro-coaxial array? everyone wants this, right?

and amazingly, someone gets back to me! they want a technical drawing. what?

Cable Diagram 2.png

ok, i made that in Powerpoint. can i has cables?

they say i must pay for cables. but how? ESCROW?

no, not ESCROW! the correct answer is Paypal.

Paypal is how you send money to cable people in China.

omg cables!

omg cables!

omg LCD with cables!

omg LCD with cables!

now to make a crude test board which connects to the LCD panel through that cable.

ding!

ding!

and does the crude test board work?

yes it does!

even with long cables!

so obviously the Chromebook Pixel LCD panel is the way to go. and it's big enough that people might actually use it at a desk. so let's jettison all the internal-battery stuff, and focus on making a really solid wall-powered screen.

 

this is when i actually start making the thing.

i'd like to point out: at this point in my career, i had no idea what i was doing.

i was supposed to design a circuit board? and some kind of chassis? to hold the screen in place?

i am drawing things! with computers!

i am drawing things! with computers!

i'll ask a friend to lasercut the frame, because idk lasers.

and idk mechanical design either. so instead of an enclosed frame, let's make a crappy rollcage with a front bezel and a back panel. but how to hold the panel in place?

let's hold the panel with a 'lip' made from standoffs & Nylon washers:

and now, a PCB!

i call it the 'L' board.

schematic of 'L' board

schematic of 'L' board

layout of 'L' board

layout of 'L' board

'L' board, front view

'L' board, front view

'L' board, back view

'L' board, back view

as per my war on identical rows of buttons, there are only two controls:

  1. an on/off switch
  2. a brightness dial

it's obvious, even in the dark. a dial is ideal for adjusting brightness, and doesn't feel like a button at all.

but this board is horribly flawed, because the Displayport cable and delicate LCD cable end up bumping into each other.

not so good!

not so good!

why is this happening? because the 'L' board is a crude extension of my test board. i tried to keep my high-speed traces as short as possible on the test board, which created that awkward cable collision.

so i have to make a new test board, to put some distance between those cable connectors.

time for more shotgun engineering!

boom!

boom!

the lowest board worked the best.

the lowest board worked the best.

now there's a 90-degree bend between connectors to prevent cable collisions! and with this, i built the 'comma' board.

schematic of 'comma' board

schematic of 'comma' board

layout of 'comma' board

layout of 'comma' board

'comma' board, front

'comma' board, front

'comma' board, back

'comma' board, back

did you notice all those holes at the neck of the comma? they let you snap off the on/off button and brightness dial.

this lets you build a mega-screen with multiple LCD panels and control boards. you only need controls on one board, which communicates with the rest.

i also began doing basic mechanical drawings in Eagle.

mechanical drawing, showing position of control board relative to LCD panel

mechanical drawing, showing position of control board relative to LCD panel

and now, with lasercut chassis. it's alright.

lasercut chassis with 'comma' board, front view

lasercut chassis with 'comma' board, front view

lasercut chassis with 'comma' board, back view. note the 1/4-20 tripod screw mount.

lasercut chassis with 'comma' board, back view. note the 1/4-20 tripod screw mount.

on/off button and brightness dial, coplanar view

on/off button and brightness dial, coplanar view

on/off button and brightness dial, angled view

on/off button and brightness dial, angled view

as compared to my first disaster, it's much lighter, with a more even weight distribution. this means i can mount it on a flexible boom arm instead of a heavy tripod.

boom arm with 1/4-20 screw mount, constructed from this and this.

boom arm with 1/4-20 screw mount, constructed from this and this.

clampy!

clampy!

chassis mounted on boom arm.

chassis mounted on boom arm.

hello!

hello!

i guess it's.. basically functional? but i'm not satisfied.

the LCD panel is held in place by a 'lip' mount below the bezel. this puts uneven stresses on the panel, causing backlight bleed.

and it's ugly.

my work is not done.

next time: Megapixy logo, Giger board, the beginnings of beauty.

 

 

 

Tshen2 2013