Skip to content

gbin/DonglePi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DonglePi

DonglePi is a device that gives you a Raspberry Pi P1 compatible connector for your PC.

P1 is a connector with:

  • GPIO
  • I2C
  • SPI
  • Serial
  • PWM

More info about the connector

On the software side, it exposes APIs that are compatible with the one used by the raspberry pi like GPIO and smbus under python.

Hardware

It can be plugged to any USB2 port.

You can build a prototype on a breadboard using an Atmel SAMD21 development board. I recommend this one

Software

Dependencies

Get the asf sdk It needs to be linked to the asf directory in the root of the project (by default it looks for the latest version in your home directory).

Sync the submodule:

git submodule update --init firmware/nanopb

Install google protobuf:

pip install -user protobuf #(or under arch for example) sudo pacman -S protobuf python2-protobuf

Install gcc for arm bare metal:

(under arch)

sudo pacman -S arm-none-eabi-gcc

Otherwise you can always get the binaries there:

https://launchpad.net/gcc-arm-embedded/+download

Install pyserial: pip install pyserial

Building the firmware

From the firmware: make

It will produce a flash.bin file.

Installing the fimware

If you have the recommanded dev board, connect it on USB, press Reset + Button B. It will appear as a standard USB storage device. The red led from the board should slowly blink. Copy flash.bin to the root of it. Unmount the disk. Reset it, the led should switch to solid red = it has correctly initialized and wait for commands.

Building the client side support.

From the python directory: make

This should generate some files from tht protobuf so the bindings could talk to the hardware.

Here you have a test.py showing how to use the bindings.

About

Transform your PC into a Raspberry Pi

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published