We develop and take a look at purposes with the Professional midi 1284P board.

Not too long ago we’ve launched and described a brand new prototyping board referred to as PRO midi 1284, primarily based on an ATmega 1284P microcontroller; after this presentation, made in a earlier publish, we begin to work with it and we clarify the right way to interface it in a sensible and speedy method to the exterior world, at the least by way of {hardware}. For this objective, on this article, we are going to suggest what, within the perspective of the event platform, is its pure complement, that may be a board created to permit and facilitate the research, growth and debugging of purposes primarily based on it. The board in query is the PRO midi 1284P Developer’s Board proven in Fig. 1.

This board gives a housing for the “PRO midi 1284P” and a complete sequence of connectors to attach or host varied digital gadgets (additionally within the type of a breakout board) that assist you to develop purposes that exploit the assorted assets of the Atmega1284P, resembling analogue ports, digital ports, serial ports, I²C bus, SPI bus, and so on., and so on..

Fig. 1.

Not solely that, for individuals who wish to develop in an MPLAB X surroundings and carry out each the code loading and the true debugging, there’s additionally a JTAG connector the place to attach a budget SNAP programmer/debugger from Microchip; on this regard, we level out that the board, accessible from Open Electronics (additionally on-line at www.open-electronics.org) is already assembled however with the 2 LEDs LD1 and LD2 not soldered, however current within the bundle. Those that usually are not fascinated with utilizing the MPLAB X growth surroundings and the JTAG programmer/debugger, however intend to make use of the Arduino surroundings and programming by way of a serial port by means of the bootloader, can simply solder these LEDs (respecting the polarity, cathode on the left , anode on the precise, trying on the board with the ability connector on the left). Alternatively, if you wish to use JTAG programming and debugging, it might be higher to keep away from soldering these LEDs, since they correspond to the TCK and TMS pins of the JTAG connector and will intrude with right operation.


On the prime you’ll be able to clearly see the ability provide part with the enter (blackjack, prime left of the board), the place you’ll be able to apply a voltage from 7V DC to 12V DC, linked first to a 5V voltage regulator after which to a 3.3V voltage regulator. These two voltage regulators present the 2 respective voltages to the whole board.

Observe that since a number of gadgets might be linked to the board and the ability consumption might be fairly excessive, the next limitations should be utilized, in any other case some elements could also be broken.

  1. Do not energy the “PRO midi 1284P Developer’s Board” by means of the USB <-> serial adapter current on the “PRO midi 1284P”, however solely by means of the black Jack. Because of this, in the event you use Arduino IDE to program the MCU and also you interface by way of serial with an adapter, it’s essential to join all pins, besides the +Vcc pin (so it’s essential to join: GND, TX, RX and RST/DTR, however not +Vcc).
  2. Restrict the complete absorption (+5V along with +3.3V) to a most of 1,000 mA. Increased absorptions might trigger the 5V regulator to overheat, leading to doable injury.
  3. The facility provide coming to the MCU is +5V, so all direct I/Os of the Atmega1284P might be with that voltage. There are already some connectors on the board which have stage translators from 5V to three.3V (for instance for the I²C pins).

Slightly below the ability provide part, on the left facet, you’ll be able to see two MOSFETs (Q1 and Q2) which have the duty to behave as stage shifters, between +5V and +3,3V, for the indicators going to the I²C bus and to some connectors already ready for a particular use, such because the one to attach a breadboard with a BMP180 sensor (temperature, humidity and atmospheric stress) or these to attach a 0.96″ OLED show (there are two variations of the 0.96″ OLED show and one has the ability pins reversed in comparison with the opposite, so you must be very cautious during which connector to insert the show).

One other connector permits the connection of different I²C gadgets working at 3.3V, the truth is, it makes accessible the GND pin, the +3.3V pin and the 2 SCL and SDA pins linked to the extent shifter MOSFETs.

Observe that pull-up resistors for the I²C bus are already current on the board and are linked to the SDA and SCL pins of the MCU (pins 16 and 17 of the “PRO midi 1284P” board).

Persevering with downwards, at all times on the left facet of the diagram, we discover another connectors. Two of them enable the connection of I²C gadgets working at 5V, whereas the final one on the backside is ready for the insertion of a breadboard with the RTC DS3231 module.

Within the heart of the diagram, there’s the MCU (ATmega1284P microcontroller) that’s mounted on the PRO midi 1284P board and that should be inserted within the area reserved for it on the PRO midi 1284P Developer’s Board.

Persevering with to look at the diagram of the board, on the precise facet of the MCU, continuing from prime to backside, we discover a connector marked NEOPIXELon which connector there are the ability provides, +5V and GND, in addition to pin D0 for use for connecting a strip of LEDs WS2812 or related, referred to as NeoPixel.

There may be additionally a connector labeled ANALOG that makes accessible the analogue inputs A1, A2 and A3 in addition to offering +5V and GND; this can be utilized to attach sensors that present an analogue sign output between 0V and +5V.

Within the wiring diagram we’ve, then, a connector marked APA102; it makes accessible the ability provide line (+5V and GND), in addition to the 2 pins D7 and D5 that can be utilized to regulate a strip of LEDs APA102 each with the administration completely software program of the 2 mandatory indicators (Clock and Knowledge) , and delegating this administration to the SPI library with which these LEDs are managed at excessive velocity.

Let’s proceed with the evaluation arriving at trimmer R5, linked on one facet to +5V and on the opposite to GND, with the cursor linked to analogue enter A0. This trimmer can be utilized to be taught the operation of an analogue port, the truth is, once you rotate the slider from proper to left, the worth returned by the perform analogRead(A0) of Arduino, will fluctuate from 0 to 1023 in a proportional method to the worth of voltage current on that pin A0.

A connector marked “SPI” that makes accessible the MOSI (D5), SCK (D7), MISO (D6) and SS (D4) pins, along with the standard +5V and GND, to attach objects that discuss to the microcontroller by means of the SPI bus. If you don’t use the SPI bus, a few of these pins can be utilized with the “Servo” library to drive servomotors. Within the latter case, we advocate that you just seek the advice of Desk 1which reveals the correspondence between the interior timers and their contacts on the board.

Desk 1

The circuit has two pushbuttons named P1 and P2, full with R/C debouncing community, linked respectively to digital inputs D15 and D14; for his or her use needless to say these buttons are near the bottom (LOW worth of Arduino). As a way to use them, they should be outlined in this system as inputs with an lively pull-up resistor, or, utilizing the Arduino syntax, it’s essential to make the: pinMode(pin, INPUT_PULLUP) in order that, when the button will not be pressed , the enter could have a excessive worth (HIGH), whereas when the button is pressed, it’s going to have a low worth (LOW).

Slightly below these buttons, within the diagram, we discover the JTAG connector. The use or not of such connector is a perform of the event surroundings that’s supposed to make use of.

For many who will work in a pure Arduino surroundings, with using the IDE and programming by way of serial port, by means of using the exterior converter USB <-> Serial, and the “bootloader” current within the “PRO midi 1284P”, this JTAG connector will serve solely to have accessible pins D18, D19, D20 and D21 along with the RESET pin and energy provide, +5V and GND.

For many who will work within the MPLAB X surroundings of Microchip, this JTAG connector will make accessible all of the indicators for using a programmer/debugger as SNAP, that’s, along with the ability provide +5V and GND, additionally the indicators of TCK, TDI, TMS and RESET. Observe that the connector on the board is straight connectable to the aforementioned SNAP programmer, with a straight 7-conductor cable for the reason that pin place is similar because the programmer connector.

Lastly, on the backside of the circuit beneath the JTAG connector, we discover 4 light-emitting diodes, recognized by the initials LD1, LD2, LD3 and LD4. As talked about earlier, solely the 2 LEDs LD3 and LD4 might be soldered on the board, whereas the remaining two LEDs, LD1 and LD2, might be equipped unsoldered. Will probably be as much as the end-user to decide on whether or not to depart solely two LEDs on the board or to mount all 4, relying on whether or not or not the JTAG programmer/debugger is used. As a way to facilitate low-level programming, we present in Desk 2 the correspondence of among the pins used within the PRO midi 1284P Developer’s Board.

Desk 2


Fig. 2 reveals the association of the described connectors. The serigraphy on the board clearly signifies the that means of every single pin. As it’s clear from the supply of connectors each generic (SPI, I÷C, ANALOG, and so on.) and particular (OLED Show, RTC DS3231, BMP180 module, and so on.) the PRO midi 1284P Developer’s Board permits to make use of of all of the assets of the Atmega1284P and to be taught the use and programming of them permitting the experimentation on using varied further {hardware} elements.

Fig. 2

Fig. 3 reveals the event board with the PRO midi 1284 and an RTC module put in; as an alternative in Fig. 4 you see the board utilized to an Arduino Mega (by advantage of the presence of the strips on the underside, which match the Arduino Mega headers), simply to provide you an thought of ​​the flexibility of the event system that it kinds with the ProMidi 1284P .

Fig. 3

Fig. 4

Checklist of Parts:

R1, R2, R3, R4: 4.7 Kohm

R5: Trimmer 10 Kohm MV

R6, R7: 1kohm

R8, R9, R10, R11, R12: 470 ohms

C1, C7, C9: 100 F 35 VL Electrolytic

C2, C5, C6, C8: 100 nF Ceramic

C3, C4: 100 nF 100 VL polyester

LD1: 5mm LED inexperienced (see textual content)

LD2 LED 5 mm yellow (see textual content)

LD3 LED 5 mm crimson

LD4 LED 5mm inexperienced

P1, P2: Microswitch

Q1, Q2: BS170

BMP180: BMP180 module

OLED1: 0.96″ I2C . OLED show

LCD: I2C LCD show

DS3231: DS3231 RTC Module

SERVO: 6V . Servomotor




U1: 7805

U2: MCP1702-3302E/TO


– 3-way feminine strip (1 laptop.)

– 4 methods feminine strips (7 pcs.)

– 5 methods feminine strip (1 laptop.)

– 6 methods feminine strips (2 pcs.)

– 7 methods feminine strip (1 laptop.)

– 20 methods feminine strip (2 pcs)

– 8 methods Arduino strips (5 pcs.)

– 10 methods Arduino strips (1 laptop.)

– Arduino strips 2×18 methods (1 laptop.)

– Energy provide plug

– PCB S1393 (102×73 mm)


Professional Midi 1284P

PRO midi 1284P Developer’s Board

1.3 inch OLED show

Breakout with DS3231 & EEPROM


By Piszz