Original Espruino Board (original) (raw)

Espruino Board

The Espruino Board is a tiny USB-enabled microcontroller with SD card that can be programmed in JavaScript

Just plug it into your computer and get started in seconds with theWeb IDE - no software installation needed!

Just got your Espruino Board? Get started here!

Contents

Features

Pinout

Hover the mouse over a pin function for more information. Clicking in a function will tell you how to use it in Espruino.

C9

PWM [C9] TIM3_CH4 TIM8_CH4

C8

PWM [C8] TIM3_CH3 TIM8_CH3

C7

PWM [C7] TIM3_CH2 TIM8_CH2

C6

PWM [C6] TIM3_CH1 TIM8_CH1

C5 3.3v

ADC [C5] ADC12_IN15

C4 3.3v

ADC [C4] ADC12_IN14

B15

SD CARD [B15] SD (di) PWM [B15] TIM1_CH3N SPI2 MOSI [B15] SPI2_MOSI

B14

SD CARD [B14] SD (do) PWM [B14] TIM1_CH2N SPI2 MISO [B14] SPI2_MISO

B13

SD CARD [B13] SD (clk) PWM [B13] TIM1_CH1N SPI2 SCK [B13] SPI2_SCK

3.3

VBAT

GND

BOOT1 [B2] BOOT1 B2

CAN [B8] CAN_RX I2C1 SCL [B8] I2C1_SCL PWM [B8] TIM4_CH3 B8

CAN [B9] CAN_TX I2C1 SDA [B9] I2C1_SDA PWM [B9] TIM4_CH4 B9

BTN1 [B12] BTN1 USART3 CK [B12] USART3_CK B12

OSC RTC [C15] OSC_RTC (out) 3.3v C15

ADC [C0] ADC123_IN10 3.3v C0

ADC [C1] ADC123_IN11 3.3v C1

ADC [C2] ADC123_IN12 3.3v C2

ADC [C3] ADC123_IN13 3.3v C3

ADC [A0] ADC123_IN0 PWM [A0] TIM5_CH1 3.3v A0

ADC [A1] ADC123_IN1 PWM [A1] TIM2_CH2 TIM5_CH2 3.3v A1

3.3

VBAT

GND

A2 3.3v

ADC [A2] ADC123_IN2 PWM [A2] TIM2_CH3 TIM5_CH3 USART2 TX [A2] USART2_TX

A3 3.3v

ADC [A3] ADC123_IN3 PWM [A3] TIM2_CH4 TIM5_CH4 USART2 RX [A3] USART2_RX

A7 3.3v

ADC [A7] ADC12_IN7 PWM [A7] TIM1_CH1N TIM3_CH2 TIM8_CH1N SPI1 MOSI [A7] SPI1_MOSI

B0 3.3v

ADC [B0] ADC12_IN8 PWM [B0] TIM1_CH2N TIM3_CH3 TIM8_CH2N

B1 3.3v

ADC [B1] ADC12_IN9 PWM [B1] TIM1_CH3N TIM3_CH4 TIM8_CH3N

Pins not on connectors

A11

CAN [A11] CAN_RX USB [A11] USB (dm) PWM [A11] TIM1_CH4

A12

CAN [A12] CAN_TX USB [A12] USB (dp)

C13 3.3v

USB [C13] USB (disc)

C14 3.3v

OSC RTC [C14] OSC_RTC (in)

D0

CAN [D0] CAN_RX OSC [D0] OSC (in)

D1

CAN [D1] CAN_TX OSC [D1] OSC (out)

D2

SD CARD [D2] SD (cs) UART5 RX [D2] UART5_RX

Layout

Revision 1.4

Espruino Board

Revision 1.3

Espruino Board

Name Function
General Purpose IO Pins See the pinout above for more information about the functionality of these
Status LEDs Red, Green and Blue lights, controllable from Espruino. Access these using the pin names LED1 (red), LED2 (green) and LED3 (blue)
Buttons Below SMD prototype area. Reset button (left) and general purpose button (right). Access this using the pin name BTN
SMD Prototype Area Area that allows you to solder SMD Integrated Circuits such as (ULN2003) and (L293D)
Battery Battery connector, allows any voltage from 3.6v to 15v
Bluetooth Pads for mounting a Bluetooth module
Power Gnd, 3.3v and Battery power pins (see below)
Micro SD A connector for FAT32 formatted Micro SD cards
USB A Micro SD USB connector, for programming and powering Espruino
#1 (r1.3 only) Unpopulated pads for 32kHz crystal. Without this, Espruino will use its internal RC oscillator for timekeeping, which is only accurate to 1-2%. (r1.4 has a 32k crystal preinstalled)
#2 Pin Headers. Each horizontal pair pins in this 2 x 13 area of pins is connected together, so you can solder on a single line of pin header and can then wire from the Prototype area to the other side
#3 cut the shorted link on the right-hand side, solder over the left-hand side, solder a 10k resistor to R17 and you can then use the RST button as a second general purpose button on pin C12
#4 (r1.3 only) An unpopulated resistor that can trickle-charge a battery when fitted (if the battery is less than 4.3v). See the Battery page for more information - only fit this if you're absolutely sure that your battery type can handle it.
#5 (r1.4 only) An unpopulated area for a MAX1551 LiPo charger IC

Information

Tutorials

Links to tutorials that you can do using just the Espruino board:

Tutorials using the Espruino Board:

Power

Espruino has 3 ways of powering it - a JST PHR-2 Battery connector, Micro USB, or pin headers.

Both the Micro USB and Battery connector can power the device (and pin headers), and the source of power will be automatically switched. If you power Espruino via the Pin Headers, do not plug a battery in, and do not plug in USB unless you are powering it with 5v or more.

If you wish to power Espruino from mains, we'd suggest using a Micro USB phone charger. This are widely available as the majority of mobile phones (with the exception of iPhones and low-end Nokias) now use them.

Charge Circuit

In order to protect the Espruino board (and what it is connected to), a 1000mA thermal (self-resetting) fuse is on the board between the pins marked 'Bat' on the board and the power source (USB/Battery).

See Connecting Batteries below for information on connecting Batteries.

Note: On rev 1v3 the voltage regulator draws 80uA, which makes up the majority of the 110uA power draw when sleeping. rev 1v4 has a much more efficient regulator, which allows a power draw of just 30uA.

Connecting

NOTE: The Espruino board has no case and so the USB connector is completely unsupported. This means it is relatively delicate (especially on rev 1v3 boards) and needs to be treated carefully. Try and pull the connector straight out, and do not push down on the board when the connector is inserted, or try and move the board around using the cable.

Pin Strip

There's a Pin Strip page covering how to solder Pin Strip onto the Espruino Board

Batteries

You can usually buy batteries with the PH-type 2 pin female JST (PHR-2) connector ready-soldered, see Battery for more details on battries and connectors.

Servo Motors

See the Pin Strip page for ideas on how to connect servos, and the Servo Motors page on how to control them.

Motor Drivers

To drive motors there are two good options - both of which solder on to the prototype area (which is designed for SOIC-style chips). The surface mount versions of these will require some soldering skills, so if you only need to turn motors on and off (and not drive them at different speeds) then a Relay Module might be easier.

L293D

The L293D is slightly more expensive, but has four outputs, each of which can pull up to a voltage as well as down to 0v. This makes it ideal for driving motors in forwards and reverse, as each side of the motor can be connected to an output.

ULN2003

The ULN2003 has 7 x 500mA outputs, but they can only pull down to 0v. This makes it great for powering relays, solenoids and stepper motors - but only useful for motors if you only need them to run in a single direction.

Bluetooth

Espruino is designed for HC-05 modules. Have a look at the Bluetooth page for more information.

Known Problems

Troubleshooting

Please see the Troubleshooting section.

Firmware Updates

We'd strongly recommend that you use the Web IDE to update the firmware on this board - please see the Firmware Update page for detailed instructions.

If you do manage to erase all your board's flash memory you can use the on-chip bootloader though - see below.

Advanced Reflashing

If you're developing and you want to completely rewrite the bootloader, you can wire up the Espruino board to a USB-TTL convertor as follows:

USB-TTL Name Espruino Pin
5V 5V VBAT
GND GND GND
TX USART1_RX A10
RX USART1_TX A9
- BOOT0 - 3.3V BOOT0
GND BOOT1 - 0V B2

Note: BOOT0 is in a group of two pins (RST and BOOT0) in the middle of the top edge of the board.

Then, dab reset to enter bootloader mode and use the STM32 flasher utility to flash the STM32 chip.

You might also want to see the Advanced Debug page for details on how to debug the Espruino Interpreter using an ST-link debugger.

Other Official Espruino Boards

This page is auto-generated from GitHub. If you see any mistakes or have suggestions, please let us know.