mirror of
https://github.com/FunKey-Project/FunKey-Project.github.io.git
synced 2025-12-12 18:28:51 +01:00
add automatic external link icon using CSS
Signed-off-by: Michel-FK <michel.stempin@funkey-project.com>
This commit is contained in:
parent
c2c9d149fd
commit
a9f55422b6
@ -90,6 +90,7 @@ body {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Font for FunKey S keys */
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'FunKey-S-Keys';
|
font-family: 'FunKey-S-Keys';
|
||||||
src: url('/assets/fonts/FunKey-S-Keys.eot?b52ver');
|
src: url('/assets/fonts/FunKey-S-Keys.eot?b52ver');
|
||||||
@ -102,6 +103,7 @@ body {
|
|||||||
font-display: block;
|
font-display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Class for FunKey S keys */
|
||||||
[class^="funkey-"], [class*=" funkey-"] {
|
[class^="funkey-"], [class*=" funkey-"] {
|
||||||
/* use !important to prevent issues with browser extensions that change fonts */
|
/* use !important to prevent issues with browser extensions that change fonts */
|
||||||
font-family: 'FunKey-S-Keys' !important;
|
font-family: 'FunKey-S-Keys' !important;
|
||||||
@ -113,54 +115,104 @@ body {
|
|||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
|
|
||||||
/* Better Font Rendering =========== */
|
/* Better Font Rendering */
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
-moz-osx-font-smoothing: grayscale;
|
-moz-osx-font-smoothing: grayscale;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* FunKey S "A" key */
|
||||||
.funkey-A:before {
|
.funkey-A:before {
|
||||||
content: "\e900";
|
content: "\e900";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* FunKey S "B" key */
|
||||||
.funkey-B:before {
|
.funkey-B:before {
|
||||||
content: "\e902";
|
content: "\e902";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* FunKey S "X" key */
|
||||||
.funkey-X:before {
|
.funkey-X:before {
|
||||||
content: "\e904";
|
content: "\e904";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* FunKey S "Y" key */
|
||||||
.funkey-Y:before {
|
.funkey-Y:before {
|
||||||
content: "\e906";
|
content: "\e906";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* FunKey S "UP" key */
|
||||||
.funkey-up:before {
|
.funkey-up:before {
|
||||||
content: "\e908";
|
content: "\e908";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* FunKey S "DOWN" key */
|
||||||
.funkey-down:before {
|
.funkey-down:before {
|
||||||
content: "\e909";
|
content: "\e909";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* FunKey S "LEFT" key */
|
||||||
.funkey-left:before {
|
.funkey-left:before {
|
||||||
content: "\e90a";
|
content: "\e90a";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* FunKey S "RIGHT" key */
|
||||||
.funkey-right:before {
|
.funkey-right:before {
|
||||||
content: "\e90b";
|
content: "\e90b";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* FunKey S "L" key */
|
||||||
.funkey-L:before {
|
.funkey-L:before {
|
||||||
content: "\e90c";
|
content: "\e90c";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* FunKey S "R" key */
|
||||||
.funkey-R:before {
|
.funkey-R:before {
|
||||||
content: "\e90d";
|
content: "\e90d";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* FunKey S "START" key */
|
||||||
.funkey-start:before {
|
.funkey-start:before {
|
||||||
content: "\e90e";
|
content: "\e90e";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* FunKey S "Fn" key */
|
||||||
.funkey-fn:before {
|
.funkey-fn:before {
|
||||||
content: "\e90f";
|
content: "\e90f";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* FunKey S "MENU" key */
|
||||||
.funkey-menu:before {
|
.funkey-menu:before {
|
||||||
content: "\e912";
|
content: "\e912";
|
||||||
}
|
}
|
||||||
|
|
||||||
.md-typeset span.twemoji {
|
/* External link icon */
|
||||||
display: inline-block;
|
:root {
|
||||||
height: 0.5em;
|
/*
|
||||||
vertical-align: super;
|
line left
|
||||||
|
line right
|
||||||
|
line bottom
|
||||||
|
line top
|
||||||
|
arrow left
|
||||||
|
arrow right
|
||||||
|
arrow diagonal
|
||||||
|
*/
|
||||||
|
--icon-external-link: url('data:image/svg+xml,\
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"> \
|
||||||
|
<g style="stroke:rgb(35,82,124);stroke-width:1"> \
|
||||||
|
<line x1="5" y1="5" x2="5" y2="14" /> \
|
||||||
|
<line x1="14" y1="9" x2="14" y2="14" /> \
|
||||||
|
<line x1="5" y1="14" x2="14" y2="14" /> \
|
||||||
|
<line x1="5" y1="5" x2="9" y2="5" /> \
|
||||||
|
<line x1="10" y1="2" x2="17" y2="2" /> \
|
||||||
|
<line x1="17" y1="2" x2="17" y2="9" /> \
|
||||||
|
<line x1="10" y1="9" x2="17" y2="2" style="stroke-width:1.5" /> \
|
||||||
|
</g> \
|
||||||
|
</svg>');
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Append external link icon on all links starting with "http://" or "https://" */
|
||||||
|
a[href^="http://"]::after, a[href^="https://"]::after {
|
||||||
|
content: '';
|
||||||
|
background: no-repeat var(--icon-external-link);
|
||||||
|
padding-right: 0.7em;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -26,16 +26,14 @@ A 3D rendering of the PCBA done in KiCAD produces the images below:
|
|||||||
|
|
||||||
## BOM
|
## BOM
|
||||||
|
|
||||||
An interactive BOM is available in the [next section][4].
|
An interactive BOM is available in the [next section][1].
|
||||||
|
|
||||||
## Schematics and Layout
|
## Schematics and Layout
|
||||||
|
|
||||||
All the hardware design and production files required to build the
|
All the hardware design and production files required to build the
|
||||||
[**FunKey S** retro-gaming
|
[**FunKey S** retro-gaming console][2] electronic PCBA using the
|
||||||
console:fontawesome-solid-external-link-alt:][1] electronic PCBA using
|
[KiCAD ECAD tools][3] are available as Open Hardware in the [FunKey S
|
||||||
the [KiCAD ECAD tools:fontawesome-solid-external-link-alt:][2] are
|
Hardware repository][4].
|
||||||
available as Open Hardware in the [FunKey S Hardware
|
|
||||||
repository:fontawesome-solid-external-link-alt:][3].
|
|
||||||
|
|
||||||
???+ note "Topological vs. logical schematic symbols"
|
???+ note "Topological vs. logical schematic symbols"
|
||||||
|
|
||||||
@ -70,10 +68,10 @@ repository:fontawesome-solid-external-link-alt:][3].
|
|||||||
The schematics will be discussed function by function in the following
|
The schematics will be discussed function by function in the following
|
||||||
sections.
|
sections.
|
||||||
|
|
||||||
[1]: https://www.funkey-project.com/
|
[1]: https://htmlpreview.github.io/?https://github.com/FunKey-Project/FunKey-S-Hardware/blob/master/BOM/ibom.html
|
||||||
[2]: https://kicad.org/
|
[2]: https://www.funkey-project.com/
|
||||||
[3]: https://github.com/FunKey-Project/FunKey-S-Hardware
|
[3]: https://kicad.org/
|
||||||
[4]: https://htmlpreview.github.io/?https://github.com/FunKey-Project/FunKey-S-Hardware/blob/master/BOM/ibom.html
|
[4]: https://github.com/FunKey-Project/FunKey-S-Hardware
|
||||||
|
|
||||||
--8<--
|
--8<--
|
||||||
includes/glossary.md
|
includes/glossary.md
|
||||||
|
|||||||
@ -28,18 +28,16 @@ headphones either.
|
|||||||
{: align=left }
|
{: align=left }
|
||||||
|
|
||||||
The best solution we have found consists in using a single tiny [CUI
|
The best solution we have found consists in using a single tiny [CUI
|
||||||
CDM-10008:fontawesome-solid-external-link-alt:][1] speaker, that is
|
CDM-10008][1] speaker, that is able to output 72 dB spl @ 1m from a
|
||||||
able to output 72 dB spl @ 1m from a 0.3W input power, with relatively
|
0.3W input power, with relatively modest dimensions: 10 mm diameter
|
||||||
modest dimensions: 10 mm diameter and only a 2.9 mm thickness, out of
|
and only a 2.9 mm thickness, out of which 1.4 mm can be inserted into
|
||||||
which 1.4 mm can be inserted into a PCB hole, thus only having a
|
a PCB hole, thus only having a height above PCB of only 1.5 mm.
|
||||||
height above PCB of only 1.5 mm.
|
|
||||||
|
|
||||||
Connections are not easy though, since this speaker is meant to have
|
Connections are not easy though, since this speaker is meant to have
|
||||||
wires soldered to its pads, but we used 2x
|
wires soldered to its pads, but we used 2x [castellated][2]
|
||||||
[castellated:fontawesome-solid-external-link-alt:][2] (half-round
|
(half-round plated holes) pads with a placement just over the speaker
|
||||||
plated holes) pads with a placement just over the speaker pads that
|
pads that enables manual soldering between the speaker and the PCB
|
||||||
enables manual soldering between the speaker and the PCB with a solder
|
with a solder blob.
|
||||||
blob.
|
|
||||||
|
|
||||||
## Schematic
|
## Schematic
|
||||||
|
|
||||||
@ -48,11 +46,10 @@ contains an analog stereo audio codec (coder/decoder): we only have to
|
|||||||
take one of its headphone output channel (left or right) and feed it
|
take one of its headphone output channel (left or right) and feed it
|
||||||
to a mono audio amplifier.
|
to a mono audio amplifier.
|
||||||
|
|
||||||
We chose the [Diodes
|
We chose the [Diodes Inc. PAM8301][3] chip because of its cheap price,
|
||||||
Inc. PAM8301:fontawesome-solid-external-link-alt:][3] chip because of
|
good availability, its more than sufficient output power of 1.5W and
|
||||||
its cheap price, good availability, its more than sufficient output
|
its filterless operation, meaning that no bulky series capacitor is
|
||||||
power of 1.5W and its filterless operation, meaning that no bulky
|
required to drive the speaker.
|
||||||
series capacitor is required to drive the speaker.
|
|
||||||
|
|
||||||
Here is the corresponding schematic:
|
Here is the corresponding schematic:
|
||||||
|
|
||||||
|
|||||||
@ -11,28 +11,26 @@ As can be seen in the page on the [PMIC][1], the soft "ON/OFF" button
|
|||||||
is directly connected to the power management chip, so we are left
|
is directly connected to the power management chip, so we are left
|
||||||
with 4 + 4 + 2 = 12 buttons for game control.
|
with 4 + 4 + 2 = 12 buttons for game control.
|
||||||
|
|
||||||
After testing tactile domes in our [**FunKey
|
After testing tactile domes in our [**FunKey Zero**][2] prototype, we
|
||||||
Zero**:fontawesome-solid-external-link-alt:][2] prototype, we decided
|
decided to go back to integrated tactile switches, as their placement
|
||||||
to go back to integrated tactile switches, as their placement is much
|
is much easier using a regular SMT pick & place machine like any other
|
||||||
easier using a regular SMT pick & place machine like any other
|
|
||||||
components on the PCB, whereas the separate tactile domes required an
|
components on the PCB, whereas the separate tactile domes required an
|
||||||
adhesive tape to be place manually with less accuracy.
|
adhesive tape to be place manually with less accuracy.
|
||||||
|
|
||||||
{: align=left }
|
{: align=left }
|
||||||
|
|
||||||
The [Mitsumi BYS-055A1x12:fontawesome-solid-external-link-alt:][3] is
|
The [Mitsumi BYS-055A1x12][3] is the same footprint (2.5mm x 1.6mm x
|
||||||
the same footprint (2.5mm x 1.6mm x 0.55mm) as the more expensive
|
0.55mm) as the more expensive Panasonic EVBBBxAAB00 tactile switches,
|
||||||
Panasonic EVBBBxAAB00 tactile switches, with a 1.2N actuating force
|
with a 1.2N actuating force for the "**+**" and "**X**" pads, and a
|
||||||
for the "**+**" and "**X**" pads, and a 1.6N actuating force for the
|
1.6N actuating force for the "Start", "Fn" and "ON/OFF" buttons. We
|
||||||
"Start", "Fn" and "ON/OFF" buttons. We found these actuating force the
|
found these actuating force the best match to provide a good feedback
|
||||||
best match to provide a good feedback to the user.
|
to the user.
|
||||||
|
|
||||||
{: align=left }
|
{: align=left }
|
||||||
|
|
||||||
For the rear left and right shoulder buttons, we exeperimented several
|
For the rear left and right shoulder buttons, we exeperimented several
|
||||||
models between PCBA rev. C, D and E, until we eventually decided for a
|
models between PCBA rev. C, D and E, until we eventually decided for a
|
||||||
[replacement for the expensive Panasonic
|
[replacement for the expensive Panasonic EVP-AEBB2A-1][4]:
|
||||||
EVP-AEBB2A-1:fontawesome-solid-external-link-alt:][4]:
|
|
||||||
|
|
||||||
This one as an actuating force of 1.6N.
|
This one as an actuating force of 1.6N.
|
||||||
|
|
||||||
@ -59,11 +57,10 @@ PCB routing, at such a point that we decided to use a dedicated I2C
|
|||||||
GPIO expander chip to relieve the burden from the main V3s CPU.
|
GPIO expander chip to relieve the burden from the main V3s CPU.
|
||||||
|
|
||||||
We use a common chip for this purpose, that is well supported in the
|
We use a common chip for this purpose, that is well supported in the
|
||||||
Linux kernel: the [NXP
|
Linux kernel: the [NXP PCAL6416AHF.128][5]. It is marketed as a
|
||||||
PCAL6416AHF.128:fontawesome-solid-external-link-alt:][5]. It is
|
"low-voltage translating 16-bit I2C-bus/SMBus I/O expander with
|
||||||
marketed as a "low-voltage translating 16-bit I2C-bus/SMBus I/O
|
interrupt output, reset, and configuration registers" that just
|
||||||
expander with interrupt output, reset, and configuration registers"
|
matches exactly our needs.
|
||||||
that just matches exactly our needs.
|
|
||||||
|
|
||||||
As a bonus, this chip features software-controlable internal
|
As a bonus, this chip features software-controlable internal
|
||||||
pull-up/pull-down resistors, so we don't need to add external ones to
|
pull-up/pull-down resistors, so we don't need to add external ones to
|
||||||
|
|||||||
@ -4,16 +4,14 @@ As discussed in the [Design Constraints section][1], a CPU with
|
|||||||
external DRAM chips would take too much real-estate on the PCB, so we
|
external DRAM chips would take too much real-estate on the PCB, so we
|
||||||
had to find a CPU with integrated DRAM.
|
had to find a CPU with integrated DRAM.
|
||||||
|
|
||||||
There are [several options:fontawesome-solid-external-link-alt:][2]
|
There are [several options][2] for integrating RAM in a SoC:
|
||||||
for integrating RAM in a SoC:
|
|
||||||
|
|
||||||
- use SRAM: not possible because of the small amount of memory
|
- use SRAM: not possible because of the small amount of memory
|
||||||
available (64Mbit max.)
|
available (64Mbit max.)
|
||||||
|
|
||||||
- embedded DRAM on the same chip: This is the solution used in the
|
- embedded DRAM on the same chip: This is the solution used in the
|
||||||
[Apple M1 chip:fontawesome-solid-external-link-alt:][3], but this
|
[Apple M1 chip][3], but this chip is not available for retail and
|
||||||
chip is not available for retail and no other solutions seems
|
no other solutions seems readily available
|
||||||
readily available
|
|
||||||
|
|
||||||
- Stacked Chip-on-Chip (PoP): This is the solution used on some
|
- Stacked Chip-on-Chip (PoP): This is the solution used on some
|
||||||
Raspberry Pi boards, but this solution is only available for custom
|
Raspberry Pi boards, but this solution is only available for custom
|
||||||
@ -23,17 +21,14 @@ for integrating RAM in a SoC:
|
|||||||
- DRAM die in SiP: with capacities ranging from 64Mbit to 1Gbit
|
- DRAM die in SiP: with capacities ranging from 64Mbit to 1Gbit
|
||||||
|
|
||||||
We found only 2 manufacturers providing the last option:
|
We found only 2 manufacturers providing the last option:
|
||||||
[Microchip:fontawesome-solid-external-link-alt:][4] and [Allwinner
|
[Microchip][4] and [Allwinner Technology][5]. Microchip solutions are
|
||||||
Technology:fontawesome-solid-external-link-alt:][5]. Microchip
|
too limited in term of CPU power for our needs (ARM926EJ-S or Cortex
|
||||||
solutions are too limited in term of CPU power for our needs
|
A5), so we did not consider them.
|
||||||
(ARM926EJ-S or Cortex A5), so we did not consider them.
|
|
||||||
|
|
||||||
And with the exception of the mostly similar Allwinner S3 CPU which
|
And with the exception of the mostly similar Allwinner S3 CPU which
|
||||||
features the same characteristics but with 128MB DDR3 DRAM in an
|
features the same characteristics but with 128MB DDR3 DRAM in an
|
||||||
FBGA234 package, the [Allwinner
|
FBGA234 package, the [Allwinner V3s][6] is the CPU with integrated
|
||||||
V3s:fontawesome-solid-external-link-alt:][6] is the CPU with
|
DRAM having the highest memory capacity (512Mbit / 64MB DDR2 DRAM):
|
||||||
integrated DRAM having the highest memory capacity (512Mbit / 64MB
|
|
||||||
DDR2 DRAM):
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@ -153,19 +148,16 @@ glitches.
|
|||||||
The SD Card interface is almost a direct connection between the chip
|
The SD Card interface is almost a direct connection between the chip
|
||||||
and the dedicated SD Card connector. Only a single series resistor
|
and the dedicated SD Card connector. Only a single series resistor
|
||||||
**R8** is required on the high-speed clock line in order to [prevent
|
**R8** is required on the high-speed clock line in order to [prevent
|
||||||
ringing:fontawesome-solid-external-link-alt:][7].
|
ringing][7].
|
||||||
|
|
||||||
## Crystals
|
## Crystals
|
||||||
|
|
||||||
The V3s chips requires 2 crystals:
|
The V3s chips requires 2 crystals:
|
||||||
|
|
||||||
- one low-frequency [32.768 kHz
|
- one low-frequency [32.768 kHz crystal][8] **Y1** for the RTC clock
|
||||||
crystal:fontawesome-solid-external-link-alt:][8] **Y1** for the RTC
|
|
||||||
clock
|
|
||||||
|
|
||||||
- one high-frequency [24 MHz
|
- one high-frequency [24 MHz crystal][9] **Y2** for deriving the 1.2
|
||||||
crystal:fontawesome-solid-external-link-alt:][9] **Y2** for deriving
|
GHz clock
|
||||||
the 1.2 GHz clock
|
|
||||||
|
|
||||||
The 24 MHz crystal is used by an internal oscillator to lock the phase
|
The 24 MHz crystal is used by an internal oscillator to lock the phase
|
||||||
of the 1.2 GHz oscillator using a PLL (Phase-Locked Loop).
|
of the 1.2 GHz oscillator using a PLL (Phase-Locked Loop).
|
||||||
@ -183,21 +175,19 @@ The 32.768 kHz crystal features an additional high-value resistor
|
|||||||
thus reduce further the RTC timer power consumption.
|
thus reduce further the RTC timer power consumption.
|
||||||
|
|
||||||
For more details on crystal oscillator design, please check [this
|
For more details on crystal oscillator design, please check [this
|
||||||
application note from STM:fontawesome-solid-external-link-alt:][10].
|
application note from STM][10].
|
||||||
|
|
||||||
## DRAM
|
## DRAM
|
||||||
|
|
||||||
The DRAM within the V3s chip is a [DDR2
|
The DRAM within the V3s chip is a [DDR2 one][11], meaning that its
|
||||||
one:fontawesome-solid-external-link-alt:][11], meaning that its data
|
data lines are clocked using both edges of an up to 400 MHz clock
|
||||||
lines are clocked using both edges of an up to 400 MHz clock signal.
|
signal.
|
||||||
|
|
||||||
At these high frequencies, even short wires have a length that is of
|
At these high frequencies, even short wires have a length that is of
|
||||||
the same order of magnitude as the signal's
|
the same order of magnitude as the signal's [wavelength][12] and thus
|
||||||
[wavelength:fontawesome-solid-external-link-alt:][12] and thus each
|
each signal should be considered as a [transmission line][13], for
|
||||||
signal should be considered as a [transmission
|
which impedance must be matched to avoid signal reflections, requiring
|
||||||
line:fontawesome-solid-external-link-alt:][13], for which impedance
|
termination resistors on the data lines DQx.
|
||||||
must be matched to avoid signal reflections, requiring termination
|
|
||||||
resistors on the data lines DQx.
|
|
||||||
|
|
||||||
DDR2 or DDR3 DRAMs feature merged drivers and dynamic on-chip
|
DDR2 or DDR3 DRAMs feature merged drivers and dynamic on-chip
|
||||||
termination like this ("VDDQ/2" is labeled "SVREF" in our schematic):
|
termination like this ("VDDQ/2" is labeled "SVREF" in our schematic):
|
||||||
@ -211,8 +201,7 @@ resistor **R11** connected internally like this:
|
|||||||
{.lightbox}
|
{.lightbox}
|
||||||
|
|
||||||
More information on the DDR2 DRAM ZQ Calibration subject can be found
|
More information on the DDR2 DRAM ZQ Calibration subject can be found
|
||||||
in this [Micron Application
|
in this [Micron Application Note][14].
|
||||||
Note:fontawesome-solid-external-link-alt:][14].
|
|
||||||
|
|
||||||
[1]: /developers/hardware/design/#design-constraints
|
[1]: /developers/hardware/design/#design-constraints
|
||||||
[2]: https://www.electronicsweekly.com/news/products/memory/how-to-guide-for-on-chip-memory-2012-06/
|
[2]: https://www.electronicsweekly.com/news/products/memory/how-to-guide-for-on-chip-memory-2012-06/
|
||||||
|
|||||||
@ -23,7 +23,7 @@ something quite usual for a keychain...
|
|||||||
|
|
||||||
We found only a unique plastic-molded model which almost meets our
|
We found only a unique plastic-molded model which almost meets our
|
||||||
low-profile requirements of 1.5 mm (1.6 mm height!): the [Standex
|
low-profile requirements of 1.5 mm (1.6 mm height!): the [Standex
|
||||||
Meder MK24:fontawesome-solid-external-link-alt:][1].
|
Meder MK24][1].
|
||||||
|
|
||||||
Here is the corresponding schematics, already covered in the PMIC
|
Here is the corresponding schematics, already covered in the PMIC
|
||||||
discussion:
|
discussion:
|
||||||
|
|||||||
@ -18,12 +18,11 @@ output voltage.
|
|||||||
|
|
||||||
### Shunt Regulator
|
### Shunt Regulator
|
||||||
|
|
||||||
The simplest voltage regulator is the [shunt
|
The simplest voltage regulator is the [shunt regulator][1], built
|
||||||
regulator:fontawesome-solid-external-link-alt:][1], built around a
|
around a Zener diode which most interesting characteristic is to
|
||||||
Zener diode which most interesting characteristic is to maintain a
|
maintain a constant voltage across itself when the current through it
|
||||||
constant voltage across itself when the current through it is
|
is sufficient to take it into the Zener breakdown region. A simple
|
||||||
sufficient to take it into the Zener breakdown region. A simple shunt
|
shunt regulator looks like this:
|
||||||
regulator looks like this:
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@ -33,8 +32,7 @@ By adding a emitter-follower transistor to the simple shunt regulator,
|
|||||||
the small base current of the transistor forms a very light load on
|
the small base current of the transistor forms a very light load on
|
||||||
the Zener, thereby minimizing variation in Zener voltage due to
|
the Zener, thereby minimizing variation in Zener voltage due to
|
||||||
variation in the load, resulting in a better regulation. Here is a
|
variation in the load, resulting in a better regulation. Here is a
|
||||||
schematic for this [series
|
schematic for this [series regulator][2]:
|
||||||
regulator:fontawesome-solid-external-link-alt:][2]:
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@ -122,14 +120,14 @@ following:
|
|||||||

|

|
||||||
|
|
||||||
The way this converter works is described in details
|
The way this converter works is described in details
|
||||||
[here:fontawesome-solid-external-link-alt:][3]. Basically, when the
|
[here][3]. Basically, when the switch is closed, the inductor will
|
||||||
switch is closed, the inductor will produce an opposing voltage across
|
produce an opposing voltage across its terminals in response to the
|
||||||
its terminals in response to the changing current, reducing the output
|
changing current, reducing the output voltage, and meanwhile the
|
||||||
voltage, and meanwhile the inductor stores this energy in the form of
|
inductor stores this energy in the form of a magnetic field. When the
|
||||||
a magnetic field. When the switch is opened, the current will decrease
|
switch is opened, the current will decrease and will produce a voltage
|
||||||
and will produce a voltage drop across the inductor, and now the
|
drop across the inductor, and now the inductor becomes a current
|
||||||
inductor becomes a current source, where the stored energy in the
|
source, where the stored energy in the inductor's magnetic field is
|
||||||
inductor's magnetic field is restored and fed to the load.
|
restored and fed to the load.
|
||||||
|
|
||||||
!!! warning
|
!!! warning
|
||||||
In this converter too, the output voltage is not isolated from the
|
In this converter too, the output voltage is not isolated from the
|
||||||
|
|||||||
@ -102,8 +102,7 @@ capacitors:
|
|||||||
One exception is the Allwinner V3s CPU HPR/HPL circuit which features
|
One exception is the Allwinner V3s CPU HPR/HPL circuit which features
|
||||||
an RC-to-ground circuit between the amplifier and the preamplifier
|
an RC-to-ground circuit between the amplifier and the preamplifier
|
||||||
input with the resistor **R27** and capacitors **C79** and **C81**, as
|
input with the resistor **R27** and capacitors **C79** and **C81**, as
|
||||||
recommended in the [V3s hardware design
|
recommended in the [V3s hardware design guide][5].
|
||||||
guide:fontawesome-solid-external-link-alt:][5].
|
|
||||||
|
|
||||||
The only other remarkable point left in this schematic is the resistor
|
The only other remarkable point left in this schematic is the resistor
|
||||||
divider **R25**/**R28** which provides a reference voltage at half the
|
divider **R25**/**R28** which provides a reference voltage at half the
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
A separate [Sylergy SY8088:fontawesome-solid-external-link-alt:][1]
|
A separate [Sylergy SY8088][1] Buck DC/DC SMPS chip is used to provide
|
||||||
Buck DC/DC SMPS chip is used to provide the DDR2 +1V8 DDR2 DRAM power.
|
the DDR2 +1V8 DDR2 DRAM power.
|
||||||
|
|
||||||
This is because the AXP20x is originally the PMU (Power Management
|
This is because the AXP20x is originally the PMU (Power Management
|
||||||
Unit) used by most Allwinner SoCs (A10, A13 and A20), which do not
|
Unit) used by most Allwinner SoCs (A10, A13 and A20), which do not
|
||||||
@ -15,7 +15,7 @@ We thus have to design a separate SMPS (DC-DC) power supply for
|
|||||||
providing the +1.8V 1A required for the DDR2 DRAM power supply.
|
providing the +1.8V 1A required for the DDR2 DRAM power supply.
|
||||||
|
|
||||||
For this purpose, we followed closely the [Allwinner Reference
|
For this purpose, we followed closely the [Allwinner Reference
|
||||||
Design:fontawesome-solid-external-link-alt:][2].
|
Design][2].
|
||||||
|
|
||||||
Here is the corresponding DRAM Power schematics:
|
Here is the corresponding DRAM Power schematics:
|
||||||
|
|
||||||
|
|||||||
@ -7,16 +7,14 @@ requirements to:
|
|||||||
- SMPS for +1.8V / 1A for the DDR2 DRAM power supply
|
- SMPS for +1.8V / 1A for the DDR2 DRAM power supply
|
||||||
- SMPS for +1.25V / 1.6 A for the core power supply
|
- SMPS for +1.25V / 1.6 A for the core power supply
|
||||||
|
|
||||||
On the [LicheePi Zero board:fontawesome-solid-external-link-alt:][1]
|
On the [LicheePi Zero board][1] used in our **[FunKey Zero][2]**
|
||||||
used in our **[FunKey Zero:fontawesome-solid-external-link-alt:][2]**
|
prototype, a triple SMPS [EA3036][3] is used for generating these
|
||||||
prototype, a triple SMPS
|
+3.3V, +1.8V and +1.2V voltages, with an additional [XC6206][4] LDO
|
||||||
[EA3036:fontawesome-solid-external-link-alt:][3] is used for
|
for the +3.0V (the +3.3V Always On is connected directly to
|
||||||
generating these +3.3V, +1.8V and +1.2V voltages, with an additional
|
+3.3V). Although compact (the EA3036 is a tiny 3 mm x 3 mm QFN20
|
||||||
[XC6206:fontawesome-solid-external-link-alt:][4] LDO for the +3.0V
|
package), this solution is not ideal as it does not provide a battery
|
||||||
(the +3.3V Always On is connected directly to +3.3V). Although compact
|
charger and monitoring capability, which is a requirement for the
|
||||||
(the EA3036 is a tiny 3 mm x 3 mm QFN20 package), this solution is not
|
**FunKey S** device.
|
||||||
ideal as it does not provide a battery charger and monitoring
|
|
||||||
capability, which is a requirement for the **FunKey S** device.
|
|
||||||
|
|
||||||
## PMICs
|
## PMICs
|
||||||
|
|
||||||
@ -24,8 +22,7 @@ As it is generally the case with such a complex SoC requiring multiple
|
|||||||
voltages, high current and proper voltage sequencing, all major
|
voltages, high current and proper voltage sequencing, all major
|
||||||
manufacturers provide dedicated companion chips called PMICs (Power
|
manufacturers provide dedicated companion chips called PMICs (Power
|
||||||
Management Integrated Circuits), in charge of these tasks. Allwinner
|
Management Integrated Circuits), in charge of these tasks. Allwinner
|
||||||
is not an exception through its sister company
|
is not an exception through its sister company [X-Powers][5].
|
||||||
[X-Powers:fontawesome-solid-external-link-alt:][5].
|
|
||||||
|
|
||||||
Their AXP20x products are highly-integrated PMICs that are optimized
|
Their AXP20x products are highly-integrated PMICs that are optimized
|
||||||
for applications requiring single-cell Li-battery (Li-Ion/Polymer),
|
for applications requiring single-cell Li-battery (Li-Ion/Polymer),
|
||||||
@ -74,9 +71,7 @@ The AXP20x features:
|
|||||||
output to GPIO0)
|
output to GPIO0)
|
||||||
|
|
||||||
Looking at their datasheets, it is difficult to tell the difference
|
Looking at their datasheets, it is difficult to tell the difference
|
||||||
between the [AXP202:fontawesome-solid-external-link-alt:][6],
|
between the [AXP202][6], [AXP203][7] and [AXP209][8] (any hint
|
||||||
[AXP203:fontawesome-solid-external-link-alt:][7] and
|
|
||||||
[AXP209:fontawesome-solid-external-link-alt:][8] (any hint
|
|
||||||
welcome!). In the **FunKey S** design, we use an AXP209 because it is
|
welcome!). In the **FunKey S** design, we use an AXP209 because it is
|
||||||
the one that comes along with the V3s when you buy it on AliExpress.
|
the one that comes along with the V3s when you buy it on AliExpress.
|
||||||
|
|
||||||
@ -88,8 +83,7 @@ the manufacturer, as the internals of the chips are seldom fully
|
|||||||
disclosed, so you need to take their word on some of the external
|
disclosed, so you need to take their word on some of the external
|
||||||
component values to use.
|
component values to use.
|
||||||
|
|
||||||
The [Allwinner V3s Reference
|
The [Allwinner V3s Reference Design][9] contains on page 6 the
|
||||||
Design:fontawesome-solid-external-link-alt:][9] contains on page 6 the
|
|
||||||
schematics for using an AXP203 to supply the power to a V3s-based
|
schematics for using an AXP203 to supply the power to a V3s-based
|
||||||
dashboard camera design. It follows closely the application diagram
|
dashboard camera design. It follows closely the application diagram
|
||||||
provided in the AXP20x datasheets:
|
provided in the AXP20x datasheets:
|
||||||
@ -97,7 +91,7 @@ provided in the AXP20x datasheets:
|
|||||||
{.lightbox}
|
{.lightbox}
|
||||||
|
|
||||||
More hints are provided in our self-translated [V3s Hardware Design
|
More hints are provided in our self-translated [V3s Hardware Design
|
||||||
Guide:fontawesome-solid-external-link-alt:][10] (page 7) too.
|
Guide][10] (page 7) too.
|
||||||
|
|
||||||
## PMIC Schematics
|
## PMIC Schematics
|
||||||
|
|
||||||
@ -173,11 +167,10 @@ operation:
|
|||||||
### DC-DC1 PWM Battery Charger (North East side)
|
### DC-DC1 PWM Battery Charger (North East side)
|
||||||
|
|
||||||
The battery is connected to J5 (a [2-pin JST 1.0 mm pitch
|
The battery is connected to J5 (a [2-pin JST 1.0 mm pitch
|
||||||
receptacle:fontawesome-solid-external-link-alt:][11]) and uses **R21**
|
receptacle][11]) and uses **R21** as a precision current sense
|
||||||
as a precision current sense resistor, with **C53**/**C56**/**C60**
|
resistor, with **C53**/**C56**/**C60** filter capacitors and **L5** (a
|
||||||
filter capacitors and **L5** (a low-profile ferrite-core power
|
low-profile ferrite-core power inductor rated with a saturation
|
||||||
inductor rated with a saturation current of 1.2A and low < 0.1 Ω
|
current of 1.2A and low < 0.1 Ω resistance).
|
||||||
resistance).
|
|
||||||
|
|
||||||
!!! Warning
|
!!! Warning
|
||||||
The battery is not protected on the board against reversing
|
The battery is not protected on the board against reversing
|
||||||
@ -188,11 +181,10 @@ resistance).
|
|||||||
temperature, as the chosen LiPo battery does not feature this
|
temperature, as the chosen LiPo battery does not feature this
|
||||||
temperature sensor.
|
temperature sensor.
|
||||||
|
|
||||||
A user-programmable (through the I2C interface) charge
|
A user-programmable (through the I2C interface) charge [LED][12]
|
||||||
[LED:fontawesome-solid-external-link-alt:][12] **D30** is provided,
|
**D30** is provided, with its current-limiting resistor **R26**, as
|
||||||
with its current-limiting resistor **R26**, as well as a TVS diode
|
well as a TVS diode **d31** to prevent ESD, as the LED body will be
|
||||||
**d31** to prevent ESD, as the LED body will be indirectly accessible
|
indirectly accessible to user.
|
||||||
to user.
|
|
||||||
|
|
||||||
### DC-DC2 +1.25V / 1.6A (West side)
|
### DC-DC2 +1.25V / 1.6A (West side)
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@ Looking back at the section on the [CPU schematics][1], the **FunKey
|
|||||||
S** device clearly needs a sophisticated power supply in order to
|
S** device clearly needs a sophisticated power supply in order to
|
||||||
fulfill the CPU power requirements. They are recalled below, along
|
fulfill the CPU power requirements. They are recalled below, along
|
||||||
with the maximum current requirements found in the [Allwinner V3s
|
with the maximum current requirements found in the [Allwinner V3s
|
||||||
reference design:fontawesome-solid-external-link-alt:][2] (page 3):
|
reference design][2] (page 3):
|
||||||
|
|
||||||
- +3.3V / 1.2A for the I/O power supply
|
- +3.3V / 1.2A for the I/O power supply
|
||||||
- +3.3V_AO / 30 mA for the Always-On power supply (RTC timer)
|
- +3.3V_AO / 30 mA for the Always-On power supply (RTC timer)
|
||||||
|
|||||||
@ -52,9 +52,8 @@ RGB565 (2 bytes / pixel), this requires a ~44 MHz SPI clock rate,
|
|||||||
which is rather high.
|
which is rather high.
|
||||||
|
|
||||||
Once again, we were fortunate as both the V3s CPU and the screen
|
Once again, we were fortunate as both the V3s CPU and the screen
|
||||||
built-in controller (a Sitronix
|
built-in controller (a Sitronix [ST7789V][1]) both support this high
|
||||||
[ST7789V:fontawesome-solid-external-link-alt:][1]) both support this
|
clock speed (after checking with the manufacturer and despite the
|
||||||
high clock speed (after checking with the manufacturer and despite the
|
|
||||||
controller datasheet that specifies only a serial clock cycle (Write)
|
controller datasheet that specifies only a serial clock cycle (Write)
|
||||||
of 66 ns or 15 MHz!).
|
of 66 ns or 15 MHz!).
|
||||||
|
|
||||||
@ -66,8 +65,8 @@ current directly from a CPU GPIO and the backlight will require an
|
|||||||
additional transistor to interface to the LCD backlight.
|
additional transistor to interface to the LCD backlight.
|
||||||
|
|
||||||
Its flex cable requires a mating Hirose 0.4 mm pitch
|
Its flex cable requires a mating Hirose 0.4 mm pitch
|
||||||
[DF37NB-24DS-0.4V:fontawesome-solid-external-link-alt:][2] dual row
|
[DF37NB-24DS-0.4V][2] dual row SMT connector, out of which only one
|
||||||
SMT connector, out of which only one single row is actually used.
|
single row is actually used.
|
||||||
|
|
||||||
## Customization
|
## Customization
|
||||||
|
|
||||||
@ -75,10 +74,9 @@ Unfortunately, the flex cable for the stock LCD screen we found does
|
|||||||
not match our particular **FunKey S** mechanical design.
|
not match our particular **FunKey S** mechanical design.
|
||||||
|
|
||||||
For the prototypes, we designed custom flex extension cables for a ~
|
For the prototypes, we designed custom flex extension cables for a ~
|
||||||
$100 cost, but we had to design [our own custom
|
$100 cost, but we had to design [our own custom flex][3] and have this
|
||||||
flex:fontawesome-solid-external-link-alt:][3] and have this standard
|
standard screen assembly attached to it for mass production, with a
|
||||||
screen assembly attached to it for mass production, with a one-time
|
one-time tooling fee of ~ $800.
|
||||||
tooling fee of ~ $800.
|
|
||||||
|
|
||||||
## Schematic
|
## Schematic
|
||||||
|
|
||||||
|
|||||||
@ -16,17 +16,14 @@ the specifications.
|
|||||||
|
|
||||||
The SD Card physical interface is provided in the "<i>SD
|
The SD Card physical interface is provided in the "<i>SD
|
||||||
specifications, part 1, Physical Layer Specification version 2.00, May
|
specifications, part 1, Physical Layer Specification version 2.00, May
|
||||||
9, 2006</i>", for which a simplified version is available
|
9, 2006</i>", for which a simplified version is available [here][1].
|
||||||
[here:fontawesome-solid-external-link-alt:][1].
|
|
||||||
|
|
||||||
The MMC phyiscal interface can be found in the "<i>Multi Media Card
|
The MMC phyiscal interface can be found in the "<i>Multi Media Card
|
||||||
System Specification version 4.3, JESD84-A43, November 2007</i>",
|
System Specification version 4.3, JESD84-A43, November 2007</i>",
|
||||||
available [here:fontawesome-solid-external-link-alt:][2] (registration
|
available [here][2] (registration required).
|
||||||
required).
|
|
||||||
|
|
||||||
But a good summary of the requirements is given in the "[<i>AN10911
|
But a good summary of the requirements is given in the "_[AN10911
|
||||||
SD(HC)-memory card and MMC Interface
|
SD(HC)-memory card and MMC Interface conditioning][3]_" application
|
||||||
conditioning</i>:fontawesome-solid-external-link-alt:][3]" application
|
|
||||||
note from NXP, from which this schematic is taken:
|
note from NXP, from which this schematic is taken:
|
||||||
|
|
||||||
{.lightbox}
|
{.lightbox}
|
||||||
@ -88,9 +85,9 @@ The FunKey SD Card interface schematic is the following:
|
|||||||
{: align=left }
|
{: align=left }
|
||||||
|
|
||||||
As can be expected, the main component is the [Micro SD (TF Card)
|
As can be expected, the main component is the [Micro SD (TF Card)
|
||||||
Push/Pull connector:fontawesome-solid-external-link-alt:][5] **J4**,
|
Push/Pull connector][5] **J4**, which has been selected for its
|
||||||
which has been selected for its low-profile (1.3 mm height)
|
low-profile (1.3 mm height) characteristic and overall minimal
|
||||||
characteristic and overall minimal dimensions.
|
dimensions.
|
||||||
|
|
||||||
!!! Tip
|
!!! Tip
|
||||||
|
|
||||||
|
|||||||
@ -14,12 +14,11 @@ the cable wiring which role we must take.
|
|||||||
|
|
||||||
{: align=left }
|
{: align=left }
|
||||||
|
|
||||||
The main part is of course the [Micro USB edge-mounted
|
The main part is of course the [Micro USB edge-mounted connector][1]
|
||||||
connector:fontawesome-solid-external-link-alt:][1] **J2**, which we
|
**J2**, which we chose in order to "mask out" its already low-profile
|
||||||
chose in order to "mask out" its already low-profile height into the
|
height into the PCB thickness. And with its "harpoon-like"
|
||||||
PCB thickness. And with its "harpoon-like" through-hole legs, it
|
through-hole legs, it should avoid tearing it off the board if the
|
||||||
should avoid tearing it off the board if the user don't pull the chord
|
user don't pull the chord straight.
|
||||||
straight.
|
|
||||||
|
|
||||||
The USB schematic is the following:
|
The USB schematic is the following:
|
||||||
|
|
||||||
@ -43,12 +42,10 @@ maximum bulk capacitance value to 10 µF in order to avoid power supply
|
|||||||
excessive droops when plugin in a device with a discharged large bulk
|
excessive droops when plugin in a device with a discharged large bulk
|
||||||
capacitor.
|
capacitor.
|
||||||
|
|
||||||
**D15** is a [NXP
|
**D15** is a [NXP PRTR5V0U2X,215][2] combined TVS protection diode for
|
||||||
PRTR5V0U2X,215:fontawesome-solid-external-link-alt:][2] combined TVS
|
the VBUS pin and a set of clamping diodes that will limit the voltage
|
||||||
protection diode for the VBUS pin and a set of clamping diodes that
|
on D+ and D- pins to stay between GND and VBUS levels to in order to
|
||||||
will limit the voltage on D+ and D- pins to stay between GND and VBUS
|
protect the V3s USB driver from under / over-voltages.
|
||||||
levels to in order to protect the V3s USB driver from under /
|
|
||||||
over-voltages.
|
|
||||||
|
|
||||||
[1]: https://github.com/FunKey-Project/FunKey-S-Hardware/blob/master/Datasheets/C40958_MICRO5P%E6%B2%89%E6%9D%BF%E5%BC%8F0.8%E5%9B%9B%E8%84%9A%E5%85%A8%E6%8F%92%E6%97%A0%E5%AF%BC%E4%BD%8D%E6%9C%89%E5%AD%94%E8%80%90%E9%AB%98%E6%B8%A9_2016-05-20.PDF
|
[1]: https://github.com/FunKey-Project/FunKey-S-Hardware/blob/master/Datasheets/C40958_MICRO5P%E6%B2%89%E6%9D%BF%E5%BC%8F0.8%E5%9B%9B%E8%84%9A%E5%85%A8%E6%8F%92%E6%97%A0%E5%AF%BC%E4%BD%8D%E6%9C%89%E5%AD%94%E8%80%90%E9%AB%98%E6%B8%A9_2016-05-20.PDF
|
||||||
[2]: https://github.com/FunKey-Project/FunKey-S-Hardware/blob/master/Datasheets/C12333_PRTR5V0U2X%2C215_2017-10-31.PDF
|
[2]: https://github.com/FunKey-Project/FunKey-S-Hardware/blob/master/Datasheets/C12333_PRTR5V0U2X%2C215_2017-10-31.PDF
|
||||||
|
|||||||
@ -10,17 +10,17 @@ your data.
|
|||||||
## Download the latest FunKey-OS image file
|
## Download the latest FunKey-OS image file
|
||||||
|
|
||||||
Get the latest "***FunKey-rootfs-x.y.z.img***" SD card image file
|
Get the latest "***FunKey-rootfs-x.y.z.img***" SD card image file
|
||||||
directly from [here:fontawesome-solid-external-link-alt:][1] or from
|
directly from [here][1] or from the bottom of the latest release page
|
||||||
the bottom of the latest release page in the "assets" section:
|
in the "assets" section:
|
||||||
|
|
||||||
[https://github.com/FunKey-Project/FunKey-OS/releases/latest:fontawesome-solid-external-link-alt:][2]{target=_blank}
|
[https://github.com/FunKey-Project/FunKey-OS/releases/latest][2]{target=_blank}
|
||||||
|
|
||||||
{.lightbox}
|
{.lightbox}
|
||||||
|
|
||||||
## Flash the micro-SD card with balenaEtcher
|
## Flash the micro-SD card with balenaEtcher
|
||||||
|
|
||||||
- Download and install balenaEtcher for Windows/Mac OS/Linux from
|
- Download and install balenaEtcher for Windows/Mac OS/Linux from
|
||||||
[balena.io:fontawesome-solid-external-link-alt:][3]{:target="blank"}
|
[balena.io][3]{target=_blank}
|
||||||
|
|
||||||
- Run balenaEtcher and click on "Flash from file" to select the
|
- Run balenaEtcher and click on "Flash from file" to select the
|
||||||
FunKey-OS image file
|
FunKey-OS image file
|
||||||
|
|||||||
@ -4,13 +4,10 @@ Yes legally! Despite the general opinion, it is perfectly possible to
|
|||||||
purchase and play famous ROMs legally such as Sonic, Castlevania,
|
purchase and play famous ROMs legally such as Sonic, Castlevania,
|
||||||
Megaman and more, read the note below for more details.
|
Megaman and more, read the note below for more details.
|
||||||
|
|
||||||
**The FunKey Wiki** maintains
|
**The FunKey Wiki** maintains [lists][1]{target=_blank} of legal
|
||||||
[lists:fontawesome-solid-external-link-alt:][1]{target=_blank} of
|
sources for ROMs, including [freeware ROMs][2]{target=_blank},
|
||||||
legal sources for ROMs, including [freeware
|
[commercial ROMs][3]{target=_blank}, and
|
||||||
ROMs:fontawesome-solid-external-link-alt:][2]{target=_blank},
|
[utilities][4]{target=_blank}.
|
||||||
[commercial
|
|
||||||
ROMs:fontawesome-solid-external-link-alt:][3]{target=_blank}, and
|
|
||||||
[utilities:fontawesome-solid-external-link-alt:][4]{target=_blank}.
|
|
||||||
|
|
||||||
!!! note "Note about ROM emulation"
|
!!! note "Note about ROM emulation"
|
||||||
|
|
||||||
@ -29,7 +26,7 @@ ROMs:fontawesome-solid-external-link-alt:][3]{target=_blank}, and
|
|||||||
retro-games online as ROMs.
|
retro-games online as ROMs.
|
||||||
|
|
||||||
For example, it is perfectly legal to purchase the SEGA Mega Drive
|
For example, it is perfectly legal to purchase the SEGA Mega Drive
|
||||||
and Genesis Classics on [Steam][5]{:target="blank"} and play Sonic
|
and Genesis Classics on [Steam][5]{target=_blank} and play Sonic
|
||||||
on your **FunKey S**.
|
on your **FunKey S**.
|
||||||
|
|
||||||
# Add ROMs to the FunKey S
|
# Add ROMs to the FunKey S
|
||||||
|
|||||||
@ -8,11 +8,9 @@ does not require installation to be able to run them.
|
|||||||
In the current (2.0.0) release of the FunKey-OS, the **OPK** files
|
In the current (2.0.0) release of the FunKey-OS, the **OPK** files
|
||||||
are only available for the gmenu2x launcher, and not in RetroFE.
|
are only available for the gmenu2x launcher, and not in RetroFE.
|
||||||
|
|
||||||
[7-Zip:fontawesome-solid-external-link-alt:][1] can be used to extract
|
[7-Zip][1] can be used to extract **OPK** files, and [Open Package
|
||||||
**OPK** files, and [Open Package Creator
|
Creator (v1.1.2)][2] is a useful tool if you want to re-package an
|
||||||
(v1.1.2):fontawesome-solid-external-link-alt:][2] is a useful tool if
|
**OPK** or customize icons, add additional games and much more.
|
||||||
you want to re-package an **OPK** or customize icons, add additional
|
|
||||||
games and much more.
|
|
||||||
|
|
||||||
Connect your **FunKey S** console to your computer and add **OPK**
|
Connect your **FunKey S** console to your computer and add **OPK**
|
||||||
files as simply as you would do it with a simple USB memory stick:
|
files as simply as you would do it with a simple USB memory stick:
|
||||||
|
|||||||
@ -1,9 +1,8 @@
|
|||||||
# Palette description
|
# Palette description
|
||||||
|
|
||||||
The default **FunKey S** Game Boy emulator:
|
The default **FunKey S** Game Boy emulator: _[gnuboy][1]_ allows to
|
||||||
_[gnuboy:fontawesome-solid-external-link-alt:][1]_ allows to set the
|
set the palette used for grayscale when running DMG (original mono
|
||||||
palette used for grayscale when running DMG (original mono Gameboy)
|
Gameboy) ROMs.
|
||||||
ROMs.
|
|
||||||
|
|
||||||
There are four variables for this purpose, allowing the background,
|
There are four variables for this purpose, allowing the background,
|
||||||
window, and both sprite palettes to be colored differently. Each one
|
window, and both sprite palettes to be colored differently. Each one
|
||||||
|
|||||||
@ -2,10 +2,10 @@ A firmware upgrade can be performed simply over USB without opening
|
|||||||
the **FunKey S** console.
|
the **FunKey S** console.
|
||||||
|
|
||||||
Get the latest "**_FunKey-rootfs-x.y.z.fwu_**" firmware update file
|
Get the latest "**_FunKey-rootfs-x.y.z.fwu_**" firmware update file
|
||||||
directly from [here:fontawesome-solid-external-link-alt:][1] or from
|
directly from [here][1] or from the bottom of the latest release page
|
||||||
the bottom of the latest release page in the "assets" section:
|
in the "assets" section:
|
||||||
|
|
||||||
[https://github.com/FunKey-Project/FunKey-OS/releases/latest:fontawesome-solid-external-link-alt:][2]{target=_blank}
|
[https://github.com/FunKey-Project/FunKey-OS/releases/latest][2]{target=_blank}
|
||||||
|
|
||||||
{.lightbox}
|
{.lightbox}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user