The 2025 Christmas card

Merry Christmas!

Another trip around the sun, another Christmas card

(And somewhat upgraded circuit)

 

Another year, another Christmas Card from Norwegian Creations =)

Since we completed the the Gingerbread-family last year, is this years card something completely different (in looks).

It still shares the Paduak-circuit with the PFS154, but has some additional upgrades 😉

The Design Process

The Paduak PFS154-microcontroller are still the main “engine”, but we’ve added a half-duplex communication method through a magnetic pogo-pin connector (which also can supply the card with energy).

The body is still made of FR4, and the white “background” are solder-mask and the black colors are silk screen.

The circuit

As stated in last years post++ (and worth repeating); you can read more about the simplistic nature of this MCU in the posts located here!

Communication?

Added this year is a simple communication (and energy providing) solution. This is not used and needed for regular Christmas magic/use today. But it can be of great service when e.g. wanting to turn on several cards at the same time etc. At least this is something we can play more with 🙂

How to program it?

The Christmas Card can handle the programming voltages, but the battery cannot, so the battery should not be present when programming happens!

We programmed it using the Easy PDK programmer, and the firmware is written  in C and compiled it using the Free PDK toolchain (docs: Easy PDK Programmer (Software & Hardware)).

We used last years Tag-Connect compatible programming header, and used a Tag-Connect (TC2030-IDC-NL) + an adapter.

The compiled firmware can be downloaded here.

Creative Commons License

(Remember that this work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.)

After initial setup, we got the following output when programming:

λ make all program run
sdcc -mpdk14 -c --std-sdcc11 --opt-code-size -DPFS154 -DF_CPU=54400 -DTARGET_VDD_MV=3500 -I. -I../include -o .build/main.rel main.c
sdcc -mpdk14 -c --std-sdcc11 --opt-code-size -DPFS154 -DF_CPU=54400 -DTARGET_VDD_MV=3500 -I. -I../include -o .build/timer.rel timer.c
sdcc -mpdk14 -c --std-sdcc11 --opt-code-size -DPFS154 -DF_CPU=54400 -DTARGET_VDD_MV=3500 -I. -I../include -o .build/led.rel led.c
sdcc -mpdk14 -c --std-sdcc11 --opt-code-size -DPFS154 -DF_CPU=54400 -DTARGET_VDD_MV=3500 -I. -I../include -o .build/intro.rel intro.c
sdcc -mpdk14 --out-fmt-ihx -o .output/NC_christmas_card_PFS154.ihx .build/main.rel .build/timer.rel .build/led.rel .build/intro.rel
makebin -p .output/NC_christmas_card_PFS154.ihx .output/NC_christmas_card_PFS154.bin
---------- Segments ----------
. .ABS. 00000000 00000000 = 0. bytes (ABS,CON)
. .ABS. 00000000 00000000 = 0. bytes (ABS,CON)
FUSE4 00000000 00000002 = 2. bytes (ABS,CON)
HEADER1 00000000 00000002 = 2. bytes (ABS,CON)
HEADER3 00000000 00000010 = 16. bytes (ABS,CON)
PREG2 00000000 00000002 = 2. bytes (ABS,CON)
RSEG0 00000000 00000008 = 8. bytes (ABS,CON)
DATA 00000002 00000020 = 32. bytes (REL,CON)
HOME 00000022 00000002 = 2. bytes (REL,CON)
SSEG 00000022 00000001 = 1. bytes (REL,CON)
GSINIT 00000024 00000042 = 66. bytes (REL,CON)
GSFINAL 00000066 00000002 = 2. bytes (REL,CON)
CODE 00000068 000005AC = 1452. bytes (REL,CON)
CONST 00000614 00000022 = 34. bytes (REL,CON)
------------------------------
Size of NC_christmas_card_PFS154.bin: 4096 bytes
EASYPDKPROG/easypdkprog -n PFS154 write .output/NC_christmas_card_PFS154.ihx
Erasing IC... done.
Writing IC (2047 words)... done.
Calibrating IC
* ILRC SYSCLK=54400Hz @ 3.00V ... calibration result: 54306Hz (0x90) done.
Setting of security fuse disabled. Use '--allowsecfuse' to set security fuse.
Writing IC Fuse... (0x30FD) done.
EASYPDKPROG/easypdkprog -r 3.5 start
Running IC (3.50V)... IC started, press [Esc] to stop.

The Stand

As earlier, was the result 3D-printed in-house. Different from earlier, does the stand now consist of two pieces:

  • The base
  • A magnetic PCB holder arm

The two pieces is created so they can to be pres-fitted together.

The Result

We in Norwegian Creations wishes everyone

Happy Holidays!

 


TODO:

  • [~] All tekst
  • [X] Featured image
  • [X] .bin
  • [X] build-output
  • [X] skjema
  • [X] bilde av det ferdige kortet
  • [X] stand
  • [X] Kategorier
  • [X] Tags

Related Posts