close-circle
Close
0%
0%

Mini-PCIe - PIC18LF2550 - DevBoard

Use your PIC-Projects on Mini-PCIe (USB/SMBus)

Similar projects worth following
DEVBoard for Mini-PCIe and PIC18LF2550.

Control over USB and SMBus(i²C), Flash over USB

Build your own Hardware for your PC

Features:

  • Flash the PIC18LF2550 over USB
  • Transfer Data over USB and SMBUS(i²C / Slave)
  • Controll the Status LEDs from Host (WPAN/WLAN/WWAN-LED)
  • Proto-Area on the Top Side
  • All Free GPIOs on the Top Side (3 x I/O, 9 x Analog or I/O, 1 x SMBUS(I²C), 1 x UART or 2 x I/O)

18f2550_g.lkr

New Linker script for gputils. - Programm space after 0x000800 - High Interupt Vector on 0x000808 - Low Interupt Vector on 0x000818 - Protected Areas

lkr - 1.74 kB - 12/01/2016 at 18:02

download-circle
Download

bootloader.hex

Bootloder V5 from Sprut.de whit EEPROM FIX

x-hex - 88.83 kB - 12/01/2016 at 09:48

download-circle
Download

PCIe-PIC-BOARD.brd

Eagle Board V1.3

- 98.40 kB - 12/01/2016 at 23:27

download-circle
Download

PCIe-PIC-BOARD.sch

Eagle Schematic V1.3

- 362.49 kB - 12/01/2016 at 23:27

download-circle
Download

fsusb-PCIe-ID-ff0b.tar.gz

Fsusb with the changes for the bootloader USB ID: 04d8: ff0b

gzip - 30.70 kB - 11/22/2016 at 09:36

download-circle
Download

  • 1 × PIC18LF2550 - SOIC Microcontroller
  • 1 × 8Mhz Resistor
  • 4 × 10k - 0603 Resistance
  • 1 × 220p - 0603 Capacitor
  • 1 × 100n - 0603 Capacitor

View all 6 components

  • New PCBs

    Knudt01/12/2017 at 10:14 1 comment

    After the last error I now have the new boards these are the final version.

    I can now start testing all the functions.

  • LED Blink Test

    Knudt12/23/2016 at 13:43 0 comments

    A little Blink WWAN LED - Test on the V1.1 Board (Comments will be translated later), Write the Little Code with mpasm.

    main.asm

    	;list p=18f2550
    	include "p18f2550.inc"
    	
    	org	0x000800		; Starte Programm
    	goto	init
    	org     0x000808		; Interuptvector High
    	; call or goto blablub
    	org	0x000818		; Interuptvector Low
    	; call or goto blablub
    	org	0x000828		; Erste Rotine auf Adr. 0x820
    	
    	cblock	0x00			; Variabeln ab 0x00
    	t1				; Delay
    	t2				; Delay
    	t3				; Delay
    	endc
    	
    	#define WPAN	PORTC,0		; WPAN LED
    	#define WLAN	PORTC,1		; WLAN LED
    	#define WWAN	PORTC,2		; WWAN LED
    
    	include	"portreg.inc"		; Ports einstellen (portreg)
    	include "delay.inc"		; Software Delays (delay)
    	;include	"i2c.inc"		; I2C Routinen
    
    init
    	call	portreg			; Ports einstellen
    
    main    				; Mainschleife
    	bsf	WWAN
    	call	delay_1s
    	bcf	WWAN
    	call	delay_1s
    	goto	main
    	end

    delay.inc

    delay_1s
    	movlw 0x6d
    	movwf t1
    	movlw 0x5e
    	movwf t2
    	movlw 0x1a
    	movwf t3
    loop_1s
    	decfsz	t1, 1
    	goto	loop_1s
    	decfsz	t2, 1
    	goto	loop_1s
    	decfsz	t3, 1
    	goto	loop_1s
    	return
    portreg.inc
    portreg	; PORTA
    	movlw	B'00000000'		; PortA I/O setzen (1=In, 0=Out) (Reinfolge RB7,RB6...)
    	movwf	TRISA			; PortA I/O setzen
    	clrf	PORTA
    	; PORTB
    	clrf	PORTB			; PortB auf 0 setzen
    	clrf    LATB			; Data Latch löschen
    	movlw	B'00000011'		; PortB I/O setzen (1=In, 0=Out) (Reinfolge RB7,RB6...) (I2C Slave RB7/RB6 = input)
    	movwf	TRISB			; PortB I/O setzen
    	movlw   B'00001111'		; Alle I/0 Digital
    	movwf	ADCON1
    	; PORTC
    	movlw	B'00000000'		; PortC I/O setzen (1=In, 0=Out) (Reinfolge RC7,RC6...)
    	movwf	TRISC			; PortC I/O setzen
    	clrf	PORTC			; PortC auf 0 setzen
    	return

  • Find the Fail;-(

    Knudt12/21/2016 at 11:40 7 comments

    Wait long Time for the new PCB, Error from me and OSHPark, OSHPark forgets the VIAs and I order in the wrong thickness, i Order new and wait for the New One.

    Lock very nice its better as the First Version and not usable.

    Can you see whats is not ok ?

  • Order Version 1.3 / Bootloaderfix

    Knudt12/01/2016 at 10:05 2 comments

    - New version V1.3 ordered at OSHPark, some minor improvements, Quartz changed.

    - Fix for the Bootloader, the EEPROM is now nullified by default, otherwise the first Programm will not start.

  • Wiring diagram

    Knudt11/24/2016 at 22:05 0 comments

  • Work on the next Version

    Knudt11/24/2016 at 11:10 0 comments

    Work on the next version, the first version is usable but not good enough for me.

    Changes:

    - Other Crystal

    - Fix placement pressure

    - Fix overlaps on the connector

    - Remove Bootloder Jumper (JP1)

    - Other Protopads

    - Fix minor things in the libs

    - More Bling Bling;)

  • Bootloader Works

    Knudt11/22/2016 at 00:58 0 comments

    I use the Bootloader V5 from

    Http://www.sprut.de/electronic/soft/usboot/usboot.htm (German Page)

    Https://goo.gl/Z53QYX (Translated Page)

    This starts after the reset when RE3 is at GND, or when the EEPROM cell with the address 0xFE has the value 0xFF.

    Drivers / Tools for Windows are included in the USBoot package (Not Tested),

    For Linux I use a customized version of fsUSB (http://www.internetking.org/fsusb/), or Piklab.

    The device has its own USB ID:

    Bus 004 Device 002: ID 04d8: ff0b Microchip Technology, Inc.

  • PCBs V1.1

    Knudt11/21/2016 at 18:24 0 comments

    PCBs from OSH Park with some layout errors.

    - Quartz footprint with too much soldering resist

    - Smaller errors in the placement pressure

    For initial tests the PCB is usable.

  • Test Tool

    Knudt11/19/2016 at 12:52 0 comments

    Order a Test Tool for USB, to Test Power consumption, the connection and other things.

    https://aliexpress.com/item/Mini-PCI-Express-pcie-pci-express-PCI-E-Wireless-WWAN-to-USB-Adapter-Card-with-SIM/32657444139.html

  • PCB-Order PCB V1.0

    Knudt10/27/2016 at 16:17 0 comments

    Long time ago ;(

    Order a Proof of Concept PCB, wait for it, ETA ~3-4 Weeks ordert by OSH-Park

View all 11 project logs

Enjoy this project?

Share

Discussions

profecie wrote 03/30/2017 at 17:15 point

Very useful project

Thank you
Is it possible to have reference for quartz/resonator on mouser or farnell ? I didn't find quartz with right footprint?

  Are you sure? yes | no

Knudt wrote 03/31/2017 at 21:33 point

I've found at no with 8MHz but one of the fit.

Http://en.farnell.com/ael-crystals/c16m000000s004/resonator-sm-16mhz-cv/dp/1448145


The footprint is a little different because it is otherwise difficult to solder the parts.

  Are you sure? yes | no

bobricius wrote 03/11/2017 at 23:52 point

Great project, I am very inspired and I creating Samd21 variant ;-)

  Are you sure? yes | no

Knudt wrote 03/12/2017 at 09:56 point

I think it is very good that my small circuit board, as a template for other projects serves, am already excited.

  Are you sure? yes | no

bobricius wrote 04/21/2017 at 12:37 point

Boards assembled and I thik all working :) Thanks for inspiration ... https://hackaday.io/project/20295-mini-pcie-micropython-arduino-zero-sam-d21

  Are you sure? yes | no

davedarko wrote 11/22/2016 at 19:23 point

much gold. such wow.

  Are you sure? yes | no

danjovic wrote 10/28/2016 at 17:25 point

Amazing project. Didn't knew it was possible to connect a microcontroller directly to a mini-PCI slot!

  Are you sure? yes | no

Knudt wrote 10/29/2016 at 07:57 point

Mini PCIe has USB and SMBUS (i²C) on the connector, i use the Status LEDs from Host, Planing for the Future use the SIM-Card Socket from my Nettbook it´s can Controlled over the PCie Bus.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates