Pacer is a development platform that enables fast and cheap development of light electric vehicles.
Pacer bundles open source software with modular hardware components.
Pacer was created to simplify the development of light electric vehicles by providing out of the box trivial functionality like connectivity, controlling and state management of the vehicle.
- The current version of Pacer is not production ready. DO NOT use it unless thoroughly tested.
- This is a very stripped version of the documentation. A proper documentation is being worked on right now. If you need help shoot us a question on our forum.
Pacer is build on top of the Arduino core for ESP8266 and is running on the NODEMCU ESP8266.
PlatformIO is the development environment that is managing all the project dependencies for Pacer.
Pacer Controller - A RF controller for Pacer powered vehicles
Pacer Web App - A web app hosted on Pacer powered vehicles that allows configuration and has a setup wizzard.
-
Set up a PlatformIO development environment for ESP8266. (Check this guide)
-
Upload the configuration files to the ESP8266 flash memory
pio run --target uploadfs
(run this command in the root of the project) -
Build and Upload
pio run --target upload
(run this command in the root of the project) Note: You might want to look through the config file indata/
directory and change relevant configurations. -
You have a running Pacer instance on the NODEMCU.
In order to have a running vehicle in its simplest form you require the following components:
- BLDC Motor
- Motor Controller (for now we only support VESC)
- Battery for power supply (max: 12S configuration)
- NodeMCU
- nRF24 module (optional)
- MPU9150 module (optional)
- Wired Controller (optional)
Steps:
-
Connect the NodeMCU, nRF24 (optional), MPU9150 (optional), Wired Controller (optional) together according to the PIN Configuration section below.
-
Make sure you have uploaded the configuration files and the binary file to the NodeMCU. (see Software Getting Started.)
-
You are ready to go.
NodeMCU | VESC |
---|---|
TX | RX |
RX | TX |
GND | GND |
VIN | 5v |
NodeMCU | MPU9150 |
---|---|
D1(SCL) (GPIO 5) | SCL |
D2(SDA) (GPIO 4) | SDA |
GND | GND |
3.3v | VCC |
NodeMCU | Wired Joystick |
---|---|
A0 | X-Axis Pin |
GND | GND |
3.3v | +5v |
Note: This might differ depending on the joystick you are using. Unfortunately the NodeMcu only has one analog pin.
-
Connections
- Wi-Fi Access Point
- Websockets
- NRF24
-
Controllers
-
Motor Controller
- VESC
- more to come..
-
Configuration
- Config Controller
- JSON config file stored on the flash.
There is a forum thread dedicated to Pacer where you can get quick answers to your questions.
You can support the Pacer project by purchasing hardware required for running Pacer and other products from the Faraday Motion Web Shop. We highly appreciate your support.
There is a long road of development until we get Pacer to be the go to solution. Any contributions are highly valued.
For minor fixes of code and documentation, go ahead and submit a pull request.
Feature branches with lots of small commits (especially titled "oops", "fix typo", "forgot to add file", etc.) should be squashed before opening a pull request. At the same time, please refrain from putting multiple unrelated changes into a single pull request.
Constantin Colac and Sune Pedersen